readOnly เมื่อ Status = New
This commit is contained in:
parent
4dc852d180
commit
16b6fedcb8
12 changed files with 305 additions and 156 deletions
|
|
@ -175,6 +175,7 @@ function resetEndDate(type: string) {
|
|||
}
|
||||
}
|
||||
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -187,6 +188,12 @@ onMounted(() => {
|
|||
formDataSick.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
formDataSick.leaveAddress = props.data.leaveAddress
|
||||
statusCheck.value = props.data.status
|
||||
console.log(leaveDocumentList.value.length)
|
||||
console.log(statusCheck.value != "NEW")
|
||||
} else {
|
||||
statusCheck.value = "START"
|
||||
console.log(statusCheck.value != "NEW")
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -210,14 +217,21 @@ onMounted(() => {
|
|||
outlined
|
||||
v-model="formDataSick.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
<div class="col-12 col-md-4 col-sm-12">
|
||||
<q-radio v-model="formDataSick.leaveRange" val="ALL" label="ลาทั้งวัน" checked-icon="task_alt" />
|
||||
<q-radio v-model="formDataSick.leaveRange" val="MORNING" label="ลาครึ่งวันเช้า" checked-icon="task_alt" @update:model-value="resetDate" />
|
||||
<q-radio v-model="formDataSick.leaveRange" val="AFTERNOON" label="ลาครึ่งวันบ่าย" checked-icon="task_alt" @update:model-value="resetDate" />
|
||||
<q-radio v-model="formDataSick.leaveRange" :disable="!edit || statusCheck === 'NEW'" val="ALL" label="ลาทั้งวัน" checked-icon="task_alt" />
|
||||
<q-radio v-model="formDataSick.leaveRange" :disable="!edit || statusCheck === 'NEW'" val="MORNING" label="ลาครึ่งวันเช้า" checked-icon="task_alt" @update:model-value="resetDate" />
|
||||
<q-radio
|
||||
v-model="formDataSick.leaveRange"
|
||||
:disable="!edit || statusCheck === 'NEW'"
|
||||
val="AFTERNOON"
|
||||
label="ลาครึ่งวันบ่าย"
|
||||
checked-icon="task_alt"
|
||||
@update:model-value="resetDate"
|
||||
/>
|
||||
</div>
|
||||
<div class="full-width">
|
||||
<div class="q-col-gutter-sm row">
|
||||
|
|
@ -230,7 +244,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataSick.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -246,7 +260,7 @@ onMounted(() => {
|
|||
ref="leaveStartDateRef"
|
||||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
bg-color="white"
|
||||
class="full-width cursor-pointer inputgreen"
|
||||
:model-value="formDataSick.leaveStartDate != null ? date2Thai(formDataSick.leaveStartDate) : null"
|
||||
|
|
@ -340,7 +354,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
unmasked-value
|
||||
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -352,7 +366,7 @@ onMounted(() => {
|
|||
for="leaveAddressRef"
|
||||
v-model="formDataSick.leaveAddress"
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
|
|
@ -368,10 +382,10 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataSick.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
bg-color="white"
|
||||
/>
|
||||
<div class="full-width">
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file for="leaveDocumentRef" v-model="formDataSick.leaveDocument" dense label="เอกสารประกอบ" outlined use-chips multiple bg-color="white" class="col-12 q-pl-sm col-12">
|
||||
|
|
@ -379,9 +393,9 @@ onMounted(() => {
|
|||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<!-- <div class="col-12" v-if="formDataSick.leaveDocument.length == 0 && !data">
|
||||
<div class="col-12" v-if="leaveDocumentList">
|
||||
<q-card class="q-pa-md" bordered> ไม่มีรายการเอกสารประกอบ </q-card>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12" v-if="data">
|
||||
|
|
@ -435,7 +449,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ async function fetchCheck() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -147,6 +147,7 @@ onMounted(() => {
|
|||
formDataBirth.leaveAddress = props.data.leaveAddress
|
||||
formDataBirth.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -170,7 +171,7 @@ onMounted(() => {
|
|||
label="เขียนที่"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -184,7 +185,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataBirth.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -201,7 +202,7 @@ onMounted(() => {
|
|||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataBirth.leaveStartDate != null ? date2Thai(formDataBirth.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -292,7 +293,7 @@ onMounted(() => {
|
|||
mask="(###)-###-####"
|
||||
unmasked-value
|
||||
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -306,7 +307,7 @@ onMounted(() => {
|
|||
for="leaveAddressRef"
|
||||
v-model="formDataBirth.leaveAddress"
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -321,27 +322,30 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataBirth.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
for="leaveDocumentRef"
|
||||
hide-bottom-space
|
||||
v-model="formDataBirth.leaveDocument"
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
bg-color="white"
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
multiple
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
for="leaveDocumentRef"
|
||||
hide-bottom-space
|
||||
v-model="formDataBirth.leaveDocument"
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
bg-color="white"
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
multiple
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12" v-if="formDataBirth.leaveDocument.length == 0">
|
||||
<q-card class="q-pa-md" bordered> ไม่มีรายการเอกสารประกอบ </q-card>
|
||||
</div> -->
|
||||
|
|
@ -407,7 +411,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ async function fetchCheck() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -163,7 +164,7 @@ onMounted(() => {
|
|||
formDataHelpWife.leaveAddress = props.data.leaveAddress
|
||||
formDataHelpWife.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
|
||||
statusCheck.value = props.data.status
|
||||
// formDataHelpWife.leaveDocument = props.data.leaveDocument;
|
||||
}
|
||||
})
|
||||
|
|
@ -187,7 +188,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
v-model="formDataHelpWife.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
<datepicker
|
||||
|
|
@ -200,7 +201,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataHelpWife.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -217,7 +218,7 @@ onMounted(() => {
|
|||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataHelpWife.leaveStartDate != null ? date2Thai(formDataHelpWife.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -293,7 +294,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
v-model="formDataHelpWife.wifeDayName"
|
||||
label="ชื่อภรรยา"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'ชื่อภรรยา'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -308,7 +309,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
|
|
@ -324,7 +325,7 @@ onMounted(() => {
|
|||
for="wifeDayDateBornRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataHelpWife.wifeDayDateBorn != null ? date2Thai(formDataHelpWife.wifeDayDateBorn) : null"
|
||||
:label="`${'วันที่คลอด'}`"
|
||||
|
|
@ -350,7 +351,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
bg-color="white"
|
||||
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -364,7 +365,7 @@ onMounted(() => {
|
|||
for="leaveAddressRef"
|
||||
v-model="formDataHelpWife.leaveAddress"
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -380,15 +381,28 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataHelpWife.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
|
||||
<!-- multiple -->
|
||||
<q-file bg-color="white" ref="leaveDocumentRef" v-model="formDataHelpWife.leaveDocument" @added="fileUploadDoc" dense label="เอกสารประกอบ" outlined use-chips class="q-pl-sm col-12">
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
bg-color="white"
|
||||
ref="leaveDocumentRef"
|
||||
v-model="formDataHelpWife.leaveDocument"
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12" v-if="data">
|
||||
<div class="col-12 col-md-12 col-sm-12">
|
||||
<q-card bordered>
|
||||
|
|
@ -455,7 +469,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ const isReadOnly = computed(() => {
|
|||
})
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -180,6 +181,7 @@ onMounted(() => {
|
|||
formDataVacation.leaveAddress = props.data.leaveAddress
|
||||
formDataVacation.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
// formDataVacation.leaveDocument = props.data.leaveDocument;
|
||||
}
|
||||
})
|
||||
|
|
@ -203,7 +205,7 @@ onMounted(() => {
|
|||
outlined
|
||||
v-model="formDataVacation.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
<div class="col-12 col-md-4 col-sm-6">
|
||||
|
|
@ -247,7 +249,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataVacation.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -264,7 +266,7 @@ onMounted(() => {
|
|||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataVacation.leaveStartDate != null ? date2Thai(formDataVacation.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -343,7 +345,7 @@ onMounted(() => {
|
|||
mask="(###)-###-####"
|
||||
unmasked-value
|
||||
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -357,7 +359,7 @@ onMounted(() => {
|
|||
for="leaveAddressRef"
|
||||
v-model="formDataVacation.leaveAddress"
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -373,9 +375,9 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataVacation.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
<div class="full-width">
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
|
|
@ -448,7 +450,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@ function updateLeaveTotal() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -179,6 +180,7 @@ onMounted(() => {
|
|||
formDataOrdination.ordainDayStatus = props.data.ordainDayStatus
|
||||
formDataOrdination.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
// formDataOrdination.leaveDocument = props.data.leaveDocument;
|
||||
}
|
||||
})
|
||||
|
|
@ -202,6 +204,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
v-model="formDataOrdination.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -214,6 +217,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataOrdination.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -226,6 +230,7 @@ onMounted(() => {
|
|||
<q-input
|
||||
outlined
|
||||
bg-color="white"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
dense
|
||||
ref="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
|
|
@ -249,7 +254,7 @@ onMounted(() => {
|
|||
autoApply
|
||||
borderless
|
||||
@update:model-value="updateLeaveTotal, fetchCheck()"
|
||||
:readonly="!formDataOrdination.leaveStartDate"
|
||||
:readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataOrdination.leaveStartDate"
|
||||
week-start="0"
|
||||
|
|
@ -270,7 +275,7 @@ onMounted(() => {
|
|||
class="full-width datepicker"
|
||||
:model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null"
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
:readonly="!formDataOrdination.leaveStartDate"
|
||||
:readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -369,8 +374,8 @@ onMounted(() => {
|
|||
|
||||
<div class="q-pl-sm text-weight-bold text-dark col-12">เคยบวชหรือไม่</div>
|
||||
<div class="col-12">
|
||||
<q-radio v-model="formDataOrdination.ordainDayStatus" :val="true" label="เคยบวช" checked-icon="task_alt " hide-bottom-space />
|
||||
<q-radio v-model="formDataOrdination.ordainDayStatus" :val="false" label="ไม่เคยบวช" checked-icon="task_alt" hide-bottom-space />
|
||||
<q-radio v-model="formDataOrdination.ordainDayStatus" :disable="!edit || statusCheck === 'NEW'" :val="true" label="เคยบวช" checked-icon="task_alt " hide-bottom-space />
|
||||
<q-radio v-model="formDataOrdination.ordainDayStatus" :disable="!edit || statusCheck === 'NEW'" :val="false" label="ไม่เคยบวช" checked-icon="task_alt" hide-bottom-space />
|
||||
</div>
|
||||
|
||||
<div class="text-weight-bold text-dark col-12">สถานที่บวช</div>
|
||||
|
|
@ -382,6 +387,7 @@ onMounted(() => {
|
|||
autoApply
|
||||
full-width
|
||||
borderless
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
|
|
@ -399,6 +405,7 @@ onMounted(() => {
|
|||
dense
|
||||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataOrdination.ordainDayOrdination != null ? date2Thai(formDataOrdination.ordainDayOrdination) : null"
|
||||
:label="`${'วันอุปสมบท'}`"
|
||||
|
|
@ -419,6 +426,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
outlined
|
||||
full-width
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
v-model="formDataOrdination.ordainDayLocationName"
|
||||
label="ชื่อวัด"
|
||||
:rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]"
|
||||
|
|
@ -434,6 +442,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
mask="(###)-###-####"
|
||||
unmasked-value
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
label="หมายเลขโทรศัพท์"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์'}`]"
|
||||
|
|
@ -447,6 +456,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
v-model="formDataOrdination.ordainDayLocationAddress"
|
||||
label="ที่อยู่"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]"
|
||||
type="textarea"
|
||||
/>
|
||||
|
|
@ -459,6 +469,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
hide-bottom-space
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
v-model="formDataOrdination.ordainDayBuddhistLentName"
|
||||
label="ชื่อวัด"
|
||||
:rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]"
|
||||
|
|
@ -470,6 +481,7 @@ onMounted(() => {
|
|||
ref="ordainDayBuddhistLentAddressRef"
|
||||
bg-color="white"
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
v-model="formDataOrdination.ordainDayBuddhistLentAddress"
|
||||
label="ที่อยู่"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]"
|
||||
|
|
@ -486,9 +498,9 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataOrdination.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
<div class="full-width col-12">
|
||||
<div class="full-width col-12" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file ref="leaveDocumentRef" v-model="formDataOrdination.leaveDocument" @added="fileUploadDoc" dense label="เอกสารประกอบ" multiple outlined bg-color="white" use-chips>
|
||||
|
|
@ -552,7 +564,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ function updateLeaveTotal() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -145,6 +146,7 @@ onMounted(() => {
|
|||
formDataHaji.hajjDayStatus = props.data.hajjDayStatus
|
||||
formDataHaji.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
// formDataHaji.leaveDocument = props.data.leaveDocument;
|
||||
}
|
||||
})
|
||||
|
|
@ -167,6 +169,7 @@ onMounted(() => {
|
|||
outlined
|
||||
label="เขียนที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -181,6 +184,7 @@ onMounted(() => {
|
|||
week-start="0"
|
||||
:enableTimePicker="false"
|
||||
:locale="'th'"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataHaji.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -198,6 +202,7 @@ onMounted(() => {
|
|||
dense
|
||||
hide-bottom-space
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
|
||||
:model-value="formDataHaji.leaveStartDate != null ? date2Thai(formDataHaji.leaveStartDate) : null"
|
||||
>
|
||||
|
|
@ -218,7 +223,7 @@ onMounted(() => {
|
|||
:enableTimePicker="false"
|
||||
:locale="'th'"
|
||||
@update:model-value="updateLeaveTotal"
|
||||
:readonly="!formDataHaji.leaveStartDate"
|
||||
:readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
|
||||
:min-date="formDataHaji.leaveStartDate"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -234,7 +239,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
outlined
|
||||
dense
|
||||
:readonly="!formDataHaji.leaveStartDate"
|
||||
:readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
@update:model-value="fetchCheck()"
|
||||
|
|
@ -291,12 +296,21 @@ onMounted(() => {
|
|||
|
||||
<div class="q-pl-sm text-weight-bold text-dark col-12">เคยไปประกอบพิธีฮัจญ์หรือไม่</div>
|
||||
<div class="col-12">
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" :val="'true'" checked-icon="task_alt" label="เคย" />
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" :val="'false'" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจญ์" />
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" :disable="statusCheck === 'NEW'" :val="true" checked-icon="task_alt" label="เคย" />
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" :disable="statusCheck === 'NEW'" :val="false" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจญ์" />
|
||||
</div>
|
||||
|
||||
<q-input v-model="formDataHaji.leaveDetail" class="col-12 q-mt-sm cursor-pointer inputgreen" bg-color="white" dense outlined type="textarea" label="รายละเอียด" />
|
||||
<div class="full-width">
|
||||
<q-input
|
||||
v-model="formDataHaji.leaveDetail"
|
||||
class="col-12 q-mt-sm cursor-pointer inputgreen"
|
||||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
type="textarea"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file v-model="formDataHaji.leaveDocument" multiple bg-color="white" label="เอกสารประกอบ" use-chips @added="fileUploadDoc" dense outlined hide-bottom-space>
|
||||
|
|
@ -358,7 +372,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ function updateLeaveTotal() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -165,6 +166,7 @@ onMounted(() => {
|
|||
formDataMilitary.absentDayAt = props.data.absentDayAt
|
||||
formDataMilitary.leaveDetail = props.data.leaveDetail
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
// formDataMilitary.leaveDocument = props.data.leaveDocument;
|
||||
}
|
||||
})
|
||||
|
|
@ -187,6 +189,7 @@ onMounted(() => {
|
|||
hide-bottom-space
|
||||
v-model="formDataMilitary.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -199,6 +202,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataMilitary.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -214,6 +218,7 @@ onMounted(() => {
|
|||
dense
|
||||
ref="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataMilitary.leaveStartDate != null ? date2Thai(formDataMilitary.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -236,7 +241,7 @@ onMounted(() => {
|
|||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
@update:model-value="updateLeaveTotal, fetchCheck()"
|
||||
:readonly="!formDataMilitary.leaveStartDate"
|
||||
:readonly="!formDataMilitary.leaveStartDate || statusCheck === 'NEW'"
|
||||
:min-date="formDataMilitary.leaveStartDate"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -252,7 +257,7 @@ onMounted(() => {
|
|||
ref="leaveEndDateRef"
|
||||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:readonly="!formDataMilitary.leaveStartDate"
|
||||
:readonly="!formDataMilitary.leaveStartDate || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataMilitary.leaveEndDate != null ? date2Thai(formDataMilitary.leaveEndDate) : null"
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
|
|
@ -288,6 +293,7 @@ onMounted(() => {
|
|||
v-model="formDataMilitary.absentDaySummon"
|
||||
label="ได้รับหมายเรียกของ"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกได้รับหมายเรียกของ'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -300,6 +306,7 @@ onMounted(() => {
|
|||
v-model="formDataMilitary.absentDayLocation"
|
||||
label="ที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกที่'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -314,6 +321,7 @@ onMounted(() => {
|
|||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
|
|
@ -330,6 +338,7 @@ onMounted(() => {
|
|||
ref="absentDayRegistorDateRef"
|
||||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataMilitary.absentDayRegistorDate != null ? date2Thai(formDataMilitary.absentDayRegistorDate) : null"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
|
|
@ -351,6 +360,7 @@ onMounted(() => {
|
|||
v-model="formDataMilitary.absentDayGetIn"
|
||||
label="ให้เข้ารับการ"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกให้เข้ารับการ'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -363,23 +373,33 @@ onMounted(() => {
|
|||
v-model="formDataMilitary.absentDayAt"
|
||||
label="ณ ที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอก ณ ที่'}`]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-input class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen" dense bg-color="white" outlined v-model="formDataMilitary.leaveDetail" type="textarea" label="รายละเอียด" />
|
||||
<q-input
|
||||
class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen"
|
||||
dense
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
bg-color="white"
|
||||
outlined
|
||||
v-model="formDataMilitary.leaveDetail"
|
||||
type="textarea"
|
||||
label="รายละเอียด"
|
||||
/>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="col-12" v-if="statusCheck != 'NEW'">
|
||||
<!-- multiple -->
|
||||
<q-file v-model="formDataMilitary.leaveDocument" multiple dense label="เอกสารประกอบ" outlined bg-color="white" hide-bottom-space use-chips @added="fileUploadDoc">
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<div class="col-12" v-if="formDataMilitary.leaveDocument.length == 0">
|
||||
<!-- <div class="col-12" v-if="formDataMilitary.leaveDocument.length == 0">
|
||||
<q-card class="q-pa-md" bordered> ไม่มีรายการเอกสารประกอบ </q-card>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-12" v-if="data">
|
||||
<div class="col-12 col-md-12 col-sm-12">
|
||||
<q-card bordered>
|
||||
|
|
@ -430,7 +450,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -168,6 +168,7 @@ function updateLeaveTotal() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(async () => {
|
||||
if (props.data) {
|
||||
|
|
@ -191,6 +192,7 @@ onMounted(async () => {
|
|||
leaveDocumentList.value = props.data.leaveDocument
|
||||
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
|
||||
formDataStudy.leaveTotal = leaveTotal
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -212,6 +214,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
label="เขียนที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -224,6 +227,7 @@ onMounted(async () => {
|
|||
week-start="0"
|
||||
:enableTimePicker="false"
|
||||
:locale="'th'"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataStudy.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -240,6 +244,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
dense
|
||||
lazy-rules
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
:model-value="formDataStudy.leaveStartDate != null ? date2Thai(formDataStudy.leaveStartDate) : null"
|
||||
|
|
@ -261,7 +266,7 @@ onMounted(async () => {
|
|||
week-start="0"
|
||||
:locale="'th'"
|
||||
@update:model-value="updateLeaveTotal()"
|
||||
:readonly="!formDataStudy.leaveStartDate"
|
||||
:readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataStudy.leaveStartDate"
|
||||
>
|
||||
|
|
@ -281,7 +286,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
:readonly="!formDataStudy.leaveStartDate"
|
||||
:readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'"
|
||||
:model-value="formDataStudy.leaveEndDate != null ? date2Thai(formDataStudy.leaveEndDate) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
>
|
||||
|
|
@ -387,6 +392,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ชื่อสถานศึกษา"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอกชื่อสถานศึกษา'}`]"
|
||||
|
|
@ -399,6 +405,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ชั้นปริญญา"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอกชั้นปริญญา'}`]"
|
||||
|
|
@ -411,6 +418,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ศึกษาวิชา"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอกศึกษาวิชา'}`]"
|
||||
|
|
@ -423,6 +431,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ประเทศ"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]"
|
||||
|
|
@ -435,6 +444,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ด้วยทุน"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]"
|
||||
|
|
@ -447,6 +457,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
unmasked-value
|
||||
hide-bottom-space
|
||||
mask="(###)-###-####"
|
||||
|
|
@ -461,6 +472,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
|
|
@ -468,9 +480,18 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<q-input v-model="formDataStudy.leaveDetail" class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen" bg-color="white" dense outlined type="textarea" label="รายละเอียด" />
|
||||
<q-input
|
||||
v-model="formDataStudy.leaveDetail"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen"
|
||||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
type="textarea"
|
||||
label="รายละเอียด"
|
||||
/>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="col-12" v-if="statusCheck != 'NEW'">
|
||||
<!-- multiple -->
|
||||
<q-file v-model="formDataStudy.leaveDocument" bg-color="white" multiple dense outlined use-chips @added="fileUploadDoc" label="เอกสารประกอบ">
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -530,7 +551,7 @@ onMounted(async () => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ const formattedSalary = computed(() => {
|
|||
})
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(async () => {
|
||||
if (props.data) {
|
||||
|
|
@ -195,6 +196,7 @@ onMounted(async () => {
|
|||
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
|
||||
formDataTrain.leaveTotal = leaveTotal
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -215,6 +217,7 @@ onMounted(async () => {
|
|||
dense
|
||||
outlined
|
||||
label="เขียนที่"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
|
@ -228,6 +231,7 @@ onMounted(async () => {
|
|||
week-start="0"
|
||||
:enableTimePicker="false"
|
||||
:locale="'th'"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataTrain.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -245,6 +249,7 @@ onMounted(async () => {
|
|||
dense
|
||||
lazy-rules
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
:model-value="formDataTrain.leaveStartDate != null ? date2Thai(formDataTrain.leaveStartDate) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
|
||||
|
|
@ -264,7 +269,7 @@ onMounted(async () => {
|
|||
borderless
|
||||
@update:model-value="updateLeaveTotal()"
|
||||
week-start="0"
|
||||
:readonly="!formDataTrain.leaveStartDate"
|
||||
:readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'"
|
||||
:locale="'th'"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataTrain.leaveStartDate"
|
||||
|
|
@ -285,7 +290,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
:readonly="!formDataTrain.leaveStartDate"
|
||||
:readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'"
|
||||
:model-value="formDataTrain.leaveEndDate != null ? date2Thai(formDataTrain.leaveEndDate) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
>
|
||||
|
|
@ -402,6 +407,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
label="ด้าน/หลักสูตร"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกด้าน/หลักสูตร'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -414,6 +420,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
label="ณ สถานที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอก ณ สถานที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -426,6 +433,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
label="ประเทศ"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -438,6 +446,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
label="ด้วยทุน"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -451,6 +460,7 @@ onMounted(async () => {
|
|||
hide-bottom-space
|
||||
bg-color="white"
|
||||
mask="(###)-###-####"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
|
||||
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
|
||||
/>
|
||||
|
|
@ -463,15 +473,25 @@ onMounted(async () => {
|
|||
dense
|
||||
outlined
|
||||
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
hide-bottom-space
|
||||
:rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-input v-model="formDataTrain.leaveDetail" class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen" bg-color="white" dense outlined type="textarea" label="รายละเอียด" />
|
||||
<q-input
|
||||
v-model="formDataTrain.leaveDetail"
|
||||
class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
type="textarea"
|
||||
label="รายละเอียด"
|
||||
/>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="col-12" v-if="statusCheck != 'NEW'">
|
||||
<!-- multiple -->
|
||||
<q-file v-model="formDataTrain.leaveDocument" bg-color="white" multiple dense outlined label="เอกสารประกอบ">
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -531,7 +551,7 @@ onMounted(async () => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@ async function FetchCheck() {
|
|||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const leaveDraftDocument = ref<string>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -163,6 +164,7 @@ onMounted(() => {
|
|||
// formDataWorkInternational.leaveDocument = props.data.leaveDocument;
|
||||
leaveDraftDocument.value = props.data.leaveDraftDocument
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -185,7 +187,7 @@ onMounted(() => {
|
|||
outlined
|
||||
v-model="formDataWorkInternational.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -199,7 +201,7 @@ onMounted(() => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataWorkInternational.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -216,7 +218,7 @@ onMounted(() => {
|
|||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataWorkInternational.leaveStartDate != null ? date2Thai(formDataWorkInternational.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -240,7 +242,7 @@ onMounted(() => {
|
|||
:enableTimePicker="false"
|
||||
@update:model-value="FetchCheck()"
|
||||
week-start="0"
|
||||
:readonly="!formDataWorkInternational.leaveStartDate"
|
||||
:readonly="!formDataWorkInternational.leaveStartDate || statusCheck === 'NEW'"
|
||||
:min-date="formDataWorkInternational.leaveStartDate"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -257,7 +259,7 @@ onMounted(() => {
|
|||
for="leaveEndDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!formDataWorkInternational.leaveStartDate"
|
||||
:readonly="!formDataWorkInternational.leaveStartDate || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataWorkInternational.leaveEndDate != null ? date2Thai(formDataWorkInternational.leaveEndDate) : null"
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
|
|
@ -293,25 +295,28 @@ onMounted(() => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataWorkInternational.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
|
||||
<q-file
|
||||
ref="fileRef"
|
||||
bg-color="white"
|
||||
v-model="formDataWorkInternational.leaveDocument"
|
||||
multiple
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<q-file
|
||||
ref="fileRef"
|
||||
bg-color="white"
|
||||
v-model="formDataWorkInternational.leaveDocument"
|
||||
multiple
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12" v-if="formDataWorkInternational.leaveDocument.length == 0">
|
||||
<q-card class="q-pa-md" bordered> ไม่มีรายการเอกสารประกอบ </q-card>
|
||||
</div> -->
|
||||
|
|
@ -411,7 +416,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -184,6 +184,7 @@ function updateLeaveHistoryTotal() {
|
|||
}
|
||||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(async () => {
|
||||
if (props.data) {
|
||||
|
|
@ -207,9 +208,9 @@ onMounted(async () => {
|
|||
|
||||
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
|
||||
formDataFollowSpouse.leaveTotal = leaveTotal
|
||||
|
||||
const coupleDayTotalHistory = await calculateDurationYmd(props.data.coupleDayStartDateHistory, props.data.coupleDayEndDateHistory)
|
||||
formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -232,7 +233,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
v-model="formDataFollowSpouse.leaveWrote"
|
||||
label="เขียนที่"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
<datepicker
|
||||
|
|
@ -245,7 +246,7 @@ onMounted(async () => {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataFollowSpouse.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -262,7 +263,7 @@ onMounted(async () => {
|
|||
for="leaveStartDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataFollowSpouse.leaveStartDate != null ? date2Thai(formDataFollowSpouse.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
|
|
@ -286,7 +287,7 @@ onMounted(async () => {
|
|||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
@update:model-value="updateLeaveTotal()"
|
||||
:readonly="!formDataFollowSpouse.leaveStartDate"
|
||||
:readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'"
|
||||
:min-date="formDataFollowSpouse.leaveStartDate"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -303,7 +304,7 @@ onMounted(async () => {
|
|||
for="leaveEndDateRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!formDataFollowSpouse.leaveStartDate"
|
||||
:readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataFollowSpouse.leaveEndDate != null ? date2Thai(formDataFollowSpouse.leaveEndDate) : null"
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
|
|
@ -367,7 +368,7 @@ onMounted(async () => {
|
|||
outlined
|
||||
v-model="formDataFollowSpouse.coupleDayName"
|
||||
label="ชื่อคู่สมรส"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'ชื่อคู่สมรส'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -382,7 +383,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
v-model="formDataFollowSpouse.coupleDayPosition"
|
||||
label="ตำแหน่งคู่สมรส"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'ตำแหน่งคู่สมรส'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -397,7 +398,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
v-model="formDataFollowSpouse.coupleDayLevel"
|
||||
label="ระดับคู่สมรส"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'ระดับคู่สมรส'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -412,7 +413,7 @@ onMounted(async () => {
|
|||
bg-color="white"
|
||||
v-model="formDataFollowSpouse.coupleDayLevelCountry"
|
||||
label="ไปปฏิบัติราชการ ณ ประเทศ"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'ปฏิบัติราชการ ณ ประเทศ'}`]"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -425,6 +426,7 @@ onMounted(async () => {
|
|||
autoApply
|
||||
hide-bottom-space
|
||||
borderless
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
|
|
@ -443,6 +445,7 @@ onMounted(async () => {
|
|||
hide-bottom-space
|
||||
bg-color="white"
|
||||
class="full-width"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:model-value="formDataFollowSpouse.coupleDayStartDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayStartDateHistory) : null"
|
||||
:label="`${'ตั้งแต่วันที่'}`"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกตั้งแต่วันที่'}`]"
|
||||
|
|
@ -462,6 +465,7 @@ onMounted(async () => {
|
|||
hide-bottom-space
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
week-start="0"
|
||||
@update:model-value="updateLeaveHistoryTotal()"
|
||||
>
|
||||
|
|
@ -479,6 +483,7 @@ onMounted(async () => {
|
|||
for="coupleDayEndDateHistoryRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="full-width"
|
||||
:model-value="formDataFollowSpouse.coupleDayEndDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayEndDateHistory) : null"
|
||||
:label="`${'ถึงวันที่'}`"
|
||||
|
|
@ -514,6 +519,7 @@ onMounted(async () => {
|
|||
for="coupleDayCountryHistoryRef"
|
||||
v-model="formDataFollowSpouse.coupleDayCountryHistory"
|
||||
label="ประเทศ"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกประเทศ'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -528,26 +534,29 @@ onMounted(async () => {
|
|||
for="leaveDetailRef"
|
||||
v-model="formDataFollowSpouse.leaveDetail"
|
||||
label="รายละเอียด"
|
||||
:readonly="!edit"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
/>
|
||||
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
ref="fileRef"
|
||||
bg-color="white"
|
||||
v-model="formDataFollowSpouse.leaveDocument"
|
||||
multiple
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
<div class="full-width" v-if="statusCheck != 'NEW'">
|
||||
<div class="q-col-gutter-sm row">
|
||||
<!-- multiple -->
|
||||
<q-file
|
||||
ref="fileRef"
|
||||
bg-color="white"
|
||||
v-model="formDataFollowSpouse.leaveDocument"
|
||||
multiple
|
||||
@added="fileUploadDoc"
|
||||
dense
|
||||
label="เอกสารประกอบ"
|
||||
outlined
|
||||
use-chips
|
||||
class="q-pl-sm col-12"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12" v-if="formDataFollowSpouse.leaveDocument.length == 0">
|
||||
<q-card class="q-pa-md" bordered> ไม่มีรายการเอกสารประกอบ </q-card>
|
||||
</div> -->
|
||||
|
|
@ -601,7 +610,7 @@ onMounted(async () => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
|
|||
|
||||
const leaveDocumentList = ref<any>()
|
||||
const leaveDraftDocument = ref<string>()
|
||||
const statusCheck = ref<any>("")
|
||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
|
|
@ -159,6 +160,7 @@ onMounted(() => {
|
|||
// formDataRehabilitation.leaveDocument = props.data.leaveDocument;
|
||||
leaveDraftDocument.value = props.data.leaveDraftDocument
|
||||
leaveDocumentList.value = props.data.leaveDocument
|
||||
statusCheck.value = props.data.status
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -180,6 +182,7 @@ onMounted(() => {
|
|||
bg-color="white"
|
||||
label="เขียนที่"
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:rules="[val => !!val || `${'เขียนที่'}`]"
|
||||
/>
|
||||
|
||||
|
|
@ -192,6 +195,7 @@ onMounted(() => {
|
|||
week-start="0"
|
||||
:enableTimePicker="false"
|
||||
:locale="'th'"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
@update:model-value="formDataRehabilitation.leaveEndDate = null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -209,6 +213,7 @@ onMounted(() => {
|
|||
dense
|
||||
lazy-rules
|
||||
hide-bottom-space
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
:model-value="formDataRehabilitation.leaveStartDate != null ? date2Thai(formDataRehabilitation.leaveStartDate) : null"
|
||||
:label="`${'ลาตั้งแต่วันที่'}`"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
|
||||
|
|
@ -229,7 +234,7 @@ onMounted(() => {
|
|||
week-start="0"
|
||||
:locale="'th'"
|
||||
@update:model-value="FetchCheck()"
|
||||
:readonly="!formDataRehabilitation.leaveStartDate"
|
||||
:readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataRehabilitation.leaveStartDate"
|
||||
>
|
||||
|
|
@ -248,7 +253,7 @@ onMounted(() => {
|
|||
lazy-rules
|
||||
bg-color="white"
|
||||
hide-bottom-space
|
||||
:readonly="!formDataRehabilitation.leaveStartDate"
|
||||
:readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'"
|
||||
:model-value="formDataRehabilitation.leaveEndDate != null ? date2Thai(formDataRehabilitation.leaveEndDate) : null"
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
|
|
@ -260,9 +265,18 @@ onMounted(() => {
|
|||
</template>
|
||||
</datepicker>
|
||||
|
||||
<q-input v-model="formDataRehabilitation.leaveDetail" class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen" bg-color="white" dense outlined type="textarea" label="รายละเอียด" />
|
||||
<q-input
|
||||
v-model="formDataRehabilitation.leaveDetail"
|
||||
:readonly="!edit || statusCheck === 'NEW'"
|
||||
class="col-12 col-md-12 col-sm-12 cursor-pointer inputgreen"
|
||||
bg-color="white"
|
||||
dense
|
||||
outlined
|
||||
type="textarea"
|
||||
label="รายละเอียด"
|
||||
/>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="col-12" v-if="statusCheck != 'NEW'">
|
||||
<!-- multiple -->
|
||||
<q-file v-model="formDataRehabilitation.leaveDocument" @added="fileUploadDoc" multiple use-chips bg-color="white" dense outlined label="เอกสารประกอบ">
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -369,7 +383,7 @@ onMounted(() => {
|
|||
<q-btn v-if="!props.data || props.data.status == 'DRAFT'" id="onSubmit" type="submit" unelevated dense class="q-px-md items-center btnBlue" label="บันทึก"
|
||||
><q-tooltip>บันทึกแบบร่าง</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn v-if="data" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
<q-btn v-if="data && statusCheck != 'NEW'" id="onSubmit" type="button" unelevated dense class="q-px-md items-center q-ml-sm" color="primary" label="ยื่นใบลา" @click="onConfirm"
|
||||
><q-tooltip>ยื่นใบลา</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue