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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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