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}`,
leaveReport: (id: string) => `${leave}/report/${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 */
const $q = useQuasar();
const mixin = useCounterMixin();
const { dialogConfirm, showLoader, hideLoader, date2Thai, messageError } =
mixin;
const {
dialogConfirm,
showLoader,
hideLoader,
date2Thai,
messageError,
success,
} = mixin;
const stores = useLeavelistDataStore();
const router = useRouter();
const route = useRoute();
@ -63,7 +69,7 @@ const formDataReject = reactive<FormReject>({
fullName: "", //
status: "", //
leaveDocDelete: "", //
leaveResonDelete: "", //
leaveReasonDelete: "", //
leaveWrote: "", //
leaveAddress: "", //
leaveNumber: "", //
@ -165,7 +171,7 @@ async function fetchDetailDeleteLeave(paramsId: string) {
(formDataReject.fullName = data.fullName),
(formDataReject.status = data.status);
(formDataReject.leaveDocDelete = data.leaveDocDelete),
(formDataReject.leaveResonDelete = data.leaveReasonDelete
(formDataReject.leaveReasonDelete = data.leaveReasonDelete
? data.leaveReasonDelete
: "-"),
(formDataReject.leaveWrote = data.leaveWrote),
@ -347,25 +353,54 @@ const openModal = async (data: string) => {
};
/** Function Save*/
function clickSave() {
function clickSave(reason: string) {
const body = {
reason: reason,
};
if (dialogTitle.value === "อนุมัติการยกเลิก") {
dialogConfirm(
$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");
}
if (dialogTitle.value === "ไม่อนุมัติการยกเลิก") {
dialogConfirm(
$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");
}
}
@ -470,7 +505,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<div class="col-xs-3 row items-start">
<div class="col-12 text-weight-bold text-top">เหตผล</div>
<div class="col-12 text-detail">
{{ formDataReject.leaveResonDelete }}
{{ formDataReject.leaveReasonDelete }}
</div>
</div>
<div class="col-xs-3 row items-start">
@ -635,9 +670,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<q-card
bordered
class="row col-12 text-dark q-mt-sm"
v-if="
formData.approveStep === 'st2' || formData.approveStep === 'st3'
"
v-if="formDataReject.status !== 'NEW'"
>
<div
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>
<div class="col-12 text-detail">อน</div>
<div class="col-12 text-detail">
{{ stores.convertSatatus(formDataReject.status) }}
</div>
</div>
<div class="col-xs-6 row items-start">
<div class="col-12 text-weight-bold text-top">
ความคดเห
</div>
<div class="col-12 text-detail">-</div>
<div class="col-12 text-detail">
{{ formDataReject.leaveReasonDelete }}
</div>
</div>
</div>
</div>
@ -671,7 +708,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
<q-separator />
<div class="row q-pa-md q-gutter-md justify-end">
<q-btn
v-if="formData.approveStep === 'st1'"
v-if="formDataReject.status === 'NEW'"
unelevated
color="orange-5"
label="ไม่อนุมัติการยกเลิก"
@ -679,7 +716,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
><q-tooltip>ไมอนการยกเล</q-tooltip>
</q-btn>
<q-btn
v-if="formData.approveStep === 'st1'"
v-if="formDataReject.status === 'NEW'"
unelevated
color="primary"
label="อนุมัติการยกเลิก"

View file

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