สร้างเงื่อนไขรองรับ FetchCheck

This commit is contained in:
AnandaTon 2024-01-10 17:13:27 +07:00
parent eddee77284
commit e62dfb3ce3
12 changed files with 56 additions and 20 deletions

View file

@ -121,11 +121,11 @@ function onValidate() {
props.onSubmit(formData) props.onSubmit(formData)
} }
} }
/** /**
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -139,8 +139,10 @@ async function fetchCheck() {
isLeave.value = data.isLeave isLeave.value = data.isLeave
if (data.isLeave === true) { if (data.isLeave === true) {
formDataSick.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday formDataSick.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -306,7 +308,7 @@ onMounted(() => {
:class="inputEdit(isReadOnly)" :class="inputEdit(isReadOnly)"
:model-value="formDataSick.leaveEndDate != null ? date2Thai(formDataSick.leaveEndDate) : null" :model-value="formDataSick.leaveEndDate != null ? date2Thai(formDataSick.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -107,6 +107,7 @@ function onValidate() {
} }
} }
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
/** /**
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
@ -124,8 +125,10 @@ async function fetchCheck() {
isLeave.value = data.isLeave isLeave.value = data.isLeave
if (data.isLeave === true) { if (data.isLeave === true) {
formDataBirth.leaveTotal = data.totalDate formDataBirth.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataBirth.leaveLast = data.sumDateWork // formDataBirth.leaveLast = data.sumDateWork
} else { } else {
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
} }
}) })
@ -247,7 +250,7 @@ onMounted(() => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataBirth.leaveEndDate != null ? date2Thai(formDataBirth.leaveEndDate) : null" :model-value="formDataBirth.leaveEndDate != null ? date2Thai(formDataBirth.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -125,6 +125,7 @@ function updateLeaveTotal() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -138,9 +139,11 @@ async function fetchCheck() {
isLeave.value = data.isLeave isLeave.value = data.isLeave
if (data.isLeave === true) { if (data.isLeave === true) {
formDataHelpWife.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday formDataHelpWife.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataHelpWife.leaveLast = data.totalDate // formDataHelpWife.leaveLast = data.totalDate
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -263,7 +266,7 @@ onMounted(() => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataHelpWife.leaveEndDate != null ? date2Thai(formDataHelpWife.leaveEndDate) : null" :model-value="formDataHelpWife.leaveEndDate != null ? date2Thai(formDataHelpWife.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -119,6 +119,7 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -133,8 +134,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataVacation.leaveLast = data.totalDate // formDataVacation.leaveLast = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -311,7 +314,7 @@ onMounted(() => {
:readonly="isReadOnly" :readonly="isReadOnly"
:model-value="formDataVacation.leaveEndDate != null ? date2Thai(formDataVacation.leaveEndDate) : null" :model-value="formDataVacation.leaveEndDate != null ? date2Thai(formDataVacation.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -131,6 +131,7 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -145,8 +146,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataOrdination.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataOrdination.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataOrdination.leaveTotal = data.totalDate formDataOrdination.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -276,7 +279,7 @@ onMounted(() => {
:model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null" :model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -102,8 +102,10 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
console.log("check")
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
@ -116,8 +118,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataHaji.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataHaji.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataHaji.leaveTotal = data.totalDate formDataHaji.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -222,7 +226,7 @@ onMounted(() => {
week-start="0" week-start="0"
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
@update:model-value="updateLeaveTotal" @update:model-value="updateLeaveTotal(), fetchCheck()"
:readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataHaji.leaveStartDate" :min-date="formDataHaji.leaveStartDate"
> >
@ -242,9 +246,9 @@ onMounted(() => {
:readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
@update:model-value="fetchCheck()"
:model-value="formDataHaji.leaveEndDate != null ? date2Thai(formDataHaji.leaveEndDate) : null" :model-value="formDataHaji.leaveEndDate != null ? date2Thai(formDataHaji.leaveEndDate) : null"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
@update:model-value="fetchCheck()"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -118,6 +118,7 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -132,8 +133,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataMilitary.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataMilitary.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataMilitary.leaveTotal = data.totalDate formDataMilitary.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -261,7 +264,7 @@ onMounted(() => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataMilitary.leaveEndDate != null ? date2Thai(formDataMilitary.leaveEndDate) : null" :model-value="formDataMilitary.leaveEndDate != null ? date2Thai(formDataMilitary.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -136,6 +136,8 @@ function onValidate() {
* @param formData * @param formData
*/ */
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
async function fetchCheck() { async function fetchCheck() {
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
@ -149,8 +151,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataStudy.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday; // formDataStudy.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday;
formDataStudy.leaveTotal = data.totalDate formDataStudy.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -162,7 +166,6 @@ async function fetchCheck() {
* function พเดทค LeaveTotal * function พเดทค LeaveTotal
*/ */
function updateLeaveTotal() { function updateLeaveTotal() {
fetchCheck()
const newLeaveTotal = calculateDurationYmd(formDataStudy.leaveStartDate, formDataStudy.leaveEndDate) const newLeaveTotal = calculateDurationYmd(formDataStudy.leaveStartDate, formDataStudy.leaveEndDate)
formDataStudy.leaveTotal = newLeaveTotal formDataStudy.leaveTotal = newLeaveTotal
} }
@ -265,7 +268,7 @@ onMounted(async () => {
borderless borderless
week-start="0" week-start="0"
:locale="'th'" :locale="'th'"
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal(), fetchCheck()"
:readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
:min-date="formDataStudy.leaveStartDate" :min-date="formDataStudy.leaveStartDate"
@ -288,7 +291,7 @@ onMounted(async () => {
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'"
:model-value="formDataStudy.leaveEndDate != null ? date2Thai(formDataStudy.leaveEndDate) : null" :model-value="formDataStudy.leaveEndDate != null ? date2Thai(formDataStudy.leaveEndDate) : null"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -133,6 +133,8 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -147,8 +149,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataTrain.leaveTotal = data.totalDate formDataTrain.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -160,7 +164,6 @@ async function fetchCheck() {
* function พเดทค LeaveTotal * function พเดทค LeaveTotal
*/ */
function updateLeaveTotal() { function updateLeaveTotal() {
fetchCheck()
const newLeaveTotal = calculateDurationYmd(formDataTrain.leaveStartDate, formDataTrain.leaveEndDate) const newLeaveTotal = calculateDurationYmd(formDataTrain.leaveStartDate, formDataTrain.leaveEndDate)
formDataTrain.leaveTotal = newLeaveTotal formDataTrain.leaveTotal = newLeaveTotal
} }
@ -267,7 +270,7 @@ onMounted(async () => {
menu-class-name="modalfix" menu-class-name="modalfix"
autoApply autoApply
borderless borderless
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal(), fetchCheck()"
week-start="0" week-start="0"
:readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'"
:locale="'th'" :locale="'th'"
@ -292,7 +295,7 @@ onMounted(async () => {
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'"
:model-value="formDataTrain.leaveEndDate != null ? date2Thai(formDataTrain.leaveEndDate) : null" :model-value="formDataTrain.leaveEndDate != null ? date2Thai(formDataTrain.leaveEndDate) : null"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -128,6 +128,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function FetchCheck() { async function FetchCheck() {
await http await http
@ -142,8 +143,10 @@ async function FetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
formDataWorkInternational.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday formDataWorkInternational.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataWorkInternational.leaveLast = data.totalDate // formDataWorkInternational.leaveLast = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -263,7 +266,7 @@ onMounted(() => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataWorkInternational.leaveEndDate != null ? date2Thai(formDataWorkInternational.leaveEndDate) : null" :model-value="formDataWorkInternational.leaveEndDate != null ? date2Thai(formDataWorkInternational.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -142,6 +142,7 @@ function onValidate() {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function fetchCheck() { async function fetchCheck() {
await http await http
@ -156,8 +157,10 @@ async function fetchCheck() {
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataFollowSpouse.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday; // formDataFollowSpouse.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday;
// formDataFollowSpouse.leaveTotal = data.totalDate; // formDataFollowSpouse.leaveTotal = data.totalDate;
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -286,7 +289,7 @@ onMounted(async () => {
hide-bottom-space hide-bottom-space
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal(), fetchCheck()"
:readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataFollowSpouse.leaveStartDate" :min-date="formDataFollowSpouse.leaveStartDate"
> >
@ -308,7 +311,7 @@ onMounted(async () => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataFollowSpouse.leaveEndDate != null ? date2Thai(formDataFollowSpouse.leaveEndDate) : null" :model-value="formDataFollowSpouse.leaveEndDate != null ? date2Thai(formDataFollowSpouse.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>

View file

@ -107,6 +107,7 @@ const fileUploadDoc = async (files: any) => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true) const isLeave = ref<boolean>(true)
async function FetchCheck() { async function FetchCheck() {
await http await http
@ -119,10 +120,12 @@ async function FetchCheck() {
const data = res.data.result const data = res.data.result
isLeave.value = data.isLeave isLeave.value = data.isLeave
if (data.isLeave === true) { if (data.isLeave === true) {
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataRehabilitation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataRehabilitation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataRehabilitation.leaveTotal = data.totalDate // formDataRehabilitation.leaveTotal = data.totalDate
} else { } else {
fails($q, "ไม่สามารถลาได้") fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
} }
}) })
.catch((e: any) => { .catch((e: any) => {
@ -256,7 +259,7 @@ onMounted(() => {
:readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'" :readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'"
:model-value="formDataRehabilitation.leaveEndDate != null ? date2Thai(formDataRehabilitation.leaveEndDate) : null" :model-value="formDataRehabilitation.leaveEndDate != null ? date2Thai(formDataRehabilitation.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="leaveEndDateRules"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon> <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>