ปรับฟอร์มลา

This commit is contained in:
Warunee Tamkoo 2024-01-05 14:30:28 +07:00
parent 4ce525522b
commit 6bf4bdebaa
16 changed files with 217 additions and 175 deletions

View file

@ -90,7 +90,6 @@ const fetchlistInbox = async () => {
.get(config.API.msgInbox) .get(config.API.msgInbox)
.then((res) => { .then((res) => {
let data = res.data.result; let data = res.data.result;
console.log(data);
let listItem: any = []; let listItem: any = [];
data.map((e: any) => { data.map((e: any) => {
listItem.push({ listItem.push({

View file

@ -41,7 +41,7 @@ const props = defineProps({
onConfirm: { onConfirm: {
type: Function, type: Function,
default: () => "", default: () => "",
} },
}); });
/** ข้อมูล v-model ของฟอร์ม */ /** ข้อมูล v-model ของฟอร์ม */
@ -148,7 +148,7 @@ function onValidate() {
* @param formData * @param formData
*/ */
const isLeave = ref<boolean>(true); const isLeave = ref<boolean>(true);
async function FetchCheck() { async function fetchCheck() {
await http await http
.post(config.API.leaveCheck(), { .post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null, type: dataStore.typeId ?? null,
@ -211,7 +211,6 @@ onMounted(() => {
formDataSick.leaveDetail = props.data.leaveDetail; formDataSick.leaveDetail = props.data.leaveDetail;
// formDataSick.leaveDocument = props.data.leaveDocument; // formDataSick.leaveDocument = props.data.leaveDocument;
formDataSick.leaveAddress = props.data.leaveAddress; formDataSick.leaveAddress = props.data.leaveAddress;
formDataSick.leaveAddress = props.data.leaveAddress;
} }
}); });
</script> </script>
@ -322,7 +321,7 @@ onMounted(() => {
:enableTimePicker="false" :enableTimePicker="false"
week-start="0" week-start="0"
:readonly="!formDataSick.leaveStartDate" :readonly="!formDataSick.leaveStartDate"
@update:model-value="FetchCheck(), isReadOnly" @update:model-value="fetchCheck(), isReadOnly"
:min-date="formDataSick.leaveStartDate" :min-date="formDataSick.leaveStartDate"
> >
<template #year="{ year }"> <template #year="{ year }">
@ -437,6 +436,7 @@ onMounted(() => {
/> />
<div class="full-width"> <div class="full-width">
<div class="q-col-gutter-sm row"> <div class="q-col-gutter-sm row">
<!-- multiple -->
<q-file <q-file
for="leaveDocumentRef" for="leaveDocumentRef"
v-model="formDataSick.leaveDocument" v-model="formDataSick.leaveDocument"
@ -445,6 +445,7 @@ onMounted(() => {
outlined outlined
use-chips use-chips
bg-color="white" bg-color="white"
class="col-12 q-pl-sm col-12" class="col-12 q-pl-sm col-12"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -484,6 +485,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -147,6 +147,7 @@ onMounted(() => {
formDataBirth.leaveEndDate = props.data.leaveEndDate; formDataBirth.leaveEndDate = props.data.leaveEndDate;
formDataBirth.leaveTotal = props.data.leaveTotal; formDataBirth.leaveTotal = props.data.leaveTotal;
formDataBirth.leaveNumber = props.data.leaveNumber; formDataBirth.leaveNumber = props.data.leaveNumber;
formDataBirth.leaveAddress = props.data.leaveAddress;
formDataBirth.leaveDetail = props.data.leaveDetail; formDataBirth.leaveDetail = props.data.leaveDetail;
// formDataBirth.leaveDocument = props.data.leaveDocument; // formDataBirth.leaveDocument = props.data.leaveDocument;
} }
@ -348,6 +349,7 @@ onMounted(() => {
:readonly="!edit" :readonly="!edit"
/> />
<!-- multiple -->
<q-file <q-file
for="leaveDocumentRef" for="leaveDocumentRef"
hide-bottom-space hide-bottom-space
@ -358,7 +360,7 @@ onMounted(() => {
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
use-chips use-chips
multiple
class="q-pl-sm col-12" class="q-pl-sm col-12"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -397,6 +399,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -184,6 +184,7 @@ onMounted(() => {
formDataHelpWife.leaveEndDate = props.data.leaveEndDate; formDataHelpWife.leaveEndDate = props.data.leaveEndDate;
formDataHelpWife.leaveTotal = props.data.leaveTotal; formDataHelpWife.leaveTotal = props.data.leaveTotal;
formDataHelpWife.leaveNumber = props.data.leaveNumber; formDataHelpWife.leaveNumber = props.data.leaveNumber;
formDataHelpWife.leaveAddress = props.data.leaveAddress;
formDataHelpWife.leaveDetail = props.data.leaveDetail; formDataHelpWife.leaveDetail = props.data.leaveDetail;
// formDataHelpWife.leaveDocument = props.data.leaveDocument; // formDataHelpWife.leaveDocument = props.data.leaveDocument;
} }
@ -435,6 +436,7 @@ onMounted(() => {
:readonly="!edit" :readonly="!edit"
/> />
<!-- multiple -->
<q-file <q-file
bg-color="white" bg-color="white"
ref="leaveDocumentRef" ref="leaveDocumentRef"
@ -444,7 +446,7 @@ onMounted(() => {
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
use-chips use-chips
multiple
class="q-pl-sm col-12" class="q-pl-sm col-12"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -482,6 +484,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -193,6 +193,7 @@ onMounted(() => {
formDataVacation.leaveEndDate = props.data.leaveEndDate; formDataVacation.leaveEndDate = props.data.leaveEndDate;
formDataVacation.leaveTotal = props.data.leaveTotal; formDataVacation.leaveTotal = props.data.leaveTotal;
formDataVacation.leaveNumber = props.data.leaveNumber; formDataVacation.leaveNumber = props.data.leaveNumber;
formDataVacation.leaveAddress = props.data.leaveAddress;
formDataVacation.leaveDetail = props.data.leaveDetail; formDataVacation.leaveDetail = props.data.leaveDetail;
// formDataVacation.leaveDocument = props.data.leaveDocument; // formDataVacation.leaveDocument = props.data.leaveDocument;
} }
@ -264,7 +265,7 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
bg-color="white" bg-color="white"
outlined outlined
v-model="dataStore.leaveRemain" v-model="dataStore.restDayCurrentTotal"
label="จำนวนวันลาพักผ่อนประจำปีปัจจุบัน" label="จำนวนวันลาพักผ่อนประจำปีปัจจุบัน"
/> />
@ -429,6 +430,7 @@ onMounted(() => {
:readonly="!edit" :readonly="!edit"
/> />
<!-- multiple -->
<q-file <q-file
ref="leaveDocumentRef" ref="leaveDocumentRef"
bg-color="white" bg-color="white"
@ -438,7 +440,7 @@ onMounted(() => {
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
use-chips use-chips
multiple
class="q-pl-sm col-12" class="q-pl-sm col-12"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -476,6 +478,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -60,12 +60,12 @@ const leaveDocumentRef = ref<object | null>(null);
const formDataOrdination = reactive<any>({ const formDataOrdination = reactive<any>({
type: dataStore.typeId, type: dataStore.typeId,
leaveWrote: "", leaveWrote: "",
leavegovernmentDate: new Date(), leavegovernmentDate: null,
leavebirthDate: new Date(), leavebirthDate: null,
leaveStartDate: null, leaveStartDate: null,
leaveEndDate: null, leaveEndDate: null,
totalLeave: new Date(), totalLeave: 0,
ordainDayOrdination: new Date(), ordainDayOrdination: null,
ordainDayLocationName: "", ordainDayLocationName: "",
ordainDayLocationNumber: null, ordainDayLocationNumber: null,
ordainDayLocationAddress: "", ordainDayLocationAddress: "",
@ -78,8 +78,8 @@ const formDataOrdination = reactive<any>({
/** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */ /** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */
const formRef: OrdinationForm = { const formRef: OrdinationForm = {
leaveWrote: leaveWroteRef, leaveWrote: leaveWroteRef,
leavegovernmentDate: leavegovernmentDateRef, // leavegovernmentDate: leavegovernmentDateRef,
leavebirthDate: leavebirthDateRef, // leavebirthDate: leavebirthDateRef,
leaveStartDate: leaveStartDateRef, leaveStartDate: leaveStartDateRef,
leaveEndDate: leaveEndDateRef, leaveEndDate: leaveEndDateRef,
totalLeave: totalLeaveRef, totalLeave: totalLeaveRef,
@ -156,14 +156,6 @@ function onValidate() {
formData.append("ordainDayStatus", formDataOrdination.ordainDayStatus); formData.append("ordainDayStatus", formDataOrdination.ordainDayStatus);
formData.append("leaveWrote", formDataOrdination.leaveWrote); formData.append("leaveWrote", formDataOrdination.leaveWrote);
formData.append("leaveDetail", formDataOrdination.leaveDetail); formData.append("leaveDetail", formDataOrdination.leaveDetail);
formData.append(
"leavebirthDate",
dateToISO(formDataOrdination.leavebirthDate)
);
formData.append(
"leavegovernmentDate",
dateToISO(formDataOrdination.leavegovernmentDate)
);
props.onSubmit(formData); props.onSubmit(formData);
} }
} }
@ -212,7 +204,7 @@ onMounted(() => {
formDataOrdination.leaveWrote = props.data.leaveWrote; formDataOrdination.leaveWrote = props.data.leaveWrote;
formDataOrdination.leaveStartDate = props.data.leaveStartDate; formDataOrdination.leaveStartDate = props.data.leaveStartDate;
formDataOrdination.leaveEndDate = props.data.leaveEndDate; formDataOrdination.leaveEndDate = props.data.leaveEndDate;
formDataOrdination.totalLeave = props.data.leaveTotal; formDataOrdination.leaveTotal = props.data.leaveTotal;
formDataOrdination.ordainDayOrdination = props.data.ordainDayOrdination; formDataOrdination.ordainDayOrdination = props.data.ordainDayOrdination;
formDataOrdination.ordainDayLocationName = props.data.ordainDayLocationName; formDataOrdination.ordainDayLocationName = props.data.ordainDayLocationName;
formDataOrdination.ordainDayLocationNumber = formDataOrdination.ordainDayLocationNumber =
@ -384,14 +376,11 @@ onMounted(() => {
readonly readonly
class="full-width" class="full-width"
:model-value=" :model-value="
formDataOrdination.leavegovernmentDate != null dataStore.dateAppoint != null
? date2Thai(formDataOrdination.leavegovernmentDate) ? date2Thai(dataStore.dateAppoint)
: null : null
" "
:label="`${'วันที่เข้ารับราชการ'}`" :label="`${'วันที่เข้ารับราชการ'}`"
:rules="[
(val) => !!val || `${'กรุณาเลือกวันที่เข้ารับราชการ'}`,
]"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon
@ -432,12 +421,11 @@ onMounted(() => {
readonly readonly
class="full-width" class="full-width"
:model-value=" :model-value="
formDataOrdination.leavebirthDate != null dataStore.birthDate != null
? date2Thai(formDataOrdination.leavebirthDate) ? date2Thai(dataStore.birthDate)
: null : null
" "
:label="`${'วันเดือนปีเกิด'}`" :label="`${'วันเดือนปีเกิด'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกวันเดือนปีเกิด'}`]"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon
@ -459,14 +447,14 @@ onMounted(() => {
<div class="col-12"> <div class="col-12">
<q-radio <q-radio
v-model="formDataOrdination.ordainDayStatus" v-model="formDataOrdination.ordainDayStatus"
val="true" :val="true"
label="เคยบวช" label="เคยบวช"
checked-icon="task_alt " checked-icon="task_alt "
hide-bottom-space hide-bottom-space
/> />
<q-radio <q-radio
v-model="formDataOrdination.ordainDayStatus" v-model="formDataOrdination.ordainDayStatus"
val="false" :val="false"
label="ไม่เคยบวช" label="ไม่เคยบวช"
checked-icon="task_alt" checked-icon="task_alt"
hide-bottom-space hide-bottom-space
@ -600,7 +588,8 @@ onMounted(() => {
:readonly="!edit" :readonly="!edit"
/> />
<div class="col-12 col-sm-6"> <div class="col-12">
<!-- multiple -->
<q-file <q-file
ref="leaveDocumentRef" ref="leaveDocumentRef"
v-model="formDataOrdination.leaveDocument" v-model="formDataOrdination.leaveDocument"
@ -609,7 +598,6 @@ onMounted(() => {
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
bg-color="white" bg-color="white"
multiple
use-chips use-chips
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -646,6 +634,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -52,10 +52,10 @@ const props = defineProps({
const formDataHaji = reactive<any>({ const formDataHaji = reactive<any>({
type: dataStore.typeId, type: dataStore.typeId,
leaveWrote: "", leaveWrote: "",
leavegovernmentDate: new Date(), leavegovernmentDate: null,
leaveStartDate: null, leaveStartDate: null,
leaveEndDate: null, leaveEndDate: null,
totalLeave: new Date(), totalLeave: null,
hajjDayStatus: "true", hajjDayStatus: "true",
leaveDocument: null, leaveDocument: null,
}); });
@ -106,11 +106,7 @@ function onValidate() {
formData.append("hajjDayStatus", formDataHaji.hajjDayStatus); formData.append("hajjDayStatus", formDataHaji.hajjDayStatus);
formData.append("leaveWrote", formDataHaji.leaveWrote); formData.append("leaveWrote", formDataHaji.leaveWrote);
formData.append("leaveDetail", formDataHaji.leaveDetail); formData.append("leaveDetail", formDataHaji.leaveDetail);
formData.append( props.onSubmit(formData);
"leavegovernmentDate",
dateToISO(formDataHaji.leavegovernmentDate)
);
props.onSubmit(FormData);
} }
} }
@ -156,7 +152,7 @@ function updateLeaveTotal() {
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
formDataHaji.leaveWrote = props.data.leaveWrote; formDataHaji.leaveWrote = props.data.leaveWrote;
formDataHaji.leavegovernmentDate = props.data.leavegovernmentDate; formDataHaji.leaveTotal = props.data.leaveTotal;
formDataHaji.leaveStartDate = props.data.leaveStartDate; formDataHaji.leaveStartDate = props.data.leaveStartDate;
formDataHaji.leaveEndDate = props.data.leaveEndDate; formDataHaji.leaveEndDate = props.data.leaveEndDate;
formDataHaji.totalLeave = props.data.totalLeave; formDataHaji.totalLeave = props.data.totalLeave;
@ -296,7 +292,6 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
/> />
<datepicker <datepicker
v-model="formDataHaji.leavegovernmentDate"
class="col-12 col-md-4 col-sm-6" class="col-12 col-md-4 col-sm-6"
menu-class-name="modalfix" menu-class-name="modalfix"
autoApply autoApply
@ -323,8 +318,8 @@ onMounted(() => {
hide-bottom-space hide-bottom-space
:label="`${'วันที่เข้ารับราชการ'}`" :label="`${'วันที่เข้ารับราชการ'}`"
:model-value=" :model-value="
formDataHaji.leavegovernmentDate != null dataStore.dateAppoint != null
? date2Thai(formDataHaji.leavegovernmentDate) ? date2Thai(dataStore.dateAppoint)
: null : null
" "
:rules="[ :rules="[
@ -351,13 +346,13 @@ onMounted(() => {
<div class="col-12"> <div class="col-12">
<q-radio <q-radio
v-model="formDataHaji.hajjDayStatus" v-model="formDataHaji.hajjDayStatus"
val="true" :val="true"
checked-icon="task_alt" checked-icon="task_alt"
label="เคย" label="เคย"
/> />
<q-radio <q-radio
v-model="formDataHaji.hajjDayStatus" v-model="formDataHaji.hajjDayStatus"
val="false" :val="false"
checked-icon="task_alt" checked-icon="task_alt"
label="ไม่เคยไปประกอบพิธีฮัจญ์" label="ไม่เคยไปประกอบพิธีฮัจญ์"
/> />
@ -373,7 +368,8 @@ onMounted(() => {
label="รายละเอียด" label="รายละเอียด"
/> />
<div class="col-12 col-sm-6"> <div class="col-12">
<!-- multiple -->
<q-file <q-file
v-model="formDataHaji.leaveDocument" v-model="formDataHaji.leaveDocument"
bg-color="white" bg-color="white"
@ -382,7 +378,7 @@ onMounted(() => {
@added="fileUploadDoc" @added="fileUploadDoc"
dense dense
outlined outlined
multiple
hide-bottom-space hide-bottom-space
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -417,6 +413,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -424,14 +424,15 @@ onMounted(() => {
label="รายละเอียด" label="รายละเอียด"
/> />
<div class="col-12 col-sm-6"> <div class="col-12">
<!-- multiple -->
<q-file <q-file
v-model="formDataMilitary.leaveDocument" v-model="formDataMilitary.leaveDocument"
dense dense
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
bg-color="white" bg-color="white"
multiple
hide-bottom-space hide-bottom-space
use-chips use-chips
@added="fileUploadDoc" @added="fileUploadDoc"
@ -468,6 +469,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -136,7 +136,6 @@ function onValidate() {
"leavegovernmentDate", "leavegovernmentDate",
dateToISO(formDataStudy.leavegovernmentDate) dateToISO(formDataStudy.leavegovernmentDate)
); );
formData.append("leavebirthDate", dateToISO(formDataStudy.leavebirthDate));
formData.append( formData.append(
"studyDayUniversityName", "studyDayUniversityName",
formDataStudy.studyDayUniversityName formDataStudy.studyDayUniversityName
@ -167,9 +166,8 @@ async function FetchCheck() {
const data = res.data.result; const data = res.data.result;
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
if (data.isLeave === true) { if (data.isLeave === true) {
formDataStudy.leaveTotal = // formDataStudy.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday;
data.fetchCheck - data.sumDateWork - data.sumDateHoliday; formDataStudy.leaveTotal = data.totalDate;
// formDataStudy.leaveLast = data.fetchCheck
} else { } else {
fails($q, "ไม่สามารถลาได้"); fails($q, "ไม่สามารถลาได้");
} }
@ -191,35 +189,26 @@ function updateLeaveTotal() {
console.log("test"); console.log("test");
} }
/**
* แปลงตวเลขเงนเดอน
*/
const formattedleaveSalary = computed(() => {
return dataStore.salary !== null
? dataStore.salary.toLocaleString("th-TH")
: "";
});
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
formDataMilitary.leaveWrote = props.data.leaveWrote; formDataStudy.leaveWrote = props.data.leaveWrote;
formDataMilitary.leaveStartDate = props.data.leaveStartDate; formDataStudy.leaveStartDate = props.data.leaveStartDate;
formDataMilitary.leaveEndDate = props.data.leaveEndDate; formDataStudy.leaveEndDate = props.data.leaveEndDate;
formDataMilitary.leaveTotal = props.data.leaveTotal; formDataStudy.leaveTotal = props.data.leaveTotal;
formDataMilitary.leavebirthDate = props.data.leavebirthDate; formDataStudy.leavebirthDate = props.data.leavebirthDate;
formDataMilitary.leavegovernmentDate = props.data.leavegovernmentDate; formDataStudy.leavegovernmentDate = props.data.leavegovernmentDate;
formDataMilitary.leaveSalary = props.data.leaveSalary; formDataStudy.leaveSalary = props.data.leaveSalary;
formDataMilitary.leaveSalaryText = props.data.leaveSalaryText; formDataStudy.leaveSalaryText = props.data.leaveSalaryText;
formDataMilitary.leaveNumber = props.data.leaveNumber; formDataStudy.leaveNumber = props.data.leaveNumber;
formDataMilitary.leaveAddress = props.data.leaveAddress; formDataStudy.leaveAddress = props.data.leaveAddress;
formDataMilitary.studyDayScholarship = props.data.studyDayScholarship; formDataStudy.studyDayScholarship = props.data.studyDayScholarship;
formDataMilitary.studyDayCountry = props.data.studyDayCountry; formDataStudy.studyDayCountry = props.data.studyDayCountry;
formDataMilitary.studyDayUniversityName = props.data.studyDayUniversityName; formDataStudy.studyDayUniversityName = props.data.studyDayUniversityName;
formDataMilitary.studyDayDegreeLevel = props.data.studyDayDegreeLevel; formDataStudy.studyDayDegreeLevel = props.data.studyDayDegreeLevel;
formDataMilitary.studyDaySubject = props.data.studyDaySubject; formDataStudy.studyDaySubject = props.data.studyDaySubject;
// formDataMilitary.leaveDocument = props.data.leaveDocument; // formDataStudy.leaveDocument = props.data.leaveDocument;
formDataMilitary.leaveDetail = props.data.leaveDetail; formDataStudy.leaveDetail = props.data.leaveDetail;
} }
}); });
</script> </script>
@ -355,7 +344,6 @@ onMounted(() => {
<div class="full-width"> <div class="full-width">
<div class="q-col-gutter-sm row"> <div class="q-col-gutter-sm row">
<datepicker <datepicker
v-model="formDataStudy.leavegovernmentDate"
class="col-12 col-md-3 col-sm-6" class="col-12 col-md-3 col-sm-6"
menu-class-name="modalfix" menu-class-name="modalfix"
autoApply autoApply
@ -403,7 +391,6 @@ onMounted(() => {
</datepicker> </datepicker>
<datepicker <datepicker
v-model="formDataStudy.leavebirthDate"
class="col-12 col-md-3 col-sm-6" class="col-12 col-md-3 col-sm-6"
menu-class-name="modalfix" menu-class-name="modalfix"
autoApply autoApply
@ -449,7 +436,7 @@ onMounted(() => {
</datepicker> </datepicker>
<q-input <q-input
v-model="formattedleaveSalary" :model-value="dataStore.salary"
ref="leaveSalaryRef" ref="leaveSalaryRef"
class="col-12 col-sm-6 col-md-3" class="col-12 col-sm-6 col-md-3"
bg-color="white" bg-color="white"
@ -460,7 +447,7 @@ onMounted(() => {
/> />
<q-input <q-input
v-model="dataStore.salaryText" :model-value="dataStore.salaryText"
ref="leaveSalaryRef" ref="leaveSalaryRef"
class="col-12 col-sm-6 col-md-3" class="col-12 col-sm-6 col-md-3"
bg-color="white" bg-color="white"
@ -578,13 +565,13 @@ onMounted(() => {
label="รายละเอียด" label="รายละเอียด"
/> />
<div class="col-12 col-sm-6"> <div class="col-12">
<!-- multiple -->
<q-file <q-file
v-model="formDataStudy.leaveDocument" v-model="formDataStudy.leaveDocument"
bg-color="white" bg-color="white"
dense dense
outlined outlined
multiple
use-chips use-chips
@added="fileUploadDoc" @added="fileUploadDoc"
label="เอกสารประกอบ" label="เอกสารประกอบ"
@ -621,6 +608,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -165,7 +165,7 @@ async function FetchCheck() {
isLeave.value = data.isLeave; isLeave.value = data.isLeave;
if (data.isLeave === true) { if (data.isLeave === true) {
// formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday // formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
// formDataTrain.leaveTotal = data.totalDate formDataTrain.leaveTotal = data.totalDate
} else { } else {
fails($q, "ไม่สามารถลาได้"); fails($q, "ไม่สามารถลาได้");
} }
@ -202,6 +202,7 @@ onMounted(() => {
formDataTrain.leaveWrote = props.data.leaveWrote; formDataTrain.leaveWrote = props.data.leaveWrote;
formDataTrain.leaveStartDate = props.data.leaveStartDate; formDataTrain.leaveStartDate = props.data.leaveStartDate;
formDataTrain.leaveEndDate = props.data.leaveEndDate; formDataTrain.leaveEndDate = props.data.leaveEndDate;
formDataTrain.leaveTotal = props.data.leaveTotal;
formDataTrain.leavebirthDate = props.data.leavebirthDate; formDataTrain.leavebirthDate = props.data.leavebirthDate;
formDataTrain.leavegovernmentDate = props.data.leavegovernmentDate; formDataTrain.leavegovernmentDate = props.data.leavegovernmentDate;
formDataTrain.leaveSalary = props.data.leaveSalary; formDataTrain.leaveSalary = props.data.leaveSalary;
@ -556,13 +557,14 @@ onMounted(() => {
label="รายละเอียด" label="รายละเอียด"
/> />
<div class="col-12 col-sm-6"> <div class="col-12">
<!-- multiple -->
<q-file <q-file
v-model="formDataTrain.leaveDocument" v-model="formDataTrain.leaveDocument"
bg-color="white" bg-color="white"
dense dense
outlined outlined
multiple
label="เอกสารประกอบ" label="เอกสารประกอบ"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -597,6 +599,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -43,7 +43,7 @@ const formDataWorkInternational = reactive<any>({
leaveEndDate: null, leaveEndDate: null,
leaveDetail: "", leaveDetail: "",
leaveDocument: null, leaveDocument: null,
leaveDraftDocument: null, leaveDraftDocument: [],
}); });
/** ตัวแปร ref สำหรับแสดง validate */ /** ตัวแปร ref สำหรับแสดง validate */
@ -87,16 +87,17 @@ function onValidate() {
// Validate // Validate
if (hasError.every((result) => result === true)) { if (hasError.every((result) => result === true)) {
const formData = new FormData(); const formData = new FormData();
// //
// if (formDataWorkInternational.leaveDocument.length > 0) {
// const blob = formDataWorkInternational.leaveDocument.slice(0, formDataWorkInternational.leaveDocument[0].size)
// const newFile = new File(blob, nameFile.value, {
// type: formDataWorkInternational.leaveDocument[0].type,
// })
// formData.append("leaveDocument", newFile)
// }
if (formDataWorkInternational.leaveDocument) { if (formDataWorkInternational.leaveDocument) {
// //
// if (formDataWorkInternational.leaveDocument.length > 0) {
// const blob = formDataWorkInternational.leaveDocument.slice(0, formDataWorkInternational.leaveDocument[0].size)
// const newFile = new File(blob, nameFile.value, {
// type: formDataWorkInternational.leaveDocument[0].type,
// })
// formData.append("leaveDocument", newFile)
// }
formData.append("leaveDocument", formDataWorkInternational.leaveDocument); formData.append("leaveDocument", formDataWorkInternational.leaveDocument);
} }
@ -117,7 +118,7 @@ function onValidate() {
); // ); //
formData.append("leaveWrote", formDataWorkInternational.leaveWrote); // formData.append("leaveWrote", formDataWorkInternational.leaveWrote); //
formData.append("leaveDetail", formDataWorkInternational.leaveDetail); // formData.append("leaveDetail", formDataWorkInternational.leaveDetail); //
props.onSubmit(FormData); props.onSubmit(formData);
} }
} }
@ -435,6 +436,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -609,6 +609,7 @@ onMounted(() => {
:readonly="!edit" :readonly="!edit"
/> />
<!-- multiple -->
<q-file <q-file
ref="fileRef" ref="fileRef"
bg-color="white" bg-color="white"
@ -618,7 +619,7 @@ onMounted(() => {
label="เอกสารประกอบ" label="เอกสารประกอบ"
outlined outlined
use-chips use-chips
multiple
class="q-pl-sm col-12" class="q-pl-sm col-12"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -656,6 +657,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -73,26 +73,26 @@ function onValidate() {
} }
if (hasError.every((result) => result === true)) { if (hasError.every((result) => result === true)) {
const formData = new FormData(); const formData = new FormData();
// if (formDataRehabilitation.leaveDraftDocument.length > 0) {
// const blobDrafe = formDataRehabilitation.leaveDraftDocument.slice(0, formDataRehabilitation.leaveDraftDocument[0].size)
// const newFileDraft = new File(blobDrafe, nameFileDraft.value, {
// type: formDataRehabilitation.leaveDraftDocument[0].type,
// })
// formData.append("leaveDraftDocument", newFileDraft) //
// }
// if (formDataRehabilitation.leaveDocument.length > 0) { if (formDataRehabilitation.leaveDocument) {
// const blob = formDataRehabilitation.leaveDocument.slice(0, formDataRehabilitation.leaveDocument[0].size) // if (formDataRehabilitation.leaveDocument.length > 0) {
// const newFile = new File(blob, nameFile.value, { // const blob = formDataRehabilitation.leaveDocument.slice(0, formDataRehabilitation.leaveDocument[0].size)
// type: formDataRehabilitation.leaveDocument[0].type, // const newFile = new File(blob, nameFile.value, {
// }) // type: formDataRehabilitation.leaveDocument[0].type,
// formData.append("leaveDocument", newFile) // })
// } // // formData.append("leaveDocument", newFile)
formData.append( // } //
"leaveDraftDocument",
formDataRehabilitation.leaveDraftDocument formData.append("leaveDocument", formDataRehabilitation.leaveDocument);
); }
formData.append("leaveDocument", formDataRehabilitation.leaveDocument);
if (formDataRehabilitation.leaveDraftDocument) {
formData.append(
"leaveDraftDocument",
formDataRehabilitation.leaveDraftDocument
);
}
formData.append("type", formDataRehabilitation.type); // formData.append("type", formDataRehabilitation.type); //
formData.append( formData.append(
"leaveStartDate", "leaveStartDate",
@ -303,6 +303,7 @@ onMounted(() => {
/> />
<div class="col-12 col-sm-6"> <div class="col-12 col-sm-6">
<!-- multiple -->
<q-file <q-file
v-model="formDataRehabilitation.leaveDocument" v-model="formDataRehabilitation.leaveDocument"
@added="fileUploadDoc" @added="fileUploadDoc"
@ -310,7 +311,7 @@ onMounted(() => {
bg-color="white" bg-color="white"
dense dense
outlined outlined
multiple
label="เอกสารประกอบ" label="เอกสารประกอบ"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -388,7 +389,6 @@ onMounted(() => {
label="แบบฟอร์ม" label="แบบฟอร์ม"
outlined outlined
bg-color="white" bg-color="white"
multiple
accept="application/pdf" accept="application/pdf"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -411,6 +411,7 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated

View file

@ -136,16 +136,14 @@ export const useLeaveStore = defineStore("Leave", () => {
/** รายการประเภทการลาของ ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน*/ /** รายการประเภทการลาของ ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน*/
const optionsSpecific = ref<OptionData[]>([ const optionsSpecific = ref<OptionData[]>([
{ id: "s0", name: "ลาไปศึกษาต่อ", code: "s0" }, { id: "s1", name: "ลาไปศึกษาต่อ", code: "s1" },
{ id: "s1", name: "ลาฝึกอบรม", code: "s1" }, { id: "s2", name: "ลาฝึกอบรม/ปฎิบัติการวิจัย/ดูงาน", code: "s2" },
{ id: "s2", name: "ลาปฎิบัติการวิจัย", code: "s2" },
{ id: "s3", name: "ลาดูงาน", code: "s3" },
]); ]);
/** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์*/ /** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์*/
const optionsOrdination = ref<OptionData[]>([ const optionsOrdination = ref<OptionData[]>([
{ id: 'b1', name: "ลาอุปสมบท", code: 'b1' }, { id: "b1", name: "ลาอุปสมบท", code: "b1" },
{ id: 'b2', name: "ลาประกอบพิธีฮัจญ์", code: 'b2' }, { id: "b2", name: "ลาประกอบพิธีฮัจญ์", code: "b2" },
]); ]);
/** data table filter & column ของรายการลา */ /** data table filter & column ของรายการลา */
@ -202,13 +200,13 @@ export const useLeaveStore = defineStore("Leave", () => {
*/ */
function typeConvert(item: string, subitem: any) { function typeConvert(item: string, subitem: any) {
// console.log('first',item) // console.log('first',item)
if (item !== "LV-006" && item !== "LV-008") { // if (item !== "LV-006" && item !== "LV-008") {
typeLeave.value = convertSubtitle(item); typeLeave.value = convertSubtitle(item);
} else if (item === "LV-006") { // } else if (item === "LV-006") {
typeLeave.value = convertSubtitleInfo(subitem); // typeLeave.value = convertSubtitleInfo(subitem);
} else if (item === "LV-008") { // } else if (item === "LV-008") {
typeLeave.value = convertSubtitleInfo2(subitem); // typeLeave.value = convertSubtitleInfo2(subitem);
} // }
typeId.value = convertId(item); typeId.value = convertId(item);
} }
@ -288,9 +286,12 @@ export const useLeaveStore = defineStore("Leave", () => {
restDayTotalOld.value = data.restDayTotalOld; restDayTotalOld.value = data.restDayTotalOld;
birthDate.value = data.birthDate; birthDate.value = data.birthDate;
dateAppoint.value = data.dateAppoint; dateAppoint.value = data.dateAppoint;
salary.value = data.salary; salary.value = data.salary ? data.salary.toLocaleString("th-TH") : "";
salaryText.value = data.salaryText; salaryText.value = data.salaryText;
leaveLast.value = data.leaveLast != "0001-01-01T00:00:00" ? date2Thai(data.leaveLast) : "-"; leaveLast.value =
data.leaveLast != "0001-01-01T00:00:00"
? date2Thai(data.leaveLast)
: "-";
restDayCurrentTotal.value = data.restDayCurrentTotal; restDayCurrentTotal.value = data.restDayCurrentTotal;
}) })
.catch((e: any) => { .catch((e: any) => {
@ -299,6 +300,23 @@ export const useLeaveStore = defineStore("Leave", () => {
} }
async function fetchProfileOld(data: any) { async function fetchProfileOld(data: any) {
await http
.post(config.API.leaveProfile(), { type: typeId.value })
.then((res: any) => {
const data = res.data.result;
leaveLimit.value = data.leaveLimit;
leaveTotal.value = data.leaveTotal;
leaveRemain.value = data.leaveRemain;
restDayTotalOld.value = data.restDayTotalOld; //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา
birthDate.value = data.birthDate; // วันเกิด
dateAppoint.value = data.dateAppoint; // วันที่รับราชการ
salary.value = data.salary ? data.salary.toLocaleString("th-TH") : "";
salaryText.value = data.salaryText;
})
.catch((e: any) => {
messageError($q, e);
});
dateSendLeave.value = data.dateSendLeave; dateSendLeave.value = data.dateSendLeave;
typeLeave.value = data.leaveTypeName; typeLeave.value = data.leaveTypeName;
dear.value = data.dear; dear.value = data.dear;
@ -306,15 +324,8 @@ export const useLeaveStore = defineStore("Leave", () => {
positionName.value = data.positionName; positionName.value = data.positionName;
positionLevelName.value = data.positionLevelName; positionLevelName.value = data.positionLevelName;
organizationName.value = data.organizationName; organizationName.value = data.organizationName;
leaveLimit.value = data.leaveLimit; leaveLast.value =
leaveTotal.value = data.leaveTotal; data.leaveLast != "0001-01-01T00:00:00" ? date2Thai(data.leaveLast) : "-";
leaveRemain.value = data.leaveRemain;
restDayTotalOld.value = data.restDayTotalOld;
birthDate.value = data.birthDate;
dateAppoint.value = data.dateAppoint;
salary.value = data.salary;
salaryText.value = data.salaryText;
leaveLast.value = data.leaveLast != "0001-01-01T00:00:00" ? date2Thai(data.leaveLast) : "-";
restDayCurrentTotal.value = data.restDayCurrentTotal; restDayCurrentTotal.value = data.restDayCurrentTotal;
} }

View file

@ -61,8 +61,10 @@ function onSubmit(postData: FormData) {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
showLoader(); showLoader();
await http await http
.put(config.API.leaveUser(), postData) .post(config.API.leaveUser(), postData)
.then(() => { .then(() => {
// router.push(`/leave/edit/${id}`);
router.push("/leave");
success($q, "บันทึกสำเร็จ"); success($q, "บันทึกสำเร็จ");
}) })
.catch((e: any) => { .catch((e: any) => {
@ -200,14 +202,14 @@ onMounted(async () => {
:on-submit="onSubmit" :on-submit="onSubmit"
/> />
<StudyForm <StudyForm
v-if="model === 'LV-008' && modelSpecific === 's0'" v-if="model === 'LV-008' && modelSpecific === 's1'"
style="width: 100%" style="width: 100%"
:on-submit="onSubmit" :on-submit="onSubmit"
/> />
<TrainForm <TrainForm
v-if=" v-if="
model === 'LV-008' && model === 'LV-008' &&
modelSpecific != 's0' && modelSpecific != 's1' &&
modelSpecific != '' modelSpecific != ''
" "
:on-submit="onSubmit" :on-submit="onSubmit"

View file

@ -115,6 +115,8 @@ async function fetchDataDetail(id: string) {
.then(async (res) => { .then(async (res) => {
const data = await res.data.result; const data = await res.data.result;
dataStore.typeId = data.leaveTypeId;
titleName.value = data.fullName ?? "-"; titleName.value = data.fullName ?? "-";
formData.id = data.id ?? "-"; formData.id = data.id ?? "-";
formData.leaveTypeName = data.leaveTypeName ?? "-"; formData.leaveTypeName = data.leaveTypeName ?? "-";
@ -150,7 +152,7 @@ async function fetchDataDetail(id: string) {
data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn); data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn);
formData.restDayOldTotal = data.restDayOldTotal ?? "-"; formData.restDayOldTotal = data.restDayOldTotal ?? "-";
formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-"; formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-";
formData.ordainDayStatus = data.ordainDayStatus ? "เคย" : "ไม่เคยบวช"; formData.ordainDayStatus = data.ordainDayStatus;
formData.ordainDayLocationName = data.ordainDayLocationName ?? "-"; formData.ordainDayLocationName = data.ordainDayLocationName ?? "-";
formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-"; formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-";
formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-"; formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-";
@ -160,9 +162,7 @@ async function fetchDataDetail(id: string) {
data.ordainDayBuddhistLentName ?? "-"; data.ordainDayBuddhistLentName ?? "-";
formData.ordainDayBuddhistLentAddress = formData.ordainDayBuddhistLentAddress =
data.ordainDayBuddhistLentAddress ?? "-"; data.ordainDayBuddhistLentAddress ?? "-";
formData.hajjDayStatus = data.hajjDayStatus formData.hajjDayStatus = data.hajjDayStatus;
? "เคย"
: "ไม่เคยไปประกอบพิธีฮัจญ์";
formData.absentDaySummon = data.absentDaySummon ?? "-"; formData.absentDaySummon = data.absentDaySummon ?? "-";
formData.absentDayLocation = data.absentDayLocation ?? "-"; formData.absentDayLocation = data.absentDayLocation ?? "-";
formData.absentDayRegistorDate = formData.absentDayRegistorDate =
@ -195,7 +195,6 @@ async function fetchDataDetail(id: string) {
// checkLeaveType(formData.leaveTypeId, formData.leaveTypeName) // checkLeaveType(formData.leaveTypeId, formData.leaveTypeName)
dataStore.fetchProfileOld(data); dataStore.fetchProfileOld(data);
dataStore.typeId = formData.leaveTypeId;
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
@ -216,18 +215,14 @@ const modelSpecific = computed(() => {
(x) => x.id == formData.leaveTypeId (x) => x.id == formData.leaveTypeId
)?.code; )?.code;
if (code == "LV-006" && formData.leaveTypeName == 'ลาอุปสมบท') { if (code == "LV-006" && formData.ordainDayLocationName != "") {
return "b0";
} else if (code == "LV-006" && formData.leaveTypeName == 'ลาประกอบพิธีฮัจญ์') {
return "b1"; return "b1";
} else if (code == "LV-008" && formData.leaveTypeName == 'ลาไปศึกษาต่อ') { } else if (code == "LV-006" && formData.ordainDayLocationName == "") {
return "s0"; return "b2";
} else if (code == "LV-008" && formData.leaveTypeName == 'ลาฝึกอบรม') { } else if (code == "LV-008" && formData.studyDayTrainingSubject == "") {
return "s1"; return "s1";
} else if (code == "LV-008" && formData.leaveTypeName == 'ลาปฎิบัติการวิจัย') { } else if (code == "LV-008" && formData.studyDayTrainingSubject != "") {
return "s2"; return "s2";
} else if (code == "LV-008" && formData.leaveTypeName == 'ลาดูงาน') {
return "s3";
} else { } else {
return ""; return "";
} }
@ -237,7 +232,8 @@ function onSubmit(postData: FormData) {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
showLoader(); showLoader();
await http await http
.put(config.API.leaveUser() + "/" + formData.id, postData) .post(config.API.leaveUser(), postData)
// .put(config.API.leaveUser() + "/" + formData.id, postData)
.then(() => { .then(() => {
success($q, "บันทึกสำเร็จ"); success($q, "บันทึกสำเร็จ");
}) })
@ -250,6 +246,28 @@ function onSubmit(postData: FormData) {
}); });
} }
function onConfirm(id: string) {
dialogConfirm(
$q,
async () => {
// showLoader();
// await http
// .post(config.API.leaveUser() + "/" + id)
// .then(() => {
// success($q, "");
// })
// .catch((e: any) => {
// messageError($q, e);
// })
// .finally(() => {
// hideLoader();
// });
},
"ยืนยันการยื่นใบลา",
"หากยืนยันแล้วจะไม่สามารถกลับมาแก้ไขได้ ต้องการยืนยันการยื่นใบลานี้ใช่หรือไม่"
);
}
/** /**
* เรยกใชงาน fetchData เพอดงขอม * เรยกใชงาน fetchData เพอดงขอม
*/ */
@ -272,7 +290,10 @@ onMounted(() => {
color="primary" color="primary"
class="q-mr-sm" class="q-mr-sm"
/> />
<div>แกไขขอมลการ{{ formData.leaveTypeName }} {{ leaveId }}</div> <div>
แกไขใบลา
<!-- {{ formData.leaveTypeName }} {{ leaveId }} -->
</div>
</div> </div>
<q-form ref="myform" class="col-12"> <q-form ref="myform" class="col-12">
<q-card bordered> <q-card bordered>
@ -291,8 +312,9 @@ onMounted(() => {
<div class="q-py-sm q-px-lg"> <div class="q-py-sm q-px-lg">
<div class="row"> <div class="row">
<q-select <q-select
readonly
dense dense
class="col-12 col-sm-6 col-md-4 inputgreen" class="col-12 col-sm-6 col-md-4"
outlined outlined
v-model="formData.leaveTypeName" v-model="formData.leaveTypeName"
option-value="code" option-value="code"
@ -308,6 +330,7 @@ onMounted(() => {
v-if="model === 'LV-006' || model === 'LV-008'" v-if="model === 'LV-006' || model === 'LV-008'"
> >
<q-select <q-select
readonly
dense dense
outlined outlined
v-model="modelSpecific" v-model="modelSpecific"
@ -352,67 +375,79 @@ onMounted(() => {
v-if="model === 'LV-001' || model === 'LV-002'" v-if="model === 'LV-001' || model === 'LV-002'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<FormBirth <FormBirth
v-if="model === 'LV-003'" v-if="model === 'LV-003'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<HelpWifeBirthForm <HelpWifeBirthForm
v-if="model === 'LV-004'" v-if="model === 'LV-004'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<VacationForm <VacationForm
v-if="model === 'LV-005'" v-if="model === 'LV-005'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<OrdinationForm <OrdinationForm
v-if="model === 'LV-006' && modelSpecific === 'b0'"
:data="formData"
:on-submit="onSubmit"
/>
<HajjForm
v-if="model === 'LV-006' && modelSpecific === 'b1'" v-if="model === 'LV-006' && modelSpecific === 'b1'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/>
<HajjForm
v-if="model === 'LV-006' && modelSpecific === 'b2'"
:data="formData"
:on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<MilitaryForm <MilitaryForm
v-if="model === 'LV-007'" v-if="model === 'LV-007'"
style="width: 100%" style="width: 100%"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<StudyForm <StudyForm
v-if="model === 'LV-008' && modelSpecific === 's0'" v-if="model === 'LV-008' && modelSpecific === 's1'"
style="width: 100%" style="width: 100%"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<TrainForm <TrainForm
v-if=" v-if="
model === 'LV-008' && model === 'LV-008' &&
modelSpecific != 's0' && modelSpecific != 's1' &&
modelSpecific != '' modelSpecific != ''
" "
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<WorkInternationalForm <WorkInternationalForm
v-if="model === 'LV-009'" v-if="model === 'LV-009'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<FollowSpouseForm <FollowSpouseForm
v-if="model === 'LV-010'" v-if="model === 'LV-010'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
<RehabilitationForm <RehabilitationForm
v-if="model === 'LV-011'" v-if="model === 'LV-011'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm"
/> />
</div> </div>
</div> </div>