readOnly เมื่อ Status = New

This commit is contained in:
AnandaTon 2024-01-10 16:13:48 +07:00
parent 4dc852d180
commit 16b6fedcb8
12 changed files with 305 additions and 156 deletions

View file

@ -175,6 +175,7 @@ function resetEndDate(type: string) {
} }
} }
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -187,6 +188,12 @@ onMounted(() => {
formDataSick.leaveDetail = props.data.leaveDetail formDataSick.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
formDataSick.leaveAddress = props.data.leaveAddress 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> </script>
@ -210,14 +217,21 @@ onMounted(() => {
outlined outlined
v-model="formDataSick.leaveWrote" v-model="formDataSick.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
<div class="col-12 col-md-4 col-sm-12"> <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" :disable="!edit || statusCheck === 'NEW'" 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" :disable="!edit || statusCheck === 'NEW'" 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="AFTERNOON"
label="ลาครึ่งวันบ่าย"
checked-icon="task_alt"
@update:model-value="resetDate"
/>
</div> </div>
<div class="full-width"> <div class="full-width">
<div class="q-col-gutter-sm row"> <div class="q-col-gutter-sm row">
@ -230,7 +244,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataSick.leaveEndDate = null" @update:model-value="formDataSick.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -246,7 +260,7 @@ onMounted(() => {
ref="leaveStartDateRef" ref="leaveStartDateRef"
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
bg-color="white" bg-color="white"
class="full-width cursor-pointer inputgreen" class="full-width cursor-pointer inputgreen"
:model-value="formDataSick.leaveStartDate != null ? date2Thai(formDataSick.leaveStartDate) : null" :model-value="formDataSick.leaveStartDate != null ? date2Thai(formDataSick.leaveStartDate) : null"
@ -340,7 +354,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
unmasked-value unmasked-value
label="หมายเลขโทรศัพท์ที่ติดต่อได้" label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
/> />
@ -352,7 +366,7 @@ onMounted(() => {
for="leaveAddressRef" for="leaveAddressRef"
v-model="formDataSick.leaveAddress" v-model="formDataSick.leaveAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
@ -368,10 +382,10 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataSick.leaveDetail" v-model="formDataSick.leaveDetail"
label="รายละเอียด" label="รายละเอียด"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
bg-color="white" bg-color="white"
/> />
<div class="full-width"> <div class="full-width" v-if="statusCheck != 'NEW'">
<div class="q-col-gutter-sm row"> <div class="q-col-gutter-sm row">
<!-- multiple --> <!-- 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"> <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" /> <q-icon name="attach_file" color="primary" />
</template> </template>
</q-file> </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> <q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div> --> </div>
</div> </div>
</div> </div>
<div class="col-12" v-if="data"> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -135,7 +135,7 @@ async function fetchCheck() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -147,6 +147,7 @@ onMounted(() => {
formDataBirth.leaveAddress = props.data.leaveAddress formDataBirth.leaveAddress = props.data.leaveAddress
formDataBirth.leaveDetail = props.data.leaveDetail formDataBirth.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -170,7 +171,7 @@ onMounted(() => {
label="เขียนที่" label="เขียนที่"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -184,7 +185,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataBirth.leaveEndDate = null" @update:model-value="formDataBirth.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -201,7 +202,7 @@ onMounted(() => {
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataBirth.leaveStartDate != null ? date2Thai(formDataBirth.leaveStartDate) : null" :model-value="formDataBirth.leaveStartDate != null ? date2Thai(formDataBirth.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -292,7 +293,7 @@ onMounted(() => {
mask="(###)-###-####" mask="(###)-###-####"
unmasked-value unmasked-value
label="หมายเลขโทรศัพท์ที่ติดต่อได้" label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
/> />
@ -306,7 +307,7 @@ onMounted(() => {
for="leaveAddressRef" for="leaveAddressRef"
v-model="formDataBirth.leaveAddress" v-model="formDataBirth.leaveAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
/> />
</div> </div>
@ -321,27 +322,30 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataBirth.leaveDetail" v-model="formDataBirth.leaveDetail"
label="รายละเอียด" label="รายละเอียด"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
/> />
<div class="full-width" v-if="statusCheck != 'NEW'">
<!-- multiple --> <div class="q-col-gutter-sm row">
<q-file <!-- multiple -->
for="leaveDocumentRef" <q-file
hide-bottom-space for="leaveDocumentRef"
v-model="formDataBirth.leaveDocument" hide-bottom-space
@added="fileUploadDoc" v-model="formDataBirth.leaveDocument"
dense @added="fileUploadDoc"
bg-color="white" dense
label="เอกสารประกอบ" bg-color="white"
outlined label="เอกสารประกอบ"
multiple outlined
use-chips multiple
class="q-pl-sm col-12" use-chips
> class="q-pl-sm col-12"
<template v-slot:prepend> >
<q-icon name="attach_file" color="primary" /> <template v-slot:prepend>
</template> <q-icon name="attach_file" color="primary" />
</q-file> </template>
</q-file>
</div>
</div>
<!-- <div class="col-12" v-if="formDataBirth.leaveDocument.length == 0"> <!-- <div class="col-12" v-if="formDataBirth.leaveDocument.length == 0">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card> <q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div> --> </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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -149,6 +149,7 @@ async function fetchCheck() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -163,7 +164,7 @@ onMounted(() => {
formDataHelpWife.leaveAddress = props.data.leaveAddress formDataHelpWife.leaveAddress = props.data.leaveAddress
formDataHelpWife.leaveDetail = props.data.leaveDetail formDataHelpWife.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
// formDataHelpWife.leaveDocument = props.data.leaveDocument; // formDataHelpWife.leaveDocument = props.data.leaveDocument;
} }
}) })
@ -187,7 +188,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
v-model="formDataHelpWife.leaveWrote" v-model="formDataHelpWife.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
<datepicker <datepicker
@ -200,7 +201,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataHelpWife.leaveEndDate = null" @update:model-value="formDataHelpWife.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -217,7 +218,7 @@ onMounted(() => {
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataHelpWife.leaveStartDate != null ? date2Thai(formDataHelpWife.leaveStartDate) : null" :model-value="formDataHelpWife.leaveStartDate != null ? date2Thai(formDataHelpWife.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -293,7 +294,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
v-model="formDataHelpWife.wifeDayName" v-model="formDataHelpWife.wifeDayName"
label="ชื่อภรรยา" label="ชื่อภรรยา"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'ชื่อภรรยา'}`]" :rules="[val => !!val || `${'ชื่อภรรยา'}`]"
/> />
</div> </div>
@ -308,7 +309,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
> >
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
@ -324,7 +325,7 @@ onMounted(() => {
for="wifeDayDateBornRef" for="wifeDayDateBornRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataHelpWife.wifeDayDateBorn != null ? date2Thai(formDataHelpWife.wifeDayDateBorn) : null" :model-value="formDataHelpWife.wifeDayDateBorn != null ? date2Thai(formDataHelpWife.wifeDayDateBorn) : null"
:label="`${'วันที่คลอด'}`" :label="`${'วันที่คลอด'}`"
@ -350,7 +351,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
label="หมายเลขโทรศัพท์ที่ติดต่อได้" label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
/> />
@ -364,7 +365,7 @@ onMounted(() => {
for="leaveAddressRef" for="leaveAddressRef"
v-model="formDataHelpWife.leaveAddress" v-model="formDataHelpWife.leaveAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
/> />
</div> </div>
@ -380,15 +381,28 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataHelpWife.leaveDetail" v-model="formDataHelpWife.leaveDetail"
label="รายละเอียด" label="รายละเอียด"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
/> />
<div class="full-width" v-if="statusCheck != 'NEW'">
<!-- multiple --> <div class="q-col-gutter-sm row">
<q-file bg-color="white" ref="leaveDocumentRef" v-model="formDataHelpWife.leaveDocument" @added="fileUploadDoc" dense label="เอกสารประกอบ" outlined use-chips class="q-pl-sm col-12"> <!-- multiple -->
<template v-slot:prepend> <q-file
<q-icon name="attach_file" color="primary" /> bg-color="white"
</template> ref="leaveDocumentRef"
</q-file> 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" v-if="data">
<div class="col-12 col-md-12 col-sm-12"> <div class="col-12 col-md-12 col-sm-12">
<q-card bordered> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -166,6 +166,7 @@ const isReadOnly = computed(() => {
}) })
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -180,6 +181,7 @@ onMounted(() => {
formDataVacation.leaveAddress = props.data.leaveAddress formDataVacation.leaveAddress = props.data.leaveAddress
formDataVacation.leaveDetail = props.data.leaveDetail formDataVacation.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
// formDataVacation.leaveDocument = props.data.leaveDocument; // formDataVacation.leaveDocument = props.data.leaveDocument;
} }
}) })
@ -203,7 +205,7 @@ onMounted(() => {
outlined outlined
v-model="formDataVacation.leaveWrote" v-model="formDataVacation.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
<div class="col-12 col-md-4 col-sm-6"> <div class="col-12 col-md-4 col-sm-6">
@ -247,7 +249,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataVacation.leaveEndDate = null" @update:model-value="formDataVacation.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -264,7 +266,7 @@ onMounted(() => {
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataVacation.leaveStartDate != null ? date2Thai(formDataVacation.leaveStartDate) : null" :model-value="formDataVacation.leaveStartDate != null ? date2Thai(formDataVacation.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -343,7 +345,7 @@ onMounted(() => {
mask="(###)-###-####" mask="(###)-###-####"
unmasked-value unmasked-value
label="หมายเลขโทรศัพท์ที่ติดต่อได้" label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
/> />
@ -357,7 +359,7 @@ onMounted(() => {
for="leaveAddressRef" for="leaveAddressRef"
v-model="formDataVacation.leaveAddress" v-model="formDataVacation.leaveAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
/> />
</div> </div>
@ -373,9 +375,9 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataVacation.leaveDetail" v-model="formDataVacation.leaveDetail"
label="รายละเอียด" 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"> <div class="q-col-gutter-sm row">
<!-- multiple --> <!-- multiple -->
<q-file <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -163,6 +163,7 @@ function updateLeaveTotal() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -179,6 +180,7 @@ onMounted(() => {
formDataOrdination.ordainDayStatus = props.data.ordainDayStatus formDataOrdination.ordainDayStatus = props.data.ordainDayStatus
formDataOrdination.leaveDetail = props.data.leaveDetail formDataOrdination.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
// formDataOrdination.leaveDocument = props.data.leaveDocument; // formDataOrdination.leaveDocument = props.data.leaveDocument;
} }
}) })
@ -202,6 +204,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
v-model="formDataOrdination.leaveWrote" v-model="formDataOrdination.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -214,6 +217,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataOrdination.leaveEndDate = null" @update:model-value="formDataOrdination.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -226,6 +230,7 @@ onMounted(() => {
<q-input <q-input
outlined outlined
bg-color="white" bg-color="white"
:readonly="!edit || statusCheck === 'NEW'"
dense dense
ref="leaveStartDateRef" ref="leaveStartDateRef"
hide-bottom-space hide-bottom-space
@ -249,7 +254,7 @@ onMounted(() => {
autoApply autoApply
borderless borderless
@update:model-value="updateLeaveTotal, fetchCheck()" @update:model-value="updateLeaveTotal, fetchCheck()"
:readonly="!formDataOrdination.leaveStartDate" :readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
:min-date="formDataOrdination.leaveStartDate" :min-date="formDataOrdination.leaveStartDate"
week-start="0" week-start="0"
@ -270,7 +275,7 @@ onMounted(() => {
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null" :model-value="formDataOrdination.leaveEndDate != null ? date2Thai(formDataOrdination.leaveEndDate) : null"
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataOrdination.leaveStartDate" :readonly="!formDataOrdination.leaveStartDate || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]" :rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -369,8 +374,8 @@ onMounted(() => {
<div class="q-pl-sm text-weight-bold text-dark col-12">เคยบวชหรอไม</div> <div class="q-pl-sm text-weight-bold text-dark col-12">เคยบวชหรอไม</div>
<div class="col-12"> <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" :disable="!edit || statusCheck === 'NEW'" :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="false" label="ไม่เคยบวช" checked-icon="task_alt" hide-bottom-space />
</div> </div>
<div class="text-weight-bold text-dark col-12">สถานทบวช</div> <div class="text-weight-bold text-dark col-12">สถานทบวช</div>
@ -382,6 +387,7 @@ onMounted(() => {
autoApply autoApply
full-width full-width
borderless borderless
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
@ -399,6 +405,7 @@ onMounted(() => {
dense dense
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataOrdination.ordainDayOrdination != null ? date2Thai(formDataOrdination.ordainDayOrdination) : null" :model-value="formDataOrdination.ordainDayOrdination != null ? date2Thai(formDataOrdination.ordainDayOrdination) : null"
:label="`${'วันอุปสมบท'}`" :label="`${'วันอุปสมบท'}`"
@ -419,6 +426,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
outlined outlined
full-width full-width
:readonly="!edit || statusCheck === 'NEW'"
v-model="formDataOrdination.ordainDayLocationName" v-model="formDataOrdination.ordainDayLocationName"
label="ชื่อวัด" label="ชื่อวัด"
:rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]" :rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]"
@ -434,6 +442,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
mask="(###)-###-####" mask="(###)-###-####"
unmasked-value unmasked-value
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
label="หมายเลขโทรศัพท์" label="หมายเลขโทรศัพท์"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์'}`]"
@ -447,6 +456,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
v-model="formDataOrdination.ordainDayLocationAddress" v-model="formDataOrdination.ordainDayLocationAddress"
label="ที่อยู่" label="ที่อยู่"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]"
type="textarea" type="textarea"
/> />
@ -459,6 +469,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
v-model="formDataOrdination.ordainDayBuddhistLentName" v-model="formDataOrdination.ordainDayBuddhistLentName"
label="ชื่อวัด" label="ชื่อวัด"
:rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]" :rules="[val => !!val || `${'กรุณากรอกชื่อวัด'}`]"
@ -470,6 +481,7 @@ onMounted(() => {
ref="ordainDayBuddhistLentAddressRef" ref="ordainDayBuddhistLentAddressRef"
bg-color="white" bg-color="white"
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
v-model="formDataOrdination.ordainDayBuddhistLentAddress" v-model="formDataOrdination.ordainDayBuddhistLentAddress"
label="ที่อยู่" label="ที่อยู่"
:rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]" :rules="[val => !!val || `${'กรุณากรอกที่อยู่'}`]"
@ -486,9 +498,9 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataOrdination.leaveDetail" v-model="formDataOrdination.leaveDetail"
label="รายละเอียด" 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"> <div class="q-col-gutter-sm row">
<!-- multiple --> <!-- multiple -->
<q-file ref="leaveDocumentRef" v-model="formDataOrdination.leaveDocument" @added="fileUploadDoc" dense label="เอกสารประกอบ" multiple outlined bg-color="white" use-chips> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -134,6 +134,7 @@ function updateLeaveTotal() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -145,6 +146,7 @@ onMounted(() => {
formDataHaji.hajjDayStatus = props.data.hajjDayStatus formDataHaji.hajjDayStatus = props.data.hajjDayStatus
formDataHaji.leaveDetail = props.data.leaveDetail formDataHaji.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
// formDataHaji.leaveDocument = props.data.leaveDocument; // formDataHaji.leaveDocument = props.data.leaveDocument;
} }
}) })
@ -167,6 +169,7 @@ onMounted(() => {
outlined outlined
label="เขียนที่" label="เขียนที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -181,6 +184,7 @@ onMounted(() => {
week-start="0" week-start="0"
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataHaji.leaveEndDate = null" @update:model-value="formDataHaji.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -198,6 +202,7 @@ onMounted(() => {
dense dense
hide-bottom-space hide-bottom-space
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]" :rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
:model-value="formDataHaji.leaveStartDate != null ? date2Thai(formDataHaji.leaveStartDate) : null" :model-value="formDataHaji.leaveStartDate != null ? date2Thai(formDataHaji.leaveStartDate) : null"
> >
@ -218,7 +223,7 @@ onMounted(() => {
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
@update:model-value="updateLeaveTotal" @update:model-value="updateLeaveTotal"
:readonly="!formDataHaji.leaveStartDate" :readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataHaji.leaveStartDate" :min-date="formDataHaji.leaveStartDate"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -234,7 +239,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
outlined outlined
dense dense
:readonly="!formDataHaji.leaveStartDate" :readonly="!formDataHaji.leaveStartDate || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
@update:model-value="fetchCheck()" @update:model-value="fetchCheck()"
@ -291,12 +296,21 @@ onMounted(() => {
<div class="q-pl-sm text-weight-bold text-dark col-12">เคยไปประกอบพจญหรอไม</div> <div class="q-pl-sm text-weight-bold text-dark col-12">เคยไปประกอบพจญหรอไม</div>
<div class="col-12"> <div class="col-12">
<q-radio v-model="formDataHaji.hajjDayStatus" :val="'true'" 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" :val="'false'" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจญ์" /> <q-radio v-model="formDataHaji.hajjDayStatus" :disable="statusCheck === 'NEW'" :val="false" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจญ์" />
</div> </div>
<q-input v-model="formDataHaji.leaveDetail" class="col-12 q-mt-sm cursor-pointer inputgreen" bg-color="white" dense outlined type="textarea" label="รายละเอียด" /> <q-input
<div class="full-width"> 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"> <div class="q-col-gutter-sm row">
<!-- multiple --> <!-- multiple -->
<q-file v-model="formDataHaji.leaveDocument" multiple bg-color="white" label="เอกสารประกอบ" use-chips @added="fileUploadDoc" dense outlined hide-bottom-space> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -151,6 +151,7 @@ function updateLeaveTotal() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -165,6 +166,7 @@ onMounted(() => {
formDataMilitary.absentDayAt = props.data.absentDayAt formDataMilitary.absentDayAt = props.data.absentDayAt
formDataMilitary.leaveDetail = props.data.leaveDetail formDataMilitary.leaveDetail = props.data.leaveDetail
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
// formDataMilitary.leaveDocument = props.data.leaveDocument; // formDataMilitary.leaveDocument = props.data.leaveDocument;
} }
}) })
@ -187,6 +189,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
v-model="formDataMilitary.leaveWrote" v-model="formDataMilitary.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -199,6 +202,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataMilitary.leaveEndDate = null" @update:model-value="formDataMilitary.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -214,6 +218,7 @@ onMounted(() => {
dense dense
ref="leaveStartDateRef" ref="leaveStartDateRef"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataMilitary.leaveStartDate != null ? date2Thai(formDataMilitary.leaveStartDate) : null" :model-value="formDataMilitary.leaveStartDate != null ? date2Thai(formDataMilitary.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -236,7 +241,7 @@ onMounted(() => {
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
@update:model-value="updateLeaveTotal, fetchCheck()" @update:model-value="updateLeaveTotal, fetchCheck()"
:readonly="!formDataMilitary.leaveStartDate" :readonly="!formDataMilitary.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataMilitary.leaveStartDate" :min-date="formDataMilitary.leaveStartDate"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -252,7 +257,7 @@ onMounted(() => {
ref="leaveEndDateRef" ref="leaveEndDateRef"
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:readonly="!formDataMilitary.leaveStartDate" :readonly="!formDataMilitary.leaveStartDate || statusCheck === 'NEW'"
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="`${'ลาถึงวันที่'}`"
@ -288,6 +293,7 @@ onMounted(() => {
v-model="formDataMilitary.absentDaySummon" v-model="formDataMilitary.absentDaySummon"
label="ได้รับหมายเรียกของ" label="ได้รับหมายเรียกของ"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกได้รับหมายเรียกของ'}`]" :rules="[val => !!val || `${'กรุณากรอกได้รับหมายเรียกของ'}`]"
/> />
@ -300,6 +306,7 @@ onMounted(() => {
v-model="formDataMilitary.absentDayLocation" v-model="formDataMilitary.absentDayLocation"
label="ที่" label="ที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกที่'}`]" :rules="[val => !!val || `${'กรุณากรอกที่'}`]"
/> />
</div> </div>
@ -314,6 +321,7 @@ onMounted(() => {
:locale="'th'" :locale="'th'"
autoApply autoApply
borderless borderless
:readonly="!edit || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
> >
@ -330,6 +338,7 @@ onMounted(() => {
ref="absentDayRegistorDateRef" ref="absentDayRegistorDateRef"
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataMilitary.absentDayRegistorDate != null ? date2Thai(formDataMilitary.absentDayRegistorDate) : null" :model-value="formDataMilitary.absentDayRegistorDate != null ? date2Thai(formDataMilitary.absentDayRegistorDate) : null"
:label="`${'ลงวันที่'}`" :label="`${'ลงวันที่'}`"
@ -351,6 +360,7 @@ onMounted(() => {
v-model="formDataMilitary.absentDayGetIn" v-model="formDataMilitary.absentDayGetIn"
label="ให้เข้ารับการ" label="ให้เข้ารับการ"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกให้เข้ารับการ'}`]" :rules="[val => !!val || `${'กรุณากรอกให้เข้ารับการ'}`]"
/> />
@ -363,23 +373,33 @@ onMounted(() => {
v-model="formDataMilitary.absentDayAt" v-model="formDataMilitary.absentDayAt"
label="ณ ที่" label="ณ ที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอก ณ ที่'}`]" :rules="[val => !!val || `${'กรุณากรอก ณ ที่'}`]"
/> />
</div> </div>
</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 --> <!-- multiple -->
<q-file v-model="formDataMilitary.leaveDocument" multiple dense label="เอกสารประกอบ" outlined bg-color="white" hide-bottom-space use-chips @added="fileUploadDoc"> <q-file v-model="formDataMilitary.leaveDocument" multiple dense label="เอกสารประกอบ" outlined bg-color="white" hide-bottom-space use-chips @added="fileUploadDoc">
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="attach_file" color="primary" /> <q-icon name="attach_file" color="primary" />
</template> </template>
</q-file> </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> <q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div> </div> -->
<div class="col-12" v-if="data"> <div class="col-12" v-if="data">
<div class="col-12 col-md-12 col-sm-12"> <div class="col-12 col-md-12 col-sm-12">
<q-card bordered> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -168,6 +168,7 @@ function updateLeaveTotal() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
@ -191,6 +192,7 @@ onMounted(async () => {
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate) const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
formDataStudy.leaveTotal = leaveTotal formDataStudy.leaveTotal = leaveTotal
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -212,6 +214,7 @@ onMounted(async () => {
outlined outlined
label="เขียนที่" label="เขียนที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -224,6 +227,7 @@ onMounted(async () => {
week-start="0" week-start="0"
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataStudy.leaveEndDate = null" @update:model-value="formDataStudy.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -240,6 +244,7 @@ onMounted(async () => {
outlined outlined
dense dense
lazy-rules lazy-rules
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
:model-value="formDataStudy.leaveStartDate != null ? date2Thai(formDataStudy.leaveStartDate) : null" :model-value="formDataStudy.leaveStartDate != null ? date2Thai(formDataStudy.leaveStartDate) : null"
@ -261,7 +266,7 @@ onMounted(async () => {
week-start="0" week-start="0"
:locale="'th'" :locale="'th'"
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal()"
:readonly="!formDataStudy.leaveStartDate" :readonly="!formDataStudy.leaveStartDate || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
:min-date="formDataStudy.leaveStartDate" :min-date="formDataStudy.leaveStartDate"
> >
@ -281,7 +286,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataStudy.leaveStartDate" :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="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
> >
@ -387,6 +392,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ชื่อสถานศึกษา" label="ชื่อสถานศึกษา"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอกชื่อสถานศึกษา'}`]" :rules="[val => !!val || `${'กรุณากรอกชื่อสถานศึกษา'}`]"
@ -399,6 +405,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ชั้นปริญญา" label="ชั้นปริญญา"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอกชั้นปริญญา'}`]" :rules="[val => !!val || `${'กรุณากรอกชั้นปริญญา'}`]"
@ -411,6 +418,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ศึกษาวิชา" label="ศึกษาวิชา"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอกศึกษาวิชา'}`]" :rules="[val => !!val || `${'กรุณากรอกศึกษาวิชา'}`]"
@ -423,6 +431,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ประเทศ" label="ประเทศ"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]" :rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]"
@ -435,6 +444,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ด้วยทุน" label="ด้วยทุน"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]" :rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]"
@ -447,6 +457,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
unmasked-value unmasked-value
hide-bottom-space hide-bottom-space
mask="(###)-###-####" mask="(###)-###-####"
@ -461,6 +472,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
:readonly="!edit || statusCheck === 'NEW'"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
@ -468,9 +480,18 @@ onMounted(async () => {
</div> </div>
</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 --> <!-- multiple -->
<q-file v-model="formDataStudy.leaveDocument" bg-color="white" multiple dense outlined use-chips @added="fileUploadDoc" label="เอกสารประกอบ"> <q-file v-model="formDataStudy.leaveDocument" bg-color="white" multiple dense outlined use-chips @added="fileUploadDoc" label="เอกสารประกอบ">
<template v-slot:prepend> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -173,6 +173,7 @@ const formattedSalary = computed(() => {
}) })
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
@ -195,6 +196,7 @@ onMounted(async () => {
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate) const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
formDataTrain.leaveTotal = leaveTotal formDataTrain.leaveTotal = leaveTotal
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -215,6 +217,7 @@ onMounted(async () => {
dense dense
outlined outlined
label="เขียนที่" label="เขียนที่"
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -228,6 +231,7 @@ onMounted(async () => {
week-start="0" week-start="0"
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataTrain.leaveEndDate = null" @update:model-value="formDataTrain.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -245,6 +249,7 @@ onMounted(async () => {
dense dense
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
:model-value="formDataTrain.leaveStartDate != null ? date2Thai(formDataTrain.leaveStartDate) : null" :model-value="formDataTrain.leaveStartDate != null ? date2Thai(formDataTrain.leaveStartDate) : null"
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]" :rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
@ -264,7 +269,7 @@ onMounted(async () => {
borderless borderless
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal()"
week-start="0" week-start="0"
:readonly="!formDataTrain.leaveStartDate" :readonly="!formDataTrain.leaveStartDate || statusCheck === 'NEW'"
:locale="'th'" :locale="'th'"
:enableTimePicker="false" :enableTimePicker="false"
:min-date="formDataTrain.leaveStartDate" :min-date="formDataTrain.leaveStartDate"
@ -285,7 +290,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:label="`${'ลาถึงวันที่'}`" :label="`${'ลาถึงวันที่'}`"
:readonly="!formDataTrain.leaveStartDate" :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="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
> >
@ -402,6 +407,7 @@ onMounted(async () => {
outlined outlined
label="ด้าน/หลักสูตร" label="ด้าน/หลักสูตร"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกด้าน/หลักสูตร'}`]" :rules="[val => !!val || `${'กรุณากรอกด้าน/หลักสูตร'}`]"
/> />
@ -414,6 +420,7 @@ onMounted(async () => {
outlined outlined
label="ณ สถานที่" label="ณ สถานที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอก ณ สถานที่'}`]" :rules="[val => !!val || `${'กรุณากรอก ณ สถานที่'}`]"
/> />
@ -426,6 +433,7 @@ onMounted(async () => {
outlined outlined
label="ประเทศ" label="ประเทศ"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]" :rules="[val => !!val || `${'กรุณากรอกประเทศ'}`]"
/> />
@ -438,6 +446,7 @@ onMounted(async () => {
outlined outlined
label="ด้วยทุน" label="ด้วยทุน"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]" :rules="[val => !!val || `${'กรุณากรอกด้วยทุน'}`]"
/> />
@ -451,6 +460,7 @@ onMounted(async () => {
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
mask="(###)-###-####" mask="(###)-###-####"
:readonly="!edit || statusCheck === 'NEW'"
label="หมายเลขโทรศัพท์ที่ติดต่อได้" label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]" :rules="[val => !!val || `${'กรุณากรอกหมายเลขโทรศัพท์ที่ติดต่อได้'}`]"
/> />
@ -463,15 +473,25 @@ onMounted(async () => {
dense dense
outlined outlined
label="ที่อยู่ที่ติดต่อได้ระหว่างลา" label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space hide-bottom-space
:rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]" :rules="[val => !!val || `${'กรุณากรอก ที่อยู่ที่ติดต่อได้ระหว่างลา'}`]"
/> />
</div> </div>
</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 --> <!-- multiple -->
<q-file v-model="formDataTrain.leaveDocument" bg-color="white" multiple dense outlined label="เอกสารประกอบ"> <q-file v-model="formDataTrain.leaveDocument" bg-color="white" multiple dense outlined label="เอกสารประกอบ">
<template v-slot:prepend> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -153,6 +153,7 @@ async function FetchCheck() {
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const leaveDraftDocument = ref<string>() const leaveDraftDocument = ref<string>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -163,6 +164,7 @@ onMounted(() => {
// formDataWorkInternational.leaveDocument = props.data.leaveDocument; // formDataWorkInternational.leaveDocument = props.data.leaveDocument;
leaveDraftDocument.value = props.data.leaveDraftDocument leaveDraftDocument.value = props.data.leaveDraftDocument
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -185,7 +187,7 @@ onMounted(() => {
outlined outlined
v-model="formDataWorkInternational.leaveWrote" v-model="formDataWorkInternational.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -199,7 +201,7 @@ onMounted(() => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataWorkInternational.leaveEndDate = null" @update:model-value="formDataWorkInternational.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -216,7 +218,7 @@ onMounted(() => {
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataWorkInternational.leaveStartDate != null ? date2Thai(formDataWorkInternational.leaveStartDate) : null" :model-value="formDataWorkInternational.leaveStartDate != null ? date2Thai(formDataWorkInternational.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -240,7 +242,7 @@ onMounted(() => {
:enableTimePicker="false" :enableTimePicker="false"
@update:model-value="FetchCheck()" @update:model-value="FetchCheck()"
week-start="0" week-start="0"
:readonly="!formDataWorkInternational.leaveStartDate" :readonly="!formDataWorkInternational.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataWorkInternational.leaveStartDate" :min-date="formDataWorkInternational.leaveStartDate"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -257,7 +259,7 @@ onMounted(() => {
for="leaveEndDateRef" for="leaveEndDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!formDataWorkInternational.leaveStartDate" :readonly="!formDataWorkInternational.leaveStartDate || statusCheck === 'NEW'"
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="`${'ลาถึงวันที่'}`"
@ -293,25 +295,28 @@ onMounted(() => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataWorkInternational.leaveDetail" v-model="formDataWorkInternational.leaveDetail"
label="รายละเอียด" label="รายละเอียด"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
/> />
<div class="full-width" v-if="statusCheck != 'NEW'">
<q-file <div class="q-col-gutter-sm row">
ref="fileRef" <q-file
bg-color="white" ref="fileRef"
v-model="formDataWorkInternational.leaveDocument" bg-color="white"
multiple v-model="formDataWorkInternational.leaveDocument"
@added="fileUploadDoc" multiple
dense @added="fileUploadDoc"
label="เอกสารประกอบ" dense
outlined label="เอกสารประกอบ"
use-chips outlined
class="q-pl-sm col-12" use-chips
> class="q-pl-sm col-12"
<template v-slot:prepend> >
<q-icon name="attach_file" color="primary" /> <template v-slot:prepend>
</template> <q-icon name="attach_file" color="primary" />
</q-file> </template>
</q-file>
</div>
</div>
<!-- <div class="col-12" v-if="formDataWorkInternational.leaveDocument.length == 0"> <!-- <div class="col-12" v-if="formDataWorkInternational.leaveDocument.length == 0">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card> <q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div> --> </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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -184,6 +184,7 @@ function updateLeaveHistoryTotal() {
} }
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
@ -207,9 +208,9 @@ onMounted(async () => {
const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate) const leaveTotal = await calculateDurationYmd(props.data.leaveStartDate, props.data.leaveEndDate)
formDataFollowSpouse.leaveTotal = leaveTotal formDataFollowSpouse.leaveTotal = leaveTotal
const coupleDayTotalHistory = await calculateDurationYmd(props.data.coupleDayStartDateHistory, props.data.coupleDayEndDateHistory) const coupleDayTotalHistory = await calculateDurationYmd(props.data.coupleDayStartDateHistory, props.data.coupleDayEndDateHistory)
formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -232,7 +233,7 @@ onMounted(async () => {
outlined outlined
v-model="formDataFollowSpouse.leaveWrote" v-model="formDataFollowSpouse.leaveWrote"
label="เขียนที่" label="เขียนที่"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
<datepicker <datepicker
@ -245,7 +246,7 @@ onMounted(async () => {
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataFollowSpouse.leaveEndDate = null" @update:model-value="formDataFollowSpouse.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -262,7 +263,7 @@ onMounted(async () => {
for="leaveStartDateRef" for="leaveStartDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
class="full-width datepicker" class="full-width datepicker"
:model-value="formDataFollowSpouse.leaveStartDate != null ? date2Thai(formDataFollowSpouse.leaveStartDate) : null" :model-value="formDataFollowSpouse.leaveStartDate != null ? date2Thai(formDataFollowSpouse.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
@ -286,7 +287,7 @@ onMounted(async () => {
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
@update:model-value="updateLeaveTotal()" @update:model-value="updateLeaveTotal()"
:readonly="!formDataFollowSpouse.leaveStartDate" :readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'"
:min-date="formDataFollowSpouse.leaveStartDate" :min-date="formDataFollowSpouse.leaveStartDate"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -303,7 +304,7 @@ onMounted(async () => {
for="leaveEndDateRef" for="leaveEndDateRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!formDataFollowSpouse.leaveStartDate" :readonly="!formDataFollowSpouse.leaveStartDate || statusCheck === 'NEW'"
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="`${'ลาถึงวันที่'}`"
@ -367,7 +368,7 @@ onMounted(async () => {
outlined outlined
v-model="formDataFollowSpouse.coupleDayName" v-model="formDataFollowSpouse.coupleDayName"
label="ชื่อคู่สมรส" label="ชื่อคู่สมรส"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'ชื่อคู่สมรส'}`]" :rules="[val => !!val || `${'ชื่อคู่สมรส'}`]"
/> />
</div> </div>
@ -382,7 +383,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
v-model="formDataFollowSpouse.coupleDayPosition" v-model="formDataFollowSpouse.coupleDayPosition"
label="ตำแหน่งคู่สมรส" label="ตำแหน่งคู่สมรส"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'ตำแหน่งคู่สมรส'}`]" :rules="[val => !!val || `${'ตำแหน่งคู่สมรส'}`]"
/> />
</div> </div>
@ -397,7 +398,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
v-model="formDataFollowSpouse.coupleDayLevel" v-model="formDataFollowSpouse.coupleDayLevel"
label="ระดับคู่สมรส" label="ระดับคู่สมรส"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'ระดับคู่สมรส'}`]" :rules="[val => !!val || `${'ระดับคู่สมรส'}`]"
/> />
</div> </div>
@ -412,7 +413,7 @@ onMounted(async () => {
bg-color="white" bg-color="white"
v-model="formDataFollowSpouse.coupleDayLevelCountry" v-model="formDataFollowSpouse.coupleDayLevelCountry"
label="ไปปฏิบัติราชการ ณ ประเทศ" label="ไปปฏิบัติราชการ ณ ประเทศ"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'ปฏิบัติราชการ ณ ประเทศ'}`]" :rules="[val => !!val || `${'ปฏิบัติราชการ ณ ประเทศ'}`]"
/> />
</div> </div>
@ -425,6 +426,7 @@ onMounted(async () => {
autoApply autoApply
hide-bottom-space hide-bottom-space
borderless borderless
:readonly="!edit || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
> >
@ -443,6 +445,7 @@ onMounted(async () => {
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
class="full-width" class="full-width"
:readonly="!edit || statusCheck === 'NEW'"
:model-value="formDataFollowSpouse.coupleDayStartDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayStartDateHistory) : null" :model-value="formDataFollowSpouse.coupleDayStartDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayStartDateHistory) : null"
:label="`${'ตั้งแต่วันที่'}`" :label="`${'ตั้งแต่วันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกตั้งแต่วันที่'}`]" :rules="[val => !!val || `${'กรุณาเลือกตั้งแต่วันที่'}`]"
@ -462,6 +465,7 @@ onMounted(async () => {
hide-bottom-space hide-bottom-space
borderless borderless
:enableTimePicker="false" :enableTimePicker="false"
:readonly="!edit || statusCheck === 'NEW'"
week-start="0" week-start="0"
@update:model-value="updateLeaveHistoryTotal()" @update:model-value="updateLeaveHistoryTotal()"
> >
@ -479,6 +483,7 @@ onMounted(async () => {
for="coupleDayEndDateHistoryRef" for="coupleDayEndDateHistoryRef"
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
:readonly="!edit || statusCheck === 'NEW'"
class="full-width" class="full-width"
:model-value="formDataFollowSpouse.coupleDayEndDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayEndDateHistory) : null" :model-value="formDataFollowSpouse.coupleDayEndDateHistory != null ? date2Thai(formDataFollowSpouse.coupleDayEndDateHistory) : null"
:label="`${'ถึงวันที่'}`" :label="`${'ถึงวันที่'}`"
@ -514,6 +519,7 @@ onMounted(async () => {
for="coupleDayCountryHistoryRef" for="coupleDayCountryHistoryRef"
v-model="formDataFollowSpouse.coupleDayCountryHistory" v-model="formDataFollowSpouse.coupleDayCountryHistory"
label="ประเทศ" label="ประเทศ"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'กรุณาเลือกประเทศ'}`]" :rules="[val => !!val || `${'กรุณาเลือกประเทศ'}`]"
/> />
@ -528,26 +534,29 @@ onMounted(async () => {
for="leaveDetailRef" for="leaveDetailRef"
v-model="formDataFollowSpouse.leaveDetail" v-model="formDataFollowSpouse.leaveDetail"
label="รายละเอียด" label="รายละเอียด"
:readonly="!edit" :readonly="!edit || statusCheck === 'NEW'"
/> />
<div class="full-width" v-if="statusCheck != 'NEW'">
<!-- multiple --> <div class="q-col-gutter-sm row">
<q-file <!-- multiple -->
ref="fileRef" <q-file
bg-color="white" ref="fileRef"
v-model="formDataFollowSpouse.leaveDocument" bg-color="white"
multiple v-model="formDataFollowSpouse.leaveDocument"
@added="fileUploadDoc" multiple
dense @added="fileUploadDoc"
label="เอกสารประกอบ" dense
outlined label="เอกสารประกอบ"
use-chips outlined
class="q-pl-sm col-12" use-chips
> class="q-pl-sm col-12"
<template v-slot:prepend> >
<q-icon name="attach_file" color="primary" /> <template v-slot:prepend>
</template> <q-icon name="attach_file" color="primary" />
</q-file> </template>
</q-file>
</div>
</div>
<!-- <div class="col-12" v-if="formDataFollowSpouse.leaveDocument.length == 0"> <!-- <div class="col-12" v-if="formDataFollowSpouse.leaveDocument.length == 0">
<q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card> <q-card class="q-pa-md" bordered> ไมรายการเอกสารประกอบ </q-card>
</div> --> </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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>

View file

@ -149,6 +149,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
const leaveDocumentList = ref<any>() const leaveDocumentList = ref<any>()
const leaveDraftDocument = ref<string>() const leaveDraftDocument = ref<string>()
const statusCheck = ref<any>("")
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
@ -159,6 +160,7 @@ onMounted(() => {
// formDataRehabilitation.leaveDocument = props.data.leaveDocument; // formDataRehabilitation.leaveDocument = props.data.leaveDocument;
leaveDraftDocument.value = props.data.leaveDraftDocument leaveDraftDocument.value = props.data.leaveDraftDocument
leaveDocumentList.value = props.data.leaveDocument leaveDocumentList.value = props.data.leaveDocument
statusCheck.value = props.data.status
} }
}) })
</script> </script>
@ -180,6 +182,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
label="เขียนที่" label="เขียนที่"
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:rules="[val => !!val || `${'เขียนที่'}`]" :rules="[val => !!val || `${'เขียนที่'}`]"
/> />
@ -192,6 +195,7 @@ onMounted(() => {
week-start="0" week-start="0"
:enableTimePicker="false" :enableTimePicker="false"
:locale="'th'" :locale="'th'"
:readonly="!edit || statusCheck === 'NEW'"
@update:model-value="formDataRehabilitation.leaveEndDate = null" @update:model-value="formDataRehabilitation.leaveEndDate = null"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -209,6 +213,7 @@ onMounted(() => {
dense dense
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
:readonly="!edit || statusCheck === 'NEW'"
:model-value="formDataRehabilitation.leaveStartDate != null ? date2Thai(formDataRehabilitation.leaveStartDate) : null" :model-value="formDataRehabilitation.leaveStartDate != null ? date2Thai(formDataRehabilitation.leaveStartDate) : null"
:label="`${'ลาตั้งแต่วันที่'}`" :label="`${'ลาตั้งแต่วันที่'}`"
:rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]" :rules="[val => !!val || `${'กรุณาเลือกลาตั้งแต่วันที่'}`]"
@ -229,7 +234,7 @@ onMounted(() => {
week-start="0" week-start="0"
:locale="'th'" :locale="'th'"
@update:model-value="FetchCheck()" @update:model-value="FetchCheck()"
:readonly="!formDataRehabilitation.leaveStartDate" :readonly="!formDataRehabilitation.leaveStartDate || statusCheck === 'NEW'"
:enableTimePicker="false" :enableTimePicker="false"
:min-date="formDataRehabilitation.leaveStartDate" :min-date="formDataRehabilitation.leaveStartDate"
> >
@ -248,7 +253,7 @@ onMounted(() => {
lazy-rules lazy-rules
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
:readonly="!formDataRehabilitation.leaveStartDate" :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="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
@ -260,9 +265,18 @@ onMounted(() => {
</template> </template>
</datepicker> </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 --> <!-- multiple -->
<q-file v-model="formDataRehabilitation.leaveDocument" @added="fileUploadDoc" multiple use-chips bg-color="white" dense outlined label="เอกสารประกอบ"> <q-file v-model="formDataRehabilitation.leaveDocument" @added="fileUploadDoc" multiple use-chips bg-color="white" dense outlined label="เอกสารประกอบ">
<template v-slot:prepend> <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-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-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 ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </div>