แก้ไขลา

This commit is contained in:
Warunee Tamkoo 2025-05-08 17:43:24 +07:00
parent 754618ebe6
commit 2b9ee64d04
3 changed files with 44 additions and 42 deletions

View file

@ -1,5 +1,5 @@
<script setup lang="ts">
import { ref, reactive, onMounted, computed } from "vue";
import { ref, reactive, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useQuasar } from "quasar";
@ -49,18 +49,18 @@ const router = useRouter();
const route = useRoute();
const paramsId = route.params.id.toString();
const keycloakId = ref<string>("");
const myProfileId = ref<string>("");
const typeDocx = ref<string>("docx");
const typePdf = ref<string>("pdf");
const modalApprove = ref(false);
const dialogTitle = ref<string>("อนุญาต");
const approveCheck = computed(() => {
return (
rows.value?.commanders?.every(
(commander) => commander.approveStatus === "APPROVE"
) ?? false
);
});
// const approveCheck = computed(() => {
// return (
// rows.value?.commanders?.every(
// (commander) => commander.approveStatus === "APPROVE"
// ) ?? false
// );
// });
/**
* consolelog ไวอน
@ -470,12 +470,12 @@ async function checkOfficer() {
}
async function fetchKeycloakPosition() {
if (keycloakId.value == "") {
if (myProfileId.value == "") {
await http
.get(config.API.keycloakPosition())
.then(async (res) => {
const data = await res.data.result;
keycloakId.value = data.profileId;
myProfileId.value = data.profileId;
})
.catch((err) => {
messageError($q, err);
@ -830,23 +830,17 @@ async function fetchKeycloakPosition() {
</div>
<q-separator
v-if="
checkPermission($route)?.attrIsUpdate &&
formData.reasonOligarch === '-' &&
rows &&
rows.approvers[0]?.profileId == keycloakId &&
rows.approvers[0]?.approveStatus == 'PENDING' &&
approveCheck
rows.approvers[0]?.profileId == myProfileId &&
rows.approvers[0]?.approveStatus == 'PENDING'
"
/>
<div
class="row q-pa-md q-gutter-sm justify-end"
v-if="
checkPermission($route)?.attrIsUpdate &&
formData.reasonOligarch === '-' &&
rows &&
rows.approvers[0]?.profileId == keycloakId &&
rows.approvers[0]?.approveStatus == 'PENDING' &&
approveCheck
rows.approvers[0]?.profileId == myProfileId &&
rows.approvers[0]?.approveStatus == 'PENDING'
"
>
<q-btn

View file

@ -238,24 +238,6 @@ function updatePagination(newPagination: any) {
pagination.value.rowsPerPage = newPagination.rowsPerPage;
}
/**
* แปลง สถานะ เป text
* @param val
*/
function convert(val: any) {
const filtertype = props.dataToobar?.find(
(e: any) => e.id === val.leaveTypeId
);
const type = filtertype?.code;
if (type == "LV-006" && val.hajjDayStatus == false) {
return "ลาอุปสมบท";
} else if (type == "LV-006" && val.hajjDayStatus == true) {
return "ลาประกอบพิธีฮัจญ์";
} else {
return val.leaveTypeName;
}
}
/** Hook*/
onMounted(() => {
if (leaveStore.tabMenu === "1") {
@ -306,7 +288,23 @@ onMounted(() => {
<q-tooltip>รายละเอยด</q-tooltip>
</q-btn>
</q-td>
<q-td v-for="col in props.cols" :key="col.name" :props="props" :class="props.row.statusText == 'REJECT' || props.row.statusText == 'DELETE' ? 'text-red':props.row.statusText == 'PENDING' ? 'text-orange':props.row.statusText == 'APPROVE' ? 'text-green':''">
<q-td
v-for="col in props.cols"
:key="col.name"
:props="props"
:class="
props.row.statusText == 'REJECT'
? 'text-red'
: props.row.statusText == 'NEW'
? 'text-blue'
: props.row.statusText == 'PENDING'
? 'text-warning'
: props.row.statusText == 'DELETE' ||
props.row.statusText == 'DELETING'
? 'text-orange'
: ''
"
>
<div v-if="col.name == 'no'">
{{
(pagination.page - 1) * pagination.rowsPerPage +
@ -315,7 +313,15 @@ onMounted(() => {
}}
</div>
<div v-else-if="col.name == 'leaveTypeName'">
{{ props.row.leaveTypeName ? `${props.row.leaveTypeName} ${props.row.leaveSubTypeName ? `(${props.row.leaveSubTypeName})`:''}`: '-' }}
{{
props.row.leaveTypeName
? `${props.row.leaveTypeName} ${
props.row.leaveSubTypeName
? `(${props.row.leaveSubTypeName})`
: ""
}`
: "-"
}}
</div>
<div v-else-if="col.name == 'profileType'">
{{

View file

@ -131,8 +131,10 @@ export const useLeavelistDataStore = defineStore("leave", () => {
return "อนุญาต";
case "REJECT":
return "ไม่อนุญาต";
case "DELETING":
return "กำลังดำเนินการยกเลิก";
case "DELETE":
return "ยกเลิก";
return "ยกเลิกสำเร็จ";
}
}