Merge branch 'develop' into NiceDev

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-01-10 18:00:48 +07:00
commit e9fc98bcd0
23 changed files with 117 additions and 47 deletions

View file

@ -121,11 +121,11 @@ function onValidate() {
props.onSubmit(formData)
}
}
/**
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function fetchCheck() {
await http
@ -139,8 +139,10 @@ async function fetchCheck() {
isLeave.value = data.isLeave
if (data.isLeave === true) {
formDataSick.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -306,7 +308,7 @@ onMounted(() => {
:class="inputEdit(isReadOnly)"
:model-value="formDataSick.leaveEndDate != null ? date2Thai(formDataSick.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -393,18 +395,15 @@ onMounted(() => {
<q-icon name="attach_file" color="primary" />
</template>
</q-file>
<div class="col-12" v-if="leaveDocumentList">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</div>
</div>
<div class="col-12" v-if="data">
<div class="col-12 col-md-12 col-sm-12">
<q-card bordered>
<q-card bordered flat>
<!-- <div class="col-12">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ{{ leaveDocumentList }} </q-card>
</div> -->
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -418,6 +417,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

@ -107,6 +107,7 @@ function onValidate() {
}
}
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
/**
* check าลาไดไหม จาก api
* @param formData
@ -124,8 +125,10 @@ async function fetchCheck() {
isLeave.value = data.isLeave
if (data.isLeave === true) {
formDataBirth.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataBirth.leaveLast = data.sumDateWork
} else {
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
fails($q, "ไม่สามารถลาได้")
}
})
@ -247,7 +250,7 @@ onMounted(() => {
class="full-width datepicker"
:model-value="formDataBirth.leaveEndDate != null ? date2Thai(formDataBirth.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -368,7 +371,7 @@ onMounted(() => {
<div class="q-pl-sm text-weight-bold text-dark">เอกสารเพมเต</div>
</div> -->
<q-card bordered flat class="full-width">
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -382,6 +385,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
<div class="col-12 col-sm-6 row" v-if="!edit">

View file

@ -125,6 +125,7 @@ function updateLeaveTotal() {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function fetchCheck() {
await http
@ -138,9 +139,11 @@ async function fetchCheck() {
isLeave.value = data.isLeave
if (data.isLeave === true) {
formDataHelpWife.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataHelpWife.leaveLast = data.totalDate
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -263,7 +266,7 @@ onMounted(() => {
class="full-width datepicker"
:model-value="formDataHelpWife.leaveEndDate != null ? date2Thai(formDataHelpWife.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -409,7 +412,7 @@ onMounted(() => {
<!-- <div class="col-12">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ{{ leaveDocumentList }} </q-card>
</div> -->
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -423,6 +426,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

@ -119,6 +119,7 @@ function onValidate() {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function fetchCheck() {
await http
@ -133,8 +134,10 @@ async function fetchCheck() {
if (data.isLeave === true) {
formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataVacation.leaveLast = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -311,7 +314,7 @@ onMounted(() => {
:readonly="isReadOnly"
:model-value="formDataVacation.leaveEndDate != null ? date2Thai(formDataVacation.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -407,7 +410,7 @@ onMounted(() => {
<!-- <div class="col-12">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ{{ leaveDocumentList }} </q-card>
</div> -->
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -421,6 +424,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

@ -131,6 +131,7 @@ function onValidate() {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function fetchCheck() {
await http
@ -145,8 +146,10 @@ async function fetchCheck() {
if (data.isLeave === true) {
// formDataOrdination.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataOrdination.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -276,7 +279,7 @@ onMounted(() => {
:model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -519,7 +522,7 @@ onMounted(() => {
<!-- <div class="col-12">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ{{ leaveDocumentList }} </q-card>
</div> -->
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -533,6 +536,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

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

View file

@ -118,6 +118,7 @@ function onValidate() {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function fetchCheck() {
await http
@ -132,8 +133,10 @@ async function fetchCheck() {
if (data.isLeave === true) {
// formDataMilitary.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataMilitary.leaveTotal = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -261,7 +264,7 @@ onMounted(() => {
class="full-width datepicker"
:model-value="formDataMilitary.leaveEndDate != null ? date2Thai(formDataMilitary.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -406,7 +409,7 @@ onMounted(() => {
<!-- <div class="col-12">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ{{ leaveDocumentList }} </q-card>
</div> -->
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(document, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="row items-baseline">
@ -420,6 +423,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

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

View file

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

View file

@ -128,6 +128,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function FetchCheck() {
await http
@ -142,8 +143,10 @@ async function FetchCheck() {
if (data.isLeave === true) {
formDataWorkInternational.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataWorkInternational.leaveLast = data.totalDate
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -263,7 +266,7 @@ onMounted(() => {
class="full-width datepicker"
:model-value="formDataWorkInternational.leaveEndDate != null ? date2Thai(formDataWorkInternational.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -349,7 +352,7 @@ onMounted(() => {
<div class="q-pl-sm text-weight-bold text-dark">เอกสารเพมเต</div>
</div>
<q-card bordered flat class="full-width">
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(file, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="full-width ellipsis">
@ -359,6 +362,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

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

View file

@ -107,6 +107,7 @@ const fileUploadDoc = async (files: any) => {
* check าลาไดไหม จาก api
* @param formData
*/
const leaveEndDateRules = ref([val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`])
const isLeave = ref<boolean>(true)
async function FetchCheck() {
await http
@ -119,10 +120,12 @@ async function FetchCheck() {
const data = res.data.result
isLeave.value = data.isLeave
if (data.isLeave === true) {
this.leaveEndDateRules = [val => !!val || `${"กรุณาเลือกลาถึงวันที่"}`]
// formDataRehabilitation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataRehabilitation.leaveTotal = data.totalDate
} else {
fails($q, "ไม่สามารถลาได้")
this.leaveEndDateRules = [val => false || `${"ไม่สามารถลาได้"}`]
}
})
.catch((e: any) => {
@ -256,7 +259,7 @@ onMounted(() => {
:readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'"
:model-value="formDataRehabilitation.leaveEndDate != null ? date2Thai(formDataRehabilitation.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
:rules="leaveEndDateRules"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> </q-icon>
@ -316,7 +319,7 @@ onMounted(() => {
<div class="q-pl-sm text-weight-bold text-dark">เอกสารเพมเต</div>
</div>
<q-card bordered flat class="full-width">
<q-list separator>
<q-list separator v-if="leaveDocumentList && leaveDocumentList.length > 0">
<q-item v-for="(file, index) in leaveDocumentList" :key="index" class="q-my-xs">
<q-item-section>
<q-item-label class="full-width ellipsis">
@ -326,6 +329,9 @@ onMounted(() => {
</q-item-section>
</q-item>
</q-list>
<div class="col-12" v-else>
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div>
</q-card>
</div>
</div>

View file

@ -63,7 +63,7 @@ console.log(props)
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -57,7 +57,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '11px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -50,7 +50,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -62,7 +62,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -58,7 +58,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -79,7 +79,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -44,7 +44,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -86,7 +86,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -82,7 +82,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -75,7 +75,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">

View file

@ -44,7 +44,7 @@ const props = defineProps({
<div class="col text-grey-8">เอกสารแนบ</div>
<div class="col">
<div v-if="props.data.leaveDocument && props.data.leaveDocument.length > 0">
<div v-for="(document, index) in props.data.leaveDocument" :key="index">
<div v-for="(document, index) in props.data.leaveDocument" :key="index" :style="{ marginBottom: '10px' }">
<div>
{{ "เอกสารแนบฉบับที่" + (index + 1) }}
<q-btn :href="document" target="_blank" outline color="blue" label="ดาวน์โหลด" size="12px">