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