API ยินยันการยกเลิกการลา

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-12-14 16:49:10 +07:00
parent 1f97a8b8ce
commit 456e2af52b
3 changed files with 57 additions and 18 deletions

View file

@ -31,4 +31,6 @@ export default {
leaveReject: (id: string) => `${leave}/admin/reject/${id}`, leaveReject: (id: string) => `${leave}/admin/reject/${id}`,
leaveReport: (id: string) => `${leave}/report/${id}`, leaveReport: (id: string) => `${leave}/report/${id}`,
leaveReportReject: (id: string) => `${leave}/report/reject/${id}`, leaveReportReject: (id: string) => `${leave}/report/reject/${id}`,
leaveDeleteApprove: (id: string) => `${leave}/admin/delete/approve/${id}`,
leaveDeleteReject: (id: string) => `${leave}/admin/delete/reject/${id}`,
}; };

View file

@ -34,8 +34,14 @@ import FormVocationalRehabilitation from "@/modules/09_leave/components/2_Leave/
/** use */ /** use */
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { dialogConfirm, showLoader, hideLoader, date2Thai, messageError } = const {
mixin; dialogConfirm,
showLoader,
hideLoader,
date2Thai,
messageError,
success,
} = mixin;
const stores = useLeavelistDataStore(); const stores = useLeavelistDataStore();
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
@ -63,7 +69,7 @@ const formDataReject = reactive<FormReject>({
fullName: "", // fullName: "", //
status: "", // status: "", //
leaveDocDelete: "", // leaveDocDelete: "", //
leaveResonDelete: "", // leaveReasonDelete: "", //
leaveWrote: "", // leaveWrote: "", //
leaveAddress: "", // leaveAddress: "", //
leaveNumber: "", // leaveNumber: "", //
@ -165,7 +171,7 @@ async function fetchDetailDeleteLeave(paramsId: string) {
(formDataReject.fullName = data.fullName), (formDataReject.fullName = data.fullName),
(formDataReject.status = data.status); (formDataReject.status = data.status);
(formDataReject.leaveDocDelete = data.leaveDocDelete), (formDataReject.leaveDocDelete = data.leaveDocDelete),
(formDataReject.leaveResonDelete = data.leaveReasonDelete (formDataReject.leaveReasonDelete = data.leaveReasonDelete
? data.leaveReasonDelete ? data.leaveReasonDelete
: "-"), : "-"),
(formDataReject.leaveWrote = data.leaveWrote), (formDataReject.leaveWrote = data.leaveWrote),
@ -347,25 +353,54 @@ const openModal = async (data: string) => {
}; };
/** Function Save*/ /** Function Save*/
function clickSave() { function clickSave(reason: string) {
const body = {
reason: reason,
};
if (dialogTitle.value === "อนุมัติการยกเลิก") { if (dialogTitle.value === "อนุมัติการยกเลิก") {
dialogConfirm( dialogConfirm(
$q, $q,
() => console.log("save1"), async () => {
await http
.put(config.API.leaveDeleteApprove(formData.id), body)
.then(() => {
success($q, "บันทึกข้อมูลสำเร็จ");
})
.catch((err) => {
messageError($q, err);
})
.finally(async () => {
await fetchDetailDeleteLeave(paramsId);
modalApprove.value = false;
});
},
"ยืนยันการอนุมัติการยกเลิก", "ยืนยันการอนุมัติการยกเลิก",
"ต้องการยืนยันการอนุมัติการยกเลิกใช่หรือไม่ ?" "ต้องการยืนยันการอนุมัติการยกเลิกใช่หรือไม่ ?"
); );
modalApprove.value = false; // modalApprove.value = false;
console.log("Yes"); console.log("Yes");
} }
if (dialogTitle.value === "ไม่อนุมัติการยกเลิก") { if (dialogTitle.value === "ไม่อนุมัติการยกเลิก") {
dialogConfirm( dialogConfirm(
$q, $q,
() => console.log("save1"), async () => {
await http
.put(config.API.leaveDeleteReject(formData.id), body)
.then(() => {
success($q, "บันทึกข้อมูลสำเร็จ");
})
.catch((err) => {
messageError($q, err);
})
.finally(async () => {
await fetchDetailDeleteLeave(paramsId);
modalApprove.value = false;
});
},
"ยืนยันไม่อนุมัติการยกเลิก", "ยืนยันไม่อนุมัติการยกเลิก",
"ต้องการยืนยันไม่อนุมัติการยกเลิกใช่หรือไม่ ?" "ต้องการยืนยันไม่อนุมัติการยกเลิกใช่หรือไม่ ?"
); );
modalApprove.value = false; // modalApprove.value = false;
console.log("NOT"); console.log("NOT");
} }
} }
@ -470,7 +505,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<div class="col-xs-3 row items-start"> <div class="col-xs-3 row items-start">
<div class="col-12 text-weight-bold text-top">เหตผล</div> <div class="col-12 text-weight-bold text-top">เหตผล</div>
<div class="col-12 text-detail"> <div class="col-12 text-detail">
{{ formDataReject.leaveResonDelete }} {{ formDataReject.leaveReasonDelete }}
</div> </div>
</div> </div>
<div class="col-xs-3 row items-start"> <div class="col-xs-3 row items-start">
@ -635,9 +670,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<q-card <q-card
bordered bordered
class="row col-12 text-dark q-mt-sm" class="row col-12 text-dark q-mt-sm"
v-if=" v-if="formDataReject.status !== 'NEW'"
formData.approveStep === 'st2' || formData.approveStep === 'st3'
"
> >
<div <div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary" class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -653,13 +686,17 @@ async function onClickDownloadFile(id: string, fileName: string) {
<div class="col-12 text-weight-bold text-top"> <div class="col-12 text-weight-bold text-top">
ผลการพจารณา ผลการพจารณา
</div> </div>
<div class="col-12 text-detail">อน</div> <div class="col-12 text-detail">
{{ stores.convertSatatus(formDataReject.status) }}
</div>
</div> </div>
<div class="col-xs-6 row items-start"> <div class="col-xs-6 row items-start">
<div class="col-12 text-weight-bold text-top"> <div class="col-12 text-weight-bold text-top">
ความคดเห ความคดเห
</div> </div>
<div class="col-12 text-detail">-</div> <div class="col-12 text-detail">
{{ formDataReject.leaveReasonDelete }}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -671,7 +708,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<q-separator /> <q-separator />
<div class="row q-pa-md q-gutter-md justify-end"> <div class="row q-pa-md q-gutter-md justify-end">
<q-btn <q-btn
v-if="formData.approveStep === 'st1'" v-if="formDataReject.status === 'NEW'"
unelevated unelevated
color="orange-5" color="orange-5"
label="ไม่อนุมัติการยกเลิก" label="ไม่อนุมัติการยกเลิก"
@ -679,7 +716,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
><q-tooltip>ไมอนการยกเล</q-tooltip> ><q-tooltip>ไมอนการยกเล</q-tooltip>
</q-btn> </q-btn>
<q-btn <q-btn
v-if="formData.approveStep === 'st1'" v-if="formDataReject.status === 'NEW'"
unelevated unelevated
color="primary" color="primary"
label="อนุมัติการยกเลิก" label="อนุมัติการยกเลิก"

View file

@ -45,7 +45,7 @@ interface FormReject {
fullName: string; //คำนำหน้า ชื่อ นามสกุล คนขอลา fullName: string; //คำนำหน้า ชื่อ นามสกุล คนขอลา
status: string; //สถานะการของลา status: string; //สถานะการของลา
leaveDocDelete: string; //เอกสารการยกเลิกการลา leaveDocDelete: string; //เอกสารการยกเลิกการลา
leaveResonDelete: string; //เหตุผลการยกเลิกการลา leaveReasonDelete: string; //เหตุผลการยกเลิกการลา
leaveWrote: string; //เขียนที่ leaveWrote: string; //เขียนที่
leaveAddress: string; //สถานที่ติดต่อขณะลา leaveAddress: string; //สถานที่ติดต่อขณะลา
leaveNumber: string; //หมายเลขที่ติดต่อขณะลา leaveNumber: string; //หมายเลขที่ติดต่อขณะลา