แก้ไขปุ่ม download

This commit is contained in:
AnandaTon 2024-01-15 16:53:52 +07:00
parent 3a1b8cdea4
commit f33ec8fbc5
13 changed files with 438 additions and 436 deletions

View file

@ -169,7 +169,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -194,6 +194,10 @@ const isReadOnly = computed(() => {
return conditionleaveRange; return conditionleaveRange;
}); });
/**
* แกไขClassเม status เป edit
* @param val status edit true/false
*/
function inputEdit(val: boolean) { function inputEdit(val: boolean) {
return { return {
"full-width cursor-pointer ": val, "full-width cursor-pointer ": val,
@ -515,8 +519,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -524,7 +528,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -154,7 +154,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -442,8 +442,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -451,7 +451,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -54,7 +54,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -526,8 +526,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -535,7 +535,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -138,7 +138,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -525,8 +525,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -534,7 +534,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -265,7 +265,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -707,8 +707,8 @@ const onClickDelete = async (id: string) => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -716,7 +716,7 @@ const onClickDelete = async (id: string) => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -199,7 +199,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -472,8 +472,8 @@ const onClickDelete = async (id: string) => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -481,7 +481,7 @@ const onClickDelete = async (id: string) => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -166,7 +166,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -527,8 +527,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -536,7 +536,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -165,7 +165,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -683,8 +683,8 @@ onMounted(async () => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -692,7 +692,7 @@ onMounted(async () => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -186,7 +186,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -672,8 +672,8 @@ onMounted(async () => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -681,7 +681,7 @@ onMounted(async () => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -153,7 +153,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -423,8 +423,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -432,7 +432,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -209,7 +209,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -745,8 +745,8 @@ onMounted(async () => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -754,7 +754,7 @@ onMounted(async () => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -170,7 +170,7 @@ const clickDelete = (id: string) => {
*/ */
const onClickDelete = async (id: string) => { const onClickDelete = async (id: string) => {
await http await http
.delete(config.API.leaveUserId(id)) .delete(config.API.leaveDocumentId(id))
.then(async (res) => { .then(async (res) => {
console.log("delete"); console.log("delete");
}) })
@ -393,8 +393,8 @@ onMounted(() => {
:href="document" :href="document"
target="_blank" target="_blank"
outline outline
color="blue" color="add"
label="ดาวน์โหลด" icon="mdi-upload"
size="12px" size="12px"
class="q-mr-md" class="q-mr-md"
> >
@ -402,7 +402,7 @@ onMounted(() => {
</q-btn> </q-btn>
<div> <div>
<q-btn <q-btn
@click="clickDelete" @click="clickDelete('requestID')"
target="_blank" target="_blank"
outline outline
color="red" color="red"

View file

@ -31,78 +31,78 @@ const dataStore = useLeaveStore();
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { const {
messageError, messageError,
showLoader, showLoader,
hideLoader, hideLoader,
dialogConfirm, dialogConfirm,
success, success,
date2Thai, date2Thai,
dateToISO, dateToISO,
} = mixin; } = mixin;
const titleName = ref<string>(""); const titleName = ref<string>("");
/** Form รายละเอียดข้อมูล*/ /** Form รายละเอียดข้อมูล*/
const formData = reactive<any>({ const formData = reactive<any>({
id: "", //Id id: "", //Id
leaveTypeName: "", // Name leaveTypeName: "", // Name
leaveTypeId: "", //Id leaveTypeId: "", //Id
fullname: "", // fullname: "", //
dateSendLeave: null, // dateSendLeave: null, //
status: "", // status: "", //
leaveDateStart: null, // leaveDateStart: null, //
leaveDateEnd: null, // leaveDateEnd: null, //
leaveCount: 0, // leaveCount: 0, //
leaveWrote: "", // leaveWrote: "", //
leaveAddress: "", // leaveAddress: "", //
leaveNumber: "", // leaveNumber: "", //
leaveDetail: "", // leaveDetail: "", //
leaveDocument: [], // leaveDocument: [], //
leaveDraftDocument: "", // leaveDraftDocument: "", //
leaveLastStart: null, // ( )(Auto) leaveLastStart: null, // ( )(Auto)
leaveLastEnd: null, // ( )(Auto) leaveLastEnd: null, // ( )(Auto)
leaveTotal: 0, //(Auto) leaveTotal: 0, //(Auto)
leavebirthDate: null, //(Auto) leavebirthDate: null, //(Auto)
leavegovernmentDate: null, //(Auto) leavegovernmentDate: null, //(Auto)
leaveSalary: 0, //(Auto) leaveSalary: 0, //(Auto)
leaveSalaryText: "", //() leaveSalaryText: "", //()
leaveTypeDay: "", // leaveTypeDay: "", //
wifeDayName: "", //() wifeDayName: "", //()
wifeDayDateBorn: null, //() wifeDayDateBorn: null, //()
restDayOldTotal: 0, // ()(Auto) restDayOldTotal: 0, // ()(Auto)
restDayCurrentTotal: 0, //()(Auto) restDayCurrentTotal: 0, //()(Auto)
ordainDayStatus: "", /// () () ordainDayStatus: "", /// () ()
ordainDayLocationName: "", // () ordainDayLocationName: "", // ()
ordainDayLocationAddress: "", // () ordainDayLocationAddress: "", // ()
ordainDayLocationNumber: "", // () ordainDayLocationNumber: "", // ()
ordainDayOrdination: null, // () ordainDayOrdination: null, // ()
ordainDayBuddhistLentName: "", // () ordainDayBuddhistLentName: "", // ()
ordainDayBuddhistLentAddress: "", // () ordainDayBuddhistLentAddress: "", // ()
hajjDayStatus: "", /// () () hajjDayStatus: "", /// () ()
absentDaySummon: "", // () absentDaySummon: "", // ()
absentDayLocation: "", // () absentDayLocation: "", // ()
absentDayRegistorDate: null, // () absentDayRegistorDate: null, // ()
absentDayGetIn: "", // () absentDayGetIn: "", // ()
absentDayAt: "", // () absentDayAt: "", // ()
studyDaySubject: "", // ( ) studyDaySubject: "", // ( )
studyDayDegreeLevel: "", // ( ) studyDayDegreeLevel: "", // ( )
studyDayUniversityName: "", // ( ) studyDayUniversityName: "", // ( )
studyDayTrainingSubject: "", // / ( ) studyDayTrainingSubject: "", // / ( )
studyDayTrainingName: "", // ( ) studyDayTrainingName: "", // ( )
studyDayCountry: "", // ( ) studyDayCountry: "", // ( )
studyDayScholarship: "", // ( ) studyDayScholarship: "", // ( )
coupleDayName: "", // () coupleDayName: "", // ()
coupleDayPosition: "", // () coupleDayPosition: "", // ()
coupleDayLevel: "", // () coupleDayLevel: "", // ()
coupleDayLevelCountry: "", // () coupleDayLevelCountry: "", // ()
coupleDayCountryHistory: "", // () coupleDayCountryHistory: "", // ()
coupleDayTotalHistory: "", // () coupleDayTotalHistory: "", // ()
coupleDayStartDateHistory: null, // () coupleDayStartDateHistory: null, // ()
coupleDayEndDateHistory: null, // () coupleDayEndDateHistory: null, // ()
coupleDaySumTotalHistory: "", // () coupleDaySumTotalHistory: "", // ()
approveStep: "", approveStep: "",
dear: "", dear: "",
leaveLast: "", leaveLast: "",
leaveRange: "", leaveRange: "",
}); });
/** /**
@ -110,352 +110,350 @@ const formData = reactive<any>({
* @param id การลา * @param id การลา
*/ */
async function fetchDataDetail(id: string) { async function fetchDataDetail(id: string) {
showLoader(); showLoader();
await http await http
.get(config.API.leaveUserId(id), {}) .get(config.API.leaveUserId(id), {})
.then(async (res) => { .then(async (res) => {
const data = await res.data.result; const data = await res.data.result;
dataStore.typeId = data.leaveTypeId; 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 ?? "-";
formData.leaveTypeId = data.leaveTypeId ?? "-"; formData.leaveTypeId = data.leaveTypeId ?? "-";
formData.fullname = data.fullName ?? "-"; formData.fullname = data.fullName ?? "-";
formData.dateSendLeave = formData.dateSendLeave =
data.dateSendLeave && date2Thai(data.dateSendLeave); data.dateSendLeave && date2Thai(data.dateSendLeave);
formData.status = data.status ?? "-"; formData.status = data.status ?? "-";
formData.leaveStartDate = data.leaveStartDate; formData.leaveStartDate = data.leaveStartDate;
// console.log(formData.leaveDateStart) formData.leaveEndDate = data.leaveEndDate;
formData.leaveEndDate = data.leaveEndDate; formData.leaveCount = data.leaveTotal ?? "-";
// console.log(formData.leaveDateEnd) formData.leaveWrote = data.leaveWrote ?? "-";
formData.leaveCount = data.leaveTotal ?? "-"; formData.leaveAddress = data.leaveAddress ?? "-";
formData.leaveWrote = data.leaveWrote ?? "-"; formData.leaveNumber = data.leaveNumber ?? "-";
formData.leaveAddress = data.leaveAddress ?? "-"; formData.leaveDetail = data.leaveDetail ?? "-";
formData.leaveNumber = data.leaveNumber ?? "-"; formData.leaveDocument = data.leaveDocument;
formData.leaveDetail = data.leaveDetail ?? "-"; formData.leaveDraftDocument = data.leaveDraftDocument;
formData.leaveDocument = data.leaveDocument; formData.leaveLastStart =
formData.leaveDraftDocument = data.leaveDraftDocument; data.leaveLastStart && date2Thai(data.leaveLastStart);
formData.leaveLastStart = formData.leaveLastEnd =
data.leaveLastStart && date2Thai(data.leaveLastStart); data.leaveLastStart && date2Thai(data.leaveLastEnd);
formData.leaveLastEnd = formData.leaveTotal = data.leaveTotal;
data.leaveLastStart && date2Thai(data.leaveLastEnd); formData.leavebirthDate =
formData.leaveTotal = data.leaveTotal; data.leaveBirthDate && date2Thai(data.leaveBirthDate);
formData.leavebirthDate = formData.leavegovernmentDate =
data.leaveBirthDate && date2Thai(data.leaveBirthDate); data.leaveGovernmentDate && date2Thai(data.leaveGovernmentDate);
formData.leavegovernmentDate = formData.leaveSalary = data.leaveSalary ?? "-";
data.leaveGovernmentDate && date2Thai(data.leaveGovernmentDate); formData.leaveSalaryText = data.leaveSalaryText ?? "-";
formData.leaveSalary = data.leaveSalary ?? "-"; formData.wifeDayName = data.wifeDayName ?? "-";
formData.leaveSalaryText = data.leaveSalaryText ?? "-"; formData.wifeDayDateBorn =
formData.wifeDayName = data.wifeDayName ?? "-"; data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn);
formData.wifeDayDateBorn = formData.restDayOldTotal = data.restDayOldTotal ?? "-";
data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn); formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-";
formData.restDayOldTotal = data.restDayOldTotal ?? "-"; formData.ordainDayStatus = data.ordainDayStatus;
formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-"; formData.ordainDayLocationName = data.ordainDayLocationName ?? "-";
formData.ordainDayStatus = data.ordainDayStatus; formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-";
formData.ordainDayLocationName = data.ordainDayLocationName ?? "-"; formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-";
formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-"; formData.ordainDayOrdination = data.ordainDayOrdination;
formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-"; formData.ordainDayBuddhistLentName =
formData.ordainDayOrdination = data.ordainDayOrdination; data.ordainDayBuddhistLentName ?? "-";
formData.ordainDayBuddhistLentName = formData.ordainDayBuddhistLentAddress =
data.ordainDayBuddhistLentName ?? "-"; data.ordainDayBuddhistLentAddress ?? "-";
formData.ordainDayBuddhistLentAddress = formData.hajjDayStatus = data.hajjDayStatus;
data.ordainDayBuddhistLentAddress ?? "-"; formData.absentDaySummon = data.absentDaySummon ?? "-";
formData.hajjDayStatus = data.hajjDayStatus; formData.absentDayLocation = data.absentDayLocation ?? "-";
formData.absentDaySummon = data.absentDaySummon ?? "-"; formData.absentDayRegistorDate = data.absentDayRegistorDate;
formData.absentDayLocation = data.absentDayLocation ?? "-"; formData.absentDayGetIn = data.absentDayGetIn ?? "-";
formData.absentDayRegistorDate = data.absentDayRegistorDate; formData.absentDayAt = data.absentDayAt ?? "-";
formData.absentDayGetIn = data.absentDayGetIn ?? "-"; formData.studyDaySubject = data.studyDaySubject ?? "-";
formData.absentDayAt = data.absentDayAt ?? "-"; formData.studyDayDegreeLevel = data.studyDayDegreeLevel ?? "-";
formData.studyDaySubject = data.studyDaySubject ?? "-"; formData.studyDayUniversityName = data.studyDayUniversityName ?? "-";
formData.studyDayDegreeLevel = data.studyDayDegreeLevel ?? "-"; formData.studyDayTrainingSubject =
formData.studyDayUniversityName = data.studyDayUniversityName ?? "-"; data.studyDayTrainingSubject ?? "-" ?? "-";
formData.studyDayTrainingSubject = formData.studyDayTrainingName = data.studyDayTrainingName ?? "-";
data.studyDayTrainingSubject ?? "-" ?? "-"; formData.studyDayCountry = data.studyDayCountry ?? "-";
formData.studyDayTrainingName = data.studyDayTrainingName ?? "-"; formData.studyDayScholarship = data.studyDayScholarship ?? "-";
formData.studyDayCountry = data.studyDayCountry ?? "-"; formData.coupleDayName = data.coupleDayName ?? "-";
formData.studyDayScholarship = data.studyDayScholarship ?? "-"; formData.coupleDayPosition = data.coupleDayPosition ?? "-";
formData.coupleDayName = data.coupleDayName ?? "-"; formData.coupleDayLevel = data.coupleDayLevel ?? "-";
formData.coupleDayPosition = data.coupleDayPosition ?? "-"; formData.coupleDayLevelCountry = data.coupleDayLevelCountry ?? "-";
formData.coupleDayLevel = data.coupleDayLevel ?? "-"; formData.coupleDayCountryHistory = data.coupleDayCountryHistory ?? "-";
formData.coupleDayLevelCountry = data.coupleDayLevelCountry ?? "-"; formData.coupleDayTotalHistory = data.coupleDayTotalHistory ?? "-";
formData.coupleDayCountryHistory = data.coupleDayCountryHistory ?? "-"; formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory;
formData.coupleDayTotalHistory = data.coupleDayTotalHistory ?? "-"; formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory;
formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory; formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory ?? "-";
formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory; formData.approveStep = data.approveStep ?? "-";
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory ?? "-"; formData.dear = data.dear ?? "-";
formData.approveStep = data.approveStep ?? "-"; formData.leaveLast = data.leaveLast ?? "-";
formData.dear = data.dear ?? "-"; formData.leaveRange = data.leaveRange;
formData.leaveLast = data.leaveLast ?? "-";
formData.leaveRange = data.leaveRange;
// checkLeaveType(formData.leaveTypeId, formData.leaveTypeName)
dataStore.fetchProfileOld(data); // checkLeaveType(formData.leaveTypeId, formData.leaveTypeName)
})
.catch((err) => { dataStore.fetchProfileOld(data);
messageError($q, err); })
}) .catch((err) => {
.finally(() => { messageError($q, err);
hideLoader(); })
}); .finally(() => {
hideLoader();
});
} }
const model = computed(() => { const model = computed(() => {
return ( return (
dataStore.options.find((x) => x.id == formData.leaveTypeId)?.code ?? "" dataStore.options.find((x) => x.id == formData.leaveTypeId)?.code ?? ""
); );
}); });
const modelSpecific = computed(() => { const modelSpecific = computed(() => {
const code = dataStore.options.find( const code = dataStore.options.find(
(x) => x.id == formData.leaveTypeId (x) => x.id == formData.leaveTypeId
)?.code; )?.code;
if (code == "LV-006" && formData.ordainDayLocationName != "") { if (code == "LV-006" && formData.ordainDayLocationName != "") {
return "b1"; return "b1";
} else if (code == "LV-006" && formData.ordainDayLocationName == "") { } else if (code == "LV-006" && formData.ordainDayLocationName == "") {
return "b2"; return "b2";
} else if (code == "LV-008" && formData.studyDayTrainingSubject == "") { } else if (code == "LV-008" && formData.studyDayTrainingSubject == "") {
return "s1"; return "s1";
} else if (code == "LV-008" && formData.studyDayTrainingSubject != "") { } else if (code == "LV-008" && formData.studyDayTrainingSubject != "") {
return "s2"; return "s2";
} else { } else {
return ""; return "";
} }
}); });
function onSubmit(formData: FormData, isLeave: boolean = true) { function onSubmit(formData: FormData, isLeave: boolean = true) {
if (isLeave) { if (isLeave) {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
showLoader(); showLoader();
await http await http
.put(config.API.leaveUserId(personalId.value), formData) .put(config.API.leaveUserId(personalId.value), formData)
.then(() => { .then(() => {
success($q, "บันทึกสำเร็จ"); success($q, "บันทึกสำเร็จ");
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
}) })
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
fetchDataDetail(personalId.value); fetchDataDetail(personalId.value);
}); });
}); });
} else { } else {
messageError($q, "", "ไม่มีสิทธิ์ลา"); messageError($q, "", "ไม่มีสิทธิ์ลา");
} }
} }
function onConfirm(id: string) { function onConfirm(id: string) {
dialogConfirm( dialogConfirm(
$q, $q,
async () => { async () => {
showLoader(); showLoader();
await http await http
.put(config.API.leaveUserSendId(personalId.value), { reason: "" }) .put(config.API.leaveUserSendId(personalId.value), { reason: "" })
.then(() => { .then(() => {
router.push("/leave"); router.push("/leave");
success($q, "ยื่นใบลาสำเร็จ"); success($q, "ยื่นใบลาสำเร็จ");
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
}) })
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
}); });
}, },
"ยืนยันการยื่นใบลา", "ยืนยันการยื่นใบลา",
"หากยืนยันแล้วจะไม่สามารถกลับมาแก้ไขได้ ต้องการยืนยันการยื่นใบลานี้ใช่หรือไม่" "หากยืนยันแล้วจะไม่สามารถกลับมาแก้ไขได้ ต้องการยืนยันการยื่นใบลานี้ใช่หรือไม่"
); );
} }
/** /**
* เรยกใชงาน fetchData เพอดงขอม * เรยกใชงาน fetchData เพอดงขอม
*/ */
onMounted(() => { onMounted(() => {
fetchDataDetail(personalId.value); fetchDataDetail(personalId.value);
}); });
</script> </script>
<template> <template>
<div class="col-12 row justify-center"> <div class="col-12 row justify-center">
<div class="col-xs-12 col-sm-12 col-md-11"> <div class="col-xs-12 col-sm-12 col-md-11">
<div class="toptitle text-white col-12 row items-center"> <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
to="/leave" to="/leave"
icon="mdi-arrow-left" icon="mdi-arrow-left"
unelevated unelevated
round round
dense dense
flat flat
color="primary" color="primary"
class="q-mr-sm" class="q-mr-sm"
/> />
<div> <div>
แกไขใบลา แกไขใบลา
{{ formData.leaveTypeName }} {{ formData.leaveTypeName }}
</div> </div>
</div> </div>
<q-form ref="myform" class="col-12"> <q-form ref="myform" class="col-12">
<q-card bordered> <q-card bordered>
<div class="col-12 row q-col-gutter-md q-pa-md"> <div class="col-12 row q-col-gutter-md q-pa-md">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<q-icon <q-icon
name="mdi-numeric-1-circle" name="mdi-numeric-1-circle"
size="20px" size="20px"
color="primary" color="primary"
/> />
<div class="q-pl-sm text-weight-bold text-dark"> <div class="q-pl-sm text-weight-bold text-dark">
เลอกประเภทการลา เลอกประเภทการลา
</div> </div>
</div> </div>
<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 readonly
dense dense
class="col-12 col-sm-6 col-md-4" 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"
option-label="name" option-label="name"
emit-value emit-value
map-options map-options
prefix="ประเภทใบลา :" prefix="ประเภทใบลา :"
/> />
</div> </div>
<div class="row q-mt-sm"> <div class="row q-mt-sm">
<div <div
class="col-12 col-sm-6 col-md-3" class="col-12 col-sm-6 col-md-3"
v-if="model === 'LV-006' || model === 'LV-008'" v-if="model === 'LV-006' || model === 'LV-008'"
> >
<q-select <q-select
readonly readonly
dense dense
outlined outlined
v-model="modelSpecific" v-model="modelSpecific"
:options=" :options="
model === 'LV-006' model === 'LV-006'
? dataStore.optionsOrdination ? dataStore.optionsOrdination
: dataStore.optionsSpecific : dataStore.optionsSpecific
" "
option-value="code" option-value="code"
option-label="name" option-label="name"
emit-value emit-value
map-options map-options
prefix="ประเภทการลา :" prefix="ประเภทการลา :"
@update:model-value=" @update:model-value="
dataStore.typeConvert(model, modelSpecific) dataStore.typeConvert(model, modelSpecific)
" "
/> />
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<q-icon <q-icon
name="mdi-numeric-2-circle" name="mdi-numeric-2-circle"
size="20px" size="20px"
color="primary" color="primary"
/> />
<div class="q-pl-sm text-weight-bold text-dark"> <div class="q-pl-sm text-weight-bold text-dark">
อมลการลา อมลการลา
</div> </div>
</div> </div>
<FormPart2 <FormPart2
:model="model" :model="model"
:data="formData" :data="formData"
:leaveTypeId="formData.leaveTypeId" :leaveTypeId="formData.leaveTypeId"
/> />
</div> </div>
</div> </div>
<div class="col-12"> <div class="col-12">
<SickForm <SickForm
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" :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" :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" :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" :on-confirm="onConfirm"
/> />
<OrdinationForm <OrdinationForm
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" :on-confirm="onConfirm"
/> />
<HajjForm <HajjForm
v-if="model === 'LV-006' && modelSpecific === 'b2'" v-if="model === 'LV-006' && modelSpecific === 'b2'"
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm" :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" :on-confirm="onConfirm"
/> />
<StudyForm <StudyForm
v-if="model === 'LV-008' && modelSpecific === 's1'" 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" :on-confirm="onConfirm"
/> />
<TrainForm <TrainForm
v-if=" v-if="
model === 'LV-008' && model === 'LV-008' &&
modelSpecific != 's1' && modelSpecific != 's1' &&
modelSpecific != '' modelSpecific != ''
" "
:data="formData" :data="formData"
:on-submit="onSubmit" :on-submit="onSubmit"
:on-confirm="onConfirm" :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" :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" :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" :on-confirm="onConfirm"
/> />
</div> </div>
</div> </div>
</q-card> </q-card>
</q-form> </q-form>
</div> </div>
</div> </div>
</template> </template>