ปรับยกเลิกการลา

This commit is contained in:
Warunee Tamkoo 2025-04-29 18:29:46 +07:00
parent 818f9d7723
commit cab7450748
2 changed files with 63 additions and 43 deletions

View file

@ -1125,8 +1125,11 @@ onMounted(async () => {
</div>
<div class="col-12 text-detail">
{{
formData.reasonOligarch !== "-"
? formData.status
rows && rows.approvers[0]?.approveStatus == "APPROVE"
? "อนุญาต"
: rows &&
rows.approvers[0]?.approveStatus == "REJECT"
? "ไม่อนุญาต"
: "-"
}}
</div>
@ -1137,7 +1140,7 @@ onMounted(async () => {
</div>
<div class="col-12 text-detail">
{{ formData.reasonOligarch }}
{{ formData.reasonOligarch ?? "-" }}
</div>
</div>
</div>

View file

@ -8,13 +8,11 @@ import config from "@/app.config";
import genReport from "@/plugins/genreport";
import { useCounterMixin } from "@/stores/mixin";
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
import { checkPermission } from "@/utils/permissions";
/** importType */
import type {
LeaveType,
FormReject,
SeqTypeRow,
RowsType,
} from "@/modules/09_leave/interface/response/leave";
import type { FremData } from "@/modules/09_leave/interface/request/leave";
@ -33,7 +31,6 @@ import FormLeaveToTraining from "@/modules/09_leave/components/05_Leave/formDeta
import FormLeaveToWorkInternational from "@/modules/09_leave/components/05_Leave/formDetail/formLeaveToWorkInternational.vue"; //
import FormSpouse from "@/modules/09_leave/components/05_Leave/formDetail/formSpouse.vue"; //
import FormVocationalRehabilitation from "@/modules/09_leave/components/05_Leave/formDetail/formVocationalRehabilitation.vue"; //
import WorkFlow from "@/components/Workflow/Main.vue";
/** use */
const $q = useQuasar();
@ -54,8 +51,7 @@ const paramsId = route.params.id.toString();
const typeDocx = ref<string>("docx");
const typePdf = ref<string>("pdf");
const modalApprove = ref(false);
const dialogTitleUnapprove = ref<string>("ไม่อนุมัติ");
const dialogTitle = ref<string>("อนุมัติ");
const dialogTitle = ref<string>("อนุญาต");
/**
* consolelog ไวอน
@ -364,11 +360,11 @@ function checkLeaveType(leaveTypeId: string, leaveTypeName: string) {
const openModal = async (data: string) => {
if (data === "approve") {
modalApprove.value = true;
dialogTitle.value = "อนุมัติการยกเลิก";
dialogTitle.value = "อนุญาตให้ยกเลิกการลา";
}
if (data === "UnApprove") {
modalApprove.value = true;
dialogTitle.value = "ไม่อนุมัติการยกเลิก";
dialogTitle.value = "ไม่อนุญาตให้ยกเลิกการลา";
}
};
@ -377,10 +373,11 @@ function clickSave(reason: string) {
const body = {
reason: reason,
};
if (dialogTitle.value === "อนุมัติการยกเลิก") {
if (dialogTitle.value === "อนุญาตให้ยกเลิกการลา") {
dialogConfirm(
$q,
async () => {
showLoader();
await http
.put(config.API.leaveDeleteApprove(formDataReject.id), body)
.then(() => {
@ -392,16 +389,18 @@ function clickSave(reason: string) {
.finally(async () => {
await fetchDetailDeleteLeave(paramsId);
modalApprove.value = false;
hideLoader();
});
},
"ยืนยันการอนุมัติการยกเลิก",
"ต้องการยืนยันการอนุมัติการยกเลิกใช่หรือไม่ ?"
"ยืนยันการพิจารณา",
"ต้องการยืนยันการพิจารณานี้ใช่หรือไม่?"
);
}
if (dialogTitle.value === "ไม่อนุมัติการยกเลิก") {
if (dialogTitle.value === "ไม่อนุญาตให้ยกเลิกการลา") {
dialogConfirm(
$q,
async () => {
showLoader();
await http
.put(config.API.leaveDeleteReject(formDataReject.id), body)
.then(() => {
@ -413,10 +412,11 @@ function clickSave(reason: string) {
.finally(async () => {
await fetchDetailDeleteLeave(paramsId);
modalApprove.value = false;
hideLoader();
});
},
"ยืนยันไม่อนุมัติการยกเลิก",
"ต้องการยืนยันไม่อนุมัติการยกเลิกใช่หรือไม่ ?"
"ยืนยันการพิจารณา",
"ต้องการยืนยันการพิจารณานี้ใช่หรือไม่?"
);
}
}
@ -720,10 +720,7 @@ async function checkOfficer() {
</div>
<!-- ความคดเหนของผอำนาจ -->
<div
class="col-xs-12 col-sm-12 row"
v-if="formDataReject.status !== 'NEW'"
>
<div class="col-xs-12 col-sm-12 row">
<q-card bordered class="row col-12 text-dark q-mt-sm">
<div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -735,12 +732,42 @@ async function checkOfficer() {
<q-separator />
<div class="row col-12 q-pa-md">
<div class="col-12 row bg-white q-col-gutter-md">
<div class="col-xs-6 row items-start">
<div class="col-12 text-weight-bold text-top">
- นามสก
</div>
<div class="col-12 text-detail">
{{
rows && rows.approvers[0]?.firstName
? `${rows?.approvers[0].prefix}${rows?.approvers[0].firstName} ${rows?.approvers[0].lastName}`
: "-"
}}
</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">
{{
rows && rows.approvers[0]?.positionName
? rows?.approvers[0].positionName
: "-"
}}
</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">
{{ stores.convertSatatus(formDataReject.status) }}
{{
formDataReject.status == "NEW"
? "-"
: stores.convertSatatus(formDataReject.status)
}}
</div>
</div>
<div class="col-xs-6 row items-start">
@ -748,7 +775,11 @@ async function checkOfficer() {
ความคดเห
</div>
<div class="col-12 text-detail">
{{ formDataReject.leaveReasonDelete }}
{{
formDataReject.status == "NEW"
? "-"
: formDataReject.leaveReasonDelete
}}
</div>
</div>
</div>
@ -771,39 +802,25 @@ async function checkOfficer() {
</div> -->
</div>
</div>
<q-separator
v-if="
checkPermission($route)?.attrIsUpdate &&
statusCheck == 'NEW' &&
(isOfficer || isStaff)
"
/>
<q-separator v-if="formDataReject.status == 'NEW'" />
<div
class="row q-pa-md q-gutter-md justify-end"
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
class="row q-pa-md q-gutter-sm justify-end"
v-if="formDataReject.status == 'NEW'"
>
<q-btn
v-if="
formDataReject.status === 'NEW' &&
checkPermission($route)?.attrIsUpdate
"
unelevated
:disable="rows?.approvers.length == 0 || rows?.commanders.length == 0"
color="orange-5"
label="ไม่อนุมัติการยกเลิก"
label="ไม่อนุญาต"
@click="openModal('UnApprove')"
><q-tooltip>ไมอนการยกเล</q-tooltip>
><q-tooltip>ไมอนญาตใหทำการยกเล</q-tooltip>
</q-btn>
<q-btn
v-if="
formDataReject.status === 'NEW' &&
checkPermission($route)?.attrIsUpdate
"
unelevated
color="primary"
label="อนุมัติการยกเลิก"
label="อนุญาต"
@click="openModal('approve')"
><q-tooltip>อนการยกเล</q-tooltip>
><q-tooltip>อนญาตใหทำการยกเล</q-tooltip>
</q-btn>
</div>
</q-card>