เพิ่ม api check ฟอร์มลา
This commit is contained in:
parent
3fe083f222
commit
7b0aefe2cd
15 changed files with 386 additions and 59 deletions
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const router = useRouter()
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError } = mixin
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError, fails } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
|
|
@ -147,8 +147,6 @@ async function saveFormData() {
|
|||
formData.append("leaveAddress", formDataSick.leaveAddress)
|
||||
formData.append("leaveNumber", formDataSick.leaveNumber)
|
||||
formData.append("leaveDetail", formDataSick.leaveDetail)
|
||||
formData.append("leaveTotal", formDataSick.leaveTotal)
|
||||
formData.append("leaveLast", formDataSick.leaveLast)
|
||||
await http
|
||||
.post(config.API.leaveUser(), formData)
|
||||
.then((res: any) => {
|
||||
|
|
@ -160,6 +158,28 @@ async function saveFormData() {
|
|||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataSick.leaveStartDate ?? null, EndLeaveDate: formDataSick.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataSick.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังก์ชั่นแปลงครึ่งวัน/ทั้งวัน
|
||||
*/
|
||||
|
|
@ -253,6 +273,7 @@ const isReadOnly = computed(() => {
|
|||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="isReadOnly"
|
||||
@update:model-value="FetchCheck()"
|
||||
:min-date="formDataSick.leaveStartDate ? new Date(formDataSick.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
|
|
@ -299,7 +320,7 @@ const isReadOnly = computed(() => {
|
|||
outlined
|
||||
ref="leaveLastRef"
|
||||
for="leaveLastRef"
|
||||
v-model="formDataSick.leaveLast"
|
||||
v-model="dataStore.leaveLast"
|
||||
label="ลาครั้งสุดท้ายเมื่อวันที่"
|
||||
readonly
|
||||
hide-bottom-space
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const mixin = useCounterMixin()
|
||||
const router = useRouter()
|
||||
const $q = useQuasar()
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError } = mixin
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError, fails } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
|
|
@ -113,6 +113,30 @@ const onSubmit = async () => {
|
|||
"ต้องการยืนยันการยื่นใบลานี้ใช่หรือไม่ ?"
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataBirth.leaveStartDate ?? null, EndLeaveDate: formDataBirth.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataBirth.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataBirth.leaveLast = data.sumDateWork
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -130,8 +154,6 @@ async function saveFormData() {
|
|||
formData.append("leaveAddress", formDataBirth.leaveAddress)
|
||||
formData.append("leaveNumber", formDataBirth.leaveNumber)
|
||||
formData.append("leaveDetail", formDataBirth.leaveDetail)
|
||||
formData.append("leaveLast", formDataBirth.leaveLast)
|
||||
formData.append("leaveTotal", formDataBirth.leaveTotal)
|
||||
|
||||
await http
|
||||
.post(config.API.leaveUser(), formData)
|
||||
|
|
@ -213,6 +235,7 @@ async function saveFormData() {
|
|||
v-model="formDataBirth.leaveEndDate"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
@update:model-value="FetchCheck()"
|
||||
borderless
|
||||
hide-bottom-space
|
||||
:enableTimePicker="false"
|
||||
|
|
@ -264,7 +287,7 @@ async function saveFormData() {
|
|||
outlined
|
||||
ref="leaveLastRef"
|
||||
for="leaveLastRef"
|
||||
v-model="formDataBirth.leaveLast"
|
||||
v-model="dataStore.leaveLast"
|
||||
label="ลาครั้งสุดท้ายเมื่อวันที่"
|
||||
readonly
|
||||
hide-bottom-space
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const mixin = useCounterMixin()
|
||||
const router = useRouter()
|
||||
const $q = useQuasar()
|
||||
const { date2Thai, calculateDurationYmd, dateToISO, dialogConfirm, success, messageError } = mixin
|
||||
const { date2Thai, calculateDurationYmd, dateToISO, dialogConfirm, fails, success, messageError } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
|
|
@ -130,6 +130,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, leaveStartDate: formDataHelpWife.leaveStartDate ?? null, leaveEndDate: formDataHelpWife.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataHelpWife.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataHelpWife.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -148,7 +171,6 @@ async function saveFormData() {
|
|||
formData.append("leaveAddress", formDataHelpWife.leaveAddress)
|
||||
formData.append("leaveNumber", formDataHelpWife.leaveNumber)
|
||||
formData.append("leaveDetail", formDataHelpWife.leaveDetail)
|
||||
formData.append("leaveTotal", formDataHelpWife.leaveTotal)
|
||||
formData.append("wifeDayName", formDataHelpWife.wifeDayName)
|
||||
formData.append("wifeDayDateBorn", dateToISO(formDataHelpWife.wifeDayDateBorn))
|
||||
await http
|
||||
|
|
@ -232,7 +254,7 @@ async function saveFormData() {
|
|||
borderless
|
||||
hide-bottom-space
|
||||
:enableTimePicker="false"
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
week-start="0"
|
||||
:readonly="!formDataHelpWife.leaveStartDate"
|
||||
:min-date="formDataHelpWife.leaveStartDate ? new Date(formDataHelpWife.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const $q = useQuasar()
|
|||
const dataStore = useLeaveStore()
|
||||
const mixin = useCounterMixin()
|
||||
const router = useRouter()
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError } = mixin
|
||||
const { date2Thai, dateToISO, dialogConfirm, success, messageError, fails } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
|
|
@ -126,6 +126,29 @@ const onSubmit = async () => {
|
|||
console.log("save")
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataVacation.leaveStartDate ?? null, EndLeaveDate: formDataVacation.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataVacation.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -144,9 +167,6 @@ async function saveFormData() {
|
|||
formData.append("leaveAddress", formDataVacation.leaveAddress)
|
||||
formData.append("leaveNumber", formDataVacation.leaveNumber)
|
||||
formData.append("leaveDetail", formDataVacation.leaveDetail)
|
||||
formData.append("restDayOldTotal", formDataVacation.restDayOldTotal)
|
||||
formData.append("restDayCurrentTotal", formDataVacation.restDayCurrentTotal)
|
||||
formData.append("leaveTotal", formDataVacation.leaveTotal)
|
||||
await http
|
||||
.post(config.API.leaveUser(), formData)
|
||||
.then((res: any) => {
|
||||
|
|
@ -217,7 +237,7 @@ const isReadOnly = computed(() => {
|
|||
bg-color="white"
|
||||
readonly
|
||||
outlined
|
||||
v-model="formDataVacation.restDayOldTotal"
|
||||
v-model="dataStore.restDayTotalOld"
|
||||
label="จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา"
|
||||
/>
|
||||
|
||||
|
|
@ -230,7 +250,7 @@ const isReadOnly = computed(() => {
|
|||
hide-bottom-space
|
||||
bg-color="white"
|
||||
outlined
|
||||
v-model="formDataVacation.restDayCurrentTotal"
|
||||
v-model="dataStore.restDayCurrentTotal"
|
||||
label="จำนวนวันลาพักผ่อนประจำปีปัจจุบัน"
|
||||
/>
|
||||
|
||||
|
|
@ -280,6 +300,7 @@ const isReadOnly = computed(() => {
|
|||
:locale="'th'"
|
||||
autoApply
|
||||
hide-bottom-space
|
||||
@update:model-value="FetchCheck()"
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const $q = useQuasar()
|
||||
const router = useRouter()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, dateToISO, success, messageError } = mixin
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, fails, dateToISO, success, messageError } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const files = ref<any>(null)
|
||||
|
||||
|
|
@ -138,6 +138,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataOrdination.leaveStartDate ?? null, EndLeaveDate: formDataOrdination.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataOrdination.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataOrdination.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -238,7 +261,7 @@ async function saveFormData() {
|
|||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
:readonly="!formDataOrdination.leaveStartDate"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataOrdination.leaveStartDate ? new Date(formDataOrdination.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const router = useRouter()
|
|||
const dataStore = useLeaveStore()
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, messageError, success, dateToISO } = mixin
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, fails, messageError, success, dateToISO } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const files = ref<any>(null)
|
||||
|
||||
|
|
@ -95,6 +95,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataHaji.leaveStartDate ?? null, EndLeaveDate: formDataHaji.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataHaji.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataHaji.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -221,6 +244,7 @@ function updateLeaveTotal() {
|
|||
:readonly="!formDataHaji.leaveStartDate"
|
||||
hide-bottom-space
|
||||
:label="`${'ลาถึงวันที่'}`"
|
||||
@update:model-value="FetchCheck()"
|
||||
:model-value="formDataHaji.leaveEndDate != null ? date2Thai(formDataHaji.leaveEndDate) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
>
|
||||
|
|
@ -282,10 +306,10 @@ function updateLeaveTotal() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" val="true" checked-icon="task_alt" label="เคย" />
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" val="false" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจย์ฯ" />
|
||||
<q-radio v-model="formDataHaji.hajjDayStatus" val="false" checked-icon="task_alt" label="ไม่เคยไปประกอบพิธีฮัจญ์" />
|
||||
</div>
|
||||
|
||||
<q-input v-model="formDataHaji.leaveDetail" class="col-12 q-mt-sm" bg-color="white" dense outlined type="textarea" label="รายละเอียด" />
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const router = useRouter()
|
|||
const dataStore = useLeaveStore()
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, dateToISO, success, messageError } = mixin
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, dateToISO, success, messageError, fails } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const files = ref<any>(null)
|
||||
|
||||
|
|
@ -107,6 +107,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataMilitary.leaveStartDate ?? null, EndLeaveDate: formDataMilitary.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataMilitary.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataMilitary.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -127,7 +150,6 @@ async function saveFormData() {
|
|||
formData.append("absentDayAt", formDataMilitary.absentDayAt)
|
||||
formData.append("leaveWrote", formDataMilitary.leaveWrote)
|
||||
formData.append("leaveDetail", formDataMilitary.leaveDetail)
|
||||
formData.append("leaveTotal", formDataMilitary.leaveTotal)
|
||||
|
||||
await http
|
||||
.post(config.API.leaveUser(), formData)
|
||||
|
|
@ -214,7 +236,7 @@ function updateLeaveTotal() {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
:readonly="!formDataMilitary.leaveStartDate"
|
||||
:min-date="formDataMilitary.leaveStartDate ? new Date(formDataMilitary.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const $q = useQuasar()
|
||||
const router = useRouter()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, dateToISO, success, messageError, arabicNumberToText } = mixin
|
||||
const { date2Thai, dialogConfirm, calculateDurationYmd, fails, dateToISO, success, messageError, arabicNumberToText } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const files = ref<any>(null)
|
||||
|
||||
|
|
@ -122,8 +122,27 @@ const onSubmit = async () => {
|
|||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataStudy.leaveStartDate ?? null, EndLeaveDate: formDataStudy.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataStudy.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataStudy.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
async function saveFormData() {
|
||||
const formData = new FormData()
|
||||
const blob = formDataStudy.leaveDocument.slice(0, formDataStudy.leaveDocument[0].size)
|
||||
|
|
@ -145,9 +164,6 @@ async function saveFormData() {
|
|||
formData.append("studyDayScholarship", formDataStudy.studyDayScholarship)
|
||||
formData.append("leaveAddress", formDataStudy.leaveAddress) //
|
||||
formData.append("leaveNumber", formDataStudy.leaveNumber) //
|
||||
formData.append("leaveSalaryText", formDataStudy.leaveSalaryText) //
|
||||
formData.append("leaveSalary", formDataStudy.leaveSalary) //
|
||||
formData.append("leaveTotal", formDataStudy.leaveTotal) //
|
||||
|
||||
await http
|
||||
.post(config.API.leaveUser(), formData)
|
||||
|
|
@ -173,7 +189,7 @@ function updateLeaveTotal() {
|
|||
* แปลงตัวเลขเงินเดือน
|
||||
*/
|
||||
const formattedleaveSalary = computed(() => {
|
||||
return formDataStudy.leaveSalary !== null ? formDataStudy.leaveSalary.toLocaleString("th-TH") : ""
|
||||
return dataStore.salary !== null ? dataStore.salary.toLocaleString("th-TH") : ""
|
||||
})
|
||||
</script>
|
||||
|
||||
|
|
@ -241,7 +257,7 @@ const formattedleaveSalary = computed(() => {
|
|||
borderless
|
||||
week-start="0"
|
||||
:locale="'th'"
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
:readonly="!formDataStudy.leaveStartDate"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataStudy.leaveStartDate ? new Date(formDataStudy.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
|
|
@ -315,7 +331,7 @@ const formattedleaveSalary = computed(() => {
|
|||
dense
|
||||
hide-bottom-space
|
||||
:label="`${'วันที่เข้ารับราชการ'}`"
|
||||
:model-value="formDataStudy.leavegovernmentDate != null ? date2Thai(formDataStudy.leavegovernmentDate) : null"
|
||||
:model-value="dataStore.dateAppoint != null ? date2Thai(dataStore.dateAppoint) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกวันที่เข้ารับราชการ'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -352,7 +368,7 @@ const formattedleaveSalary = computed(() => {
|
|||
readonly
|
||||
hide-bottom-space
|
||||
:label="`${'วันเดือนปีเกิด'}`"
|
||||
:model-value="formDataStudy.leavebirthDate != null ? date2Thai(formDataStudy.leavebirthDate) : null"
|
||||
:model-value="dataStore.birthDate != null ? date2Thai(dataStore.birthDate) : null"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกลาถึงวันที่'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -365,7 +381,7 @@ const formattedleaveSalary = computed(() => {
|
|||
<q-input v-model="formattedleaveSalary" ref="leaveSalaryRef" class="col-12 col-sm-6 col-md-3" bg-color="white" dense outlined readonly label="เงินเดือนปัจจุบัน" />
|
||||
|
||||
<q-input
|
||||
v-model="formDataStudy.leaveSalaryText"
|
||||
v-model="dataStore.salaryText"
|
||||
ref="leaveSalaryRef"
|
||||
class="col-12 col-sm-6 col-md-3"
|
||||
bg-color="white"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const $q = useQuasar()
|
||||
const router = useRouter()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, arabicNumberToText, calculateDurationYmd, dateToISO, success, messageError } = mixin
|
||||
const { date2Thai, dialogConfirm, arabicNumberToText, calculateDurationYmd, fails, dateToISO, success, messageError } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const files = ref<any>(null)
|
||||
|
||||
|
|
@ -116,6 +116,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataTrain.leaveStartDate ?? null, EndLeaveDate: formDataTrain.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataTrain.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -233,7 +256,7 @@ const formattedSalary = computed(() => {
|
|||
menu-class-name="modalfix"
|
||||
autoApply
|
||||
borderless
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
week-start="0"
|
||||
:readonly="!formDataTrain.leaveStartDate"
|
||||
:locale="'th'"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import { useRouter } from "vue-router"
|
|||
const dataStore = useLeaveStore()
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, notifyError, dateToISO, success, messageError } = mixin
|
||||
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
const router = useRouter()
|
||||
const isSave = ref<boolean>(false)
|
||||
|
|
@ -106,6 +106,33 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), {
|
||||
type: dataStore.typeId ?? null,
|
||||
StartLeaveDate: formDataWorkInternational.leaveStartDate ?? null,
|
||||
EndLeaveDate: formDataWorkInternational.leaveEndDate ?? null,
|
||||
})
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataWorkInternational.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataWorkInternational.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -210,6 +237,7 @@ async function saveFormData() {
|
|||
hide-bottom-space
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
@update:model-value="FetchCheck()"
|
||||
week-start="0"
|
||||
:readonly="!formDataWorkInternational.leaveStartDate"
|
||||
:min-date="formDataWorkInternational.leaveStartDate ? new Date(formDataWorkInternational.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const dataStore = useLeaveStore()
|
|||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const router = useRouter()
|
||||
const { dialogConfirm, date2Thai, arabicNumberToText, calculateDurationYmd, dateToISO, success, messageError } = mixin
|
||||
const { dialogConfirm, date2Thai, arabicNumberToText, calculateDurationYmd, dateToISO, fails, success, messageError } = mixin
|
||||
const edit = ref<boolean>(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
|
|
@ -142,6 +142,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataFollowSpouse.leaveStartDate ?? null, EndLeaveDate: formDataFollowSpouse.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataFollowSpouse.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataFollowSpouse.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -261,7 +284,7 @@ function updateLeaveTotal() {
|
|||
hide-bottom-space
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
@update:model-value="updateLeaveTotal"
|
||||
@update:model-value="updateLeaveTotal, FetchCheck()"
|
||||
:readonly="!formDataFollowSpouse.leaveStartDate"
|
||||
:min-date="formDataFollowSpouse.leaveStartDate ? new Date(formDataFollowSpouse.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
>
|
||||
|
|
@ -403,7 +426,7 @@ function updateLeaveTotal() {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="formDataFollowSpouse.followHistoryStart !== null"
|
||||
readonly
|
||||
>
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
|
|
@ -418,7 +441,7 @@ function updateLeaveTotal() {
|
|||
ref="followHistoryStartRef"
|
||||
for="followHistoryStartRef"
|
||||
hide-bottom-space
|
||||
:readonly="formDataFollowSpouse.followHistoryStart !== null"
|
||||
readonly
|
||||
bg-color="white"
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataFollowSpouse.followHistoryStart != null ? date2Thai(formDataFollowSpouse.followHistoryStart) : null"
|
||||
|
|
@ -441,7 +464,7 @@ function updateLeaveTotal() {
|
|||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:readonly="formDataFollowSpouse.followHistoryEnd !== null"
|
||||
readonly
|
||||
>
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
|
|
@ -457,7 +480,7 @@ function updateLeaveTotal() {
|
|||
for="followHistoryEndRef"
|
||||
hide-bottom-space
|
||||
bg-color="white"
|
||||
:readonly="formDataFollowSpouse.followHistoryEnd !== null"
|
||||
readonly
|
||||
class="full-width datepicker"
|
||||
:model-value="formDataFollowSpouse.followHistoryEnd != null ? date2Thai(formDataFollowSpouse.followHistoryEnd) : null"
|
||||
:label="`${'ถึงวันที่'}`"
|
||||
|
|
@ -480,7 +503,7 @@ function updateLeaveTotal() {
|
|||
v-model="formDataFollowSpouse.followHistoryCountry"
|
||||
label="ประเทศ"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกประเทศ'}`]"
|
||||
:readonly="formDataFollowSpouse.followHistoryCountry !== ''"
|
||||
readonly
|
||||
/>
|
||||
<q-input
|
||||
class="col-12 col-md-3 col-sm-12"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import { useRouter } from "vue-router"
|
|||
const dataStore = useLeaveStore()
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, notifyError, dateToISO, success, messageError } = mixin
|
||||
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError } = mixin
|
||||
const router = useRouter()
|
||||
const edit = ref<boolean>(true)
|
||||
const isSave = ref<boolean>(false)
|
||||
|
|
@ -92,6 +92,29 @@ const onSubmit = async () => {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* check ว่าลาได้ไหม จาก api
|
||||
* @param formData
|
||||
*/
|
||||
const isLeave = ref<boolean>(true)
|
||||
async function FetchCheck() {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataRehabilitation.leaveStartDate ?? null, EndLeaveDate: formDataRehabilitation.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
isLeave.value = data.isLeave
|
||||
if (data.isLeave === true) {
|
||||
formDataRehabilitation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
|
||||
// formDataRehabilitation.leaveLast = data.totalDate
|
||||
} else {
|
||||
fails($q, "ไม่สามารถลาได้")
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ฟังชั่นบันทีกข้อมูลจาก formdata ส่งไปที่ Api
|
||||
*/
|
||||
|
|
@ -191,6 +214,7 @@ async function saveFormData() {
|
|||
borderless
|
||||
week-start="0"
|
||||
:locale="'th'"
|
||||
@update:model-value="FetchCheck()"
|
||||
:readonly="!formDataRehabilitation.leaveStartDate"
|
||||
:enableTimePicker="false"
|
||||
:min-date="formDataRehabilitation.leaveStartDate ? new Date(formDataRehabilitation.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null"
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ onMounted(async () => {
|
|||
hide-bottom-space
|
||||
readonly
|
||||
class="full-width datepicker"
|
||||
:model-value="formData.dateStart != null ? date2Thai(formData.dateStart) : null"
|
||||
:model-value="dataStore.dateSendLeave != null ? date2Thai(dataStore.dateSendLeave) : null"
|
||||
:label="`${'วันที่ยื่นใบลา'}`"
|
||||
:rules="[val => !!val || `${'กรุณาเลือกวันที่ยื่นใบลา'}`]"
|
||||
>
|
||||
|
|
@ -71,14 +71,14 @@ onMounted(async () => {
|
|||
</template>
|
||||
</datepicker>
|
||||
<q-input class="col-12 col-sm-4" dense bg-color="white" outlined readonly v-model="dataStore.typeLeave" label="เรื่อง" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="formData.who" label="เรียน" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="formData.requestName" label="ชื่อผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="formData.position" label="ตำแหน่งผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="formData.level" label="ระดับผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="formData.ocRequest" label="สังกัดผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="formData.leaveabsentDaySummon" label="จำนวนสิทธิ์การลาที่ได้รับ" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="formData.leaveUse" label="จำนวนสิทธิ์การลาที่ใช้ไป" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="formData.leaveRemaining" label="จำนวนสิทธิ์การลาคงเหลือ" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="dataStore.dear" label="เรียน" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="dataStore.fullname" label="ชื่อผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="dataStore.positionName" label="ตำแหน่งผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="dataStore.positionLevelName" label="ระดับผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-3" dense outlined readonly bg-color="white" v-model="dataStore.organizationName" label="สังกัดผู้ยื่นขอ" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="dataStore.leaveLimit" label="จำนวนสิทธิ์การลาที่ได้รับ" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="dataStore.leaveTotal" label="จำนวนสิทธิ์การลาที่ใช้ไป" />
|
||||
<q-input class="col-12 col-sm-4" dense outlined readonly bg-color="white" v-model="dataStore.leaveRemain" label="จำนวนสิทธิ์การลาคงเหลือ" />
|
||||
</div>
|
||||
</q-card>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -123,10 +123,10 @@ export const useLeaveStore = defineStore("Leave", () => {
|
|||
{ id: "s3", name: "ลาดูงาน", code: "s3" },
|
||||
])
|
||||
|
||||
/** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจย์ฯ*/
|
||||
/** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์*/
|
||||
const optionsOrdination = ref([
|
||||
{ id: "0", name: "ลาอุปสมบท", code: "0" },
|
||||
{ id: "1", name: "ลาประกอบพิธีฮัจย์ฯ", code: "1" },
|
||||
{ id: "1", name: "ลาประกอบพิธีฮัจญ์", code: "1" },
|
||||
])
|
||||
|
||||
/** data table filter & column ของรายการลา */
|
||||
|
|
@ -223,6 +223,27 @@ export const useLeaveStore = defineStore("Leave", () => {
|
|||
return options.value.find(x => x.code == val)?.id
|
||||
}
|
||||
|
||||
/**
|
||||
*ตัวแปร profile ที่จะส่งออก
|
||||
*/
|
||||
const dateSendLeave = ref<Date>() //วันที่ยื่นใบลา
|
||||
const leaveTypeName = ref<string>("") //Name ประเภทการลา
|
||||
const dear = ref<string>("") //เรียน
|
||||
const fullname = ref<string>("") //คำนำหน้า ชื่อ นามสกุล ผู้ยื่นขอ
|
||||
const positionName = ref<string>("") //ตำแหน่งผู้ยื่นขอ
|
||||
const positionLevelName = ref<string>("") //ระดับผู้ยื่นขอ
|
||||
const organizationName = ref<string>("") //สังกัดผู้ยื่นขอ
|
||||
const leaveLimit = ref<number>(0) //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
const leaveTotal = ref<number>(0) //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
const leaveRemain = ref<number>(0) //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
const restDayTotalOld = ref<number>(0) //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา
|
||||
const birthDate = ref<Date>() //วันเกิด
|
||||
const dateAppoint = ref<Date>() //วันที่เข้ารับราชการ
|
||||
const salary = ref<number>(0) //เงินเดือนปัจจุบัน
|
||||
const salaryText = ref<string>("") //เงินเดือนปัจจุบัน(ภาษาไทย)
|
||||
const leaveLast = ref<string>("")
|
||||
const restDayCurrentTotal = ref<string>("")
|
||||
|
||||
//ดึงข้อมูล profile จาก API
|
||||
async function fetchProfile() {
|
||||
console.log("profile")
|
||||
|
|
@ -230,7 +251,24 @@ export const useLeaveStore = defineStore("Leave", () => {
|
|||
.post(config.API.leaveProfile(), { type: typeId.value })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
console.log(data.va)
|
||||
dateSendLeave.value = data.dateSendLeave
|
||||
leaveTypeName.value = data.leaveTypeName
|
||||
dear.value = data.dear
|
||||
fullname.value = data.fullname
|
||||
positionName.value = data.positionName
|
||||
positionLevelName.value = data.positionLevelName
|
||||
organizationName.value = data.organizationName
|
||||
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
|
||||
salaryText.value = data.salaryText
|
||||
leaveLast.value = data.leaveLast
|
||||
restDayCurrentTotal.value = data.restDayCurrentTotal
|
||||
console.log(data)
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
|
|
@ -260,5 +298,24 @@ export const useLeaveStore = defineStore("Leave", () => {
|
|||
fetchLeaveType,
|
||||
filterOption,
|
||||
fetchProfile,
|
||||
|
||||
//ส่งออกตัวแปร profileที่ได้จาก Api
|
||||
dateSendLeave,
|
||||
leaveTypeName,
|
||||
dear,
|
||||
fullname,
|
||||
positionName,
|
||||
positionLevelName,
|
||||
organizationName,
|
||||
leaveLimit, //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
leaveTotal, //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
leaveRemain, //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น)
|
||||
restDayTotalOld,
|
||||
birthDate,
|
||||
dateAppoint,
|
||||
salary,
|
||||
salaryText,
|
||||
leaveLast,
|
||||
restDayCurrentTotal,
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ async function FetchCheck(formData: any) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- v-if (ลาอุปสมบทหรือลาประกอบพิธีฮัจย์ฯ||ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน) -->
|
||||
<!-- v-if (ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์||ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน) -->
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue