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,8 +152,9 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
if (formDataSick.leaveStartDate && formDataSick.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -182,15 +170,19 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
formDataSick.leaveTotal = formDataSick.leaveTotal =
data.totalDate - data.sumDateWork - data.sumDateHoliday; data.totalDate - data.sumDateWork - data.sumDateHoliday;
totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; // totalCheck.value =
isLeave.value = data.isLeave; // data.totalDate - data.sumDateWork - data.sumDateHoliday;
reasonLeave.value = data.message reasonLeave.value =
data.message != ""
? data.message ? data.message
: "จำนวนวันลาเกินที่กำหนด"; : formDataSick.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataSick.leaveTotal > 0 ? data.isLeave : false;
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); hideLoader();
}) })
.finally(() => { .finally(() => {
@ -198,6 +190,7 @@ async function fetchCheck() {
leaveDocumentRef.value.resetValidation(); leaveDocumentRef.value.resetValidation();
}); });
} }
}
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
const dateEndInputStyle = computed(() => { const dateEndInputStyle = computed(() => {
@ -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,9 +149,23 @@ 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() {
if (formDataBirth.leaveStartDate && formDataBirth.leaveEndDate) {
showLoader(); showLoader();
const checkDate = computed(() => {
if (
convertDateToAPI(formDataBirth.leaveEndDate) ==
convertDateToAPI(formDataBirth.leaveStartDate)
) {
return true;
} else {
return false;
}
});
// console.log("checkDate.value", checkDate.value);
// console.log("formDataBirth.leaveRangeEnd", formDataBirth.leaveRangeEnd);
// console.log("formDataBirth.leaveRange", formDataBirth.leaveRange);
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
@ -165,19 +179,23 @@ async function fetchCheck() {
.then((res: any) => { .then((res: any) => {
hideLoader(); hideLoader();
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave;
formDataBirth.leaveTotal = data.totalDate; formDataBirth.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
reasonLeave.value = data.message reasonLeave.value =
data.message != ""
? data.message ? data.message
: "จำนวนวันลาเกินที่กำหนด"; : formDataBirth.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataBirth.leaveTotal > 0 ? data.isLeave : false;
}) })
.catch((e: any) => { .catch((e: any) => {
hideLoader(); hideLoader();
totalCheck.value = null // totalCheck.value = null;
messageError($q, e); messageError($q, e);
}); });
} }
}
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
const dateEndInputStyle = computed(() => { const dateEndInputStyle = computed(() => {
@ -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,13 +165,15 @@ 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() {
if (formDataHelpWife.leaveStartDate && formDataHelpWife.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
StartLeaveDate: convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null, StartLeaveDate:
convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null, EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null,
leaveRange: formDataHelpWife.leaveRange, leaveRange: formDataHelpWife.leaveRange,
leaveRangeEnd: checkDate.value leaveRangeEnd: checkDate.value
@ -180,27 +182,32 @@ async function fetchCheck() {
}) })
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave;
formDataHelpWife.leaveTotal = formDataHelpWife.leaveTotal =
data.totalDate - data.sumDateWork - data.sumDateHoliday; data.totalDate - data.sumDateWork - data.sumDateHoliday;
totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; // totalCheck.value =
reasonLeave.value = data.message // data.totalDate - data.sumDateWork - data.sumDateHoliday;
reasonLeave.value =
data.message != ""
? data.message ? data.message
: "จำนวนวันลาเกินที่กำหนด"; : formDataHelpWife.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataHelpWife.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); 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,13 +164,15 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
if (formDataVacation.leaveStartDate && formDataVacation.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
StartLeaveDate: convertDateToAPI(formDataVacation.leaveStartDate) ?? null, StartLeaveDate:
convertDateToAPI(formDataVacation.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null, EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null,
leaveRange: formDataVacation.leaveRange, leaveRange: formDataVacation.leaveRange,
leaveRangeEnd: checkDate.value leaveRangeEnd: checkDate.value
@ -179,38 +181,31 @@ async function fetchCheck() {
}) })
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; formDataVacation.leaveTotal =
formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday; data.totalDate - data.sumDateWork - data.sumDateHoliday;
totalCheck.value = 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
: "จำนวนวันลาเกินที่กำหนด"; : formDataVacation.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataVacation.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); 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,8 +182,9 @@ 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() {
if (formDataOrdination.leaveStartDate && formDataOrdination.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -198,20 +199,25 @@ async function fetchCheck() {
}) })
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave;
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
: "จำนวนวันลาเกินที่กำหนด"; : formDataOrdination.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value =
formDataOrdination.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); hideLoader();
}); });
} }
}
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
const dateEndInputStyle = computed(() => { const dateEndInputStyle = computed(() => {
@ -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,8 +144,9 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
if (formDataHaji.leaveStartDate && formDataHaji.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -159,24 +160,29 @@ async function fetchCheck() {
}) })
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; // isLeave.value = data.isLeave;
formDataHaji.leaveTotal = data.totalDate; formDataHaji.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataHaji.leaveStartDate), convertDateToAPI(formDataHaji.leaveStartDate),
convertDateToAPI(formDataHaji.leaveEndDate) convertDateToAPI(formDataHaji.leaveEndDate)
); );
reasonLeave.value = data.message reasonLeave.value =
data.message != ""
? data.message ? data.message
: "จำนวนวันลาเกินที่กำหนด"; : formDataHaji.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataHaji.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); hideLoader();
}); });
} }
}
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
const dateEndInputStyle = computed(() => { const dateEndInputStyle = computed(() => {
@ -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,13 +167,15 @@ 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() {
if (formDataMilitary.leaveStartDate && formDataMilitary.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
StartLeaveDate: convertDateToAPI(formDataMilitary.leaveStartDate) ?? null, StartLeaveDate:
convertDateToAPI(formDataMilitary.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null, EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null,
leaveRange: formDataMilitary.leaveRange, leaveRange: formDataMilitary.leaveRange,
leaveRangeEnd: checkDate.value leaveRangeEnd: checkDate.value
@ -184,37 +186,38 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataMilitary.leaveTotal = data.totalDate; formDataMilitary.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataMilitary.leaveStartDate), convertDateToAPI(formDataMilitary.leaveStartDate),
convertDateToAPI(formDataMilitary.leaveEndDate) convertDateToAPI(formDataMilitary.leaveEndDate)
); );
reasonLeave.value = data.message reasonLeave.value =
? data.message data.message != "" ? data.message : "จำนวนวันลาเกินที่กำหนด";
: "จำนวนวันลาเกินที่กำหนด";
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null
hideLoader(); hideLoader();
}); });
} }
/**
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
const newLeaveTotal = calculateDurationYmd(
formDataMilitary.leaveStartDate,
formDataMilitary.leaveEndDate
);
formDataMilitary.leaveTotal = newLeaveTotal;
} }
// /**
// * function LeaveTotal
// */
// function updateLeaveTotal() {
// const newLeaveTotal = calculateDurationYmd(
// formDataMilitary.leaveStartDate,
// formDataMilitary.leaveEndDate
// );
// 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,8 +182,9 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
if (formDataStudy.leaveStartDate && formDataStudy.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -199,7 +200,7 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataStudy.leaveTotal = data.totalDate; formDataStudy.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataStudy.leaveStartDate), convertDateToAPI(formDataStudy.leaveStartDate),
convertDateToAPI(formDataStudy.leaveEndDate) convertDateToAPI(formDataStudy.leaveEndDate)
@ -211,26 +212,27 @@ async function fetchCheck() {
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null;
hideLoader(); hideLoader();
}); });
} }
/**
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
const newLeaveTotal = calculateDurationYmd(
formDataStudy.leaveStartDate,
formDataStudy.leaveEndDate
);
formDataStudy.leaveTotal = newLeaveTotal;
} }
// /**
// * function LeaveTotal
// */
// function updateLeaveTotal() {
// const newLeaveTotal = calculateDurationYmd(
// formDataStudy.leaveStartDate,
// formDataStudy.leaveEndDate
// );
// 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,8 +167,9 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
if (formDataTrain.leaveStartDate && formDataTrain.leaveEndDate) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -184,7 +185,7 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataTrain.leaveTotal = data.totalDate; formDataTrain.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataTrain.leaveStartDate), convertDateToAPI(formDataTrain.leaveStartDate),
convertDateToAPI(formDataTrain.leaveEndDate) convertDateToAPI(formDataTrain.leaveEndDate)
@ -195,11 +196,12 @@ async function fetchCheck() {
hideLoader(); hideLoader();
}) })
.catch((e: any) => { .catch((e: any) => {
totalCheck.value = null // totalCheck.value = null;
messageError($q, e); messageError($q, e);
hideLoader(); hideLoader();
}); });
} }
}
/** /**
* function พเดทค LeaveTotal * function พเดทค LeaveTotal
@ -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,8 +171,12 @@ 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() {
if (
formDataWorkInternational.leaveStartDate &&
formDataWorkInternational.leaveEndDate
) {
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
@ -189,7 +193,7 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataWorkInternational.leaveTotal = data.totalDate; formDataWorkInternational.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataWorkInternational.leaveStartDate), convertDateToAPI(formDataWorkInternational.leaveStartDate),
convertDateToAPI(formDataWorkInternational.leaveEndDate) convertDateToAPI(formDataWorkInternational.leaveEndDate)
@ -199,10 +203,11 @@ async function fetchCheck() {
: "จำนวนวันลาเกินที่กำหนด"; : "จำนวนวันลาเกินที่กำหนด";
}) })
.catch((e: any) => { .catch((e: any) => {
totalCheck.value = null // totalCheck.value = null;
messageError($q, e); messageError($q, e);
}); });
} }
}
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
const dateEndInputStyle = computed(() => { const dateEndInputStyle = computed(() => {
@ -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,15 +209,20 @@ 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() {
if (
formDataFollowSpouse.leaveStartDate &&
formDataFollowSpouse.leaveEndDate
) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
StartLeaveDate: StartLeaveDate:
convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null, convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null, EndLeaveDate:
convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null,
leaveRange: formDataFollowSpouse.leaveRange, leaveRange: formDataFollowSpouse.leaveRange,
leaveRangeEnd: checkDate.value leaveRangeEnd: checkDate.value
? formDataFollowSpouse.leaveRange ? formDataFollowSpouse.leaveRange
@ -227,7 +232,7 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataFollowSpouse.leaveTotal = data.totalDate; formDataFollowSpouse.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataFollowSpouse.leaveStartDate), convertDateToAPI(formDataFollowSpouse.leaveStartDate),
convertDateToAPI(formDataFollowSpouse.leaveEndDate) convertDateToAPI(formDataFollowSpouse.leaveEndDate)
@ -240,22 +245,10 @@ async function fetchCheck() {
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null
hideLoader(); hideLoader();
}); });
} }
/**
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
fetchCheck();
const newLeaveTotal = calculateDurationYmd(
formDataFollowSpouse.leaveStartDate,
formDataFollowSpouse.leaveEndDate
);
formDataFollowSpouse.leaveTotal = newLeaveTotal;
} }
/** /**
@ -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,8 +129,12 @@ 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() {
if (
formDataRehabilitation.leaveStartDate &&
formDataRehabilitation.leaveEndDate
) {
showLoader(); showLoader();
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -148,7 +152,7 @@ async function fetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
formDataRehabilitation.leaveTotal = data.totalDate; formDataRehabilitation.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd( leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataRehabilitation.leaveStartDate), convertDateToAPI(formDataRehabilitation.leaveStartDate),
convertDateToAPI(formDataRehabilitation.leaveEndDate) convertDateToAPI(formDataRehabilitation.leaveEndDate)
@ -160,12 +164,13 @@ async function fetchCheck() {
}) })
.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
async function onClickDownloadFile(id: string, fileName: string) { async function onClickDownloadFile(id: string, fileName: string) {
@ -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,