รายการลาออก

This commit is contained in:
setthawutttty 2025-05-07 22:08:48 +07:00
parent 2c3be4c51e
commit e2e24b7717
9 changed files with 231 additions and 132 deletions

View file

@ -8,6 +8,7 @@ import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
import { useRetirementDataStore } from "@/modules/06_retirement/store/Main";
import type { DataProfile } from "@/modules/05_placement/interface/index/Main";
import type {
@ -24,6 +25,8 @@ import DialogAddCommander from "@/modules/06_retirement/components/DialogAddComm
const $q = useQuasar();
const route = useRoute();
const router = useRouter();
const store = useRetirementDataStore();
const { convertStatusText } = store;
const checkRoutePermisson = ref<boolean>(route.name == "resignDetailReject");
const mixin = useCounterMixin();
const {
@ -129,21 +132,13 @@ const columnsCommanders = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "org",
align: "left",
label: "สังกัด",
sortable: true,
field: "org",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "สถานะ",
name: "approveStatus",
align: "left",
label: "สถานะ",
sortable: true,
field: "สถานะ",
field: "approveStatus",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -275,6 +270,7 @@ async function fetchData(id: string) {
isNoBurden.value = data.isNoBurden;
isDiscipline.value = data.isDiscipline;
statusCheck.value = data.status;
profileType.value = data.profileType;
keycloakUserId.value = data.keycloakUserId;
rowsApprover.value = {
@ -428,7 +424,7 @@ function onSend() {
() => {
showLoader();
http
.get(config.API.sendApprove(id.value))
.get(config.API.sendApproveRetirement("", id.value))
.then(async (res) => {
await fetchData(id.value);
success($q, "ส่งไปพิจารณา");
@ -443,9 +439,24 @@ function onSend() {
);
}
async function fetchKeycloakPosition() {
if (keycloakId.value == "") {
await http
.get(config.API.keycloakPosition())
.then(async (res) => {
const data = await res.data.result;
keycloakId.value = data.profileId;
})
.catch((err) => {
messageError($q, err);
});
}
}
/** Hook */
onMounted(async () => {
await fetchData(id.value);
await fetchKeycloakPosition()
await checkOfficer();
});
</script>
@ -566,7 +577,7 @@ onMounted(async () => {
ผลการพจารณาของผงคบบญชา
</div>
<q-btn
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
v-if="statusCheck == 'WAITTING' && (isOfficer || isStaff)"
flat
round
icon="add"
@ -688,6 +699,13 @@ onMounted(async () => {
{{ props.row.comment ? props.row.comment : "-" }}
</div>
</div>
<div v-else-if="col.name == 'approveStatus'">
{{
props.row.approveStatus
? convertStatusText(props.row.approveStatus)
: "-"
}}
</div>
<div v-else>
{{ col.value ? col.value : "-" }}
</div>
@ -705,7 +723,7 @@ onMounted(async () => {
ผลการพจารณาของผอำนาจ
</div>
<q-btn
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
v-if="statusCheck == 'WAITTING' && (isOfficer || isStaff)"
flat
round
icon="add"
@ -771,8 +789,10 @@ onMounted(async () => {
<div class="col-12 text-top">สถานะ</div>
<div class="col-12 text-detail">
{{
dataDetail.oligarchReject !== null
? statusOrder(dataDetail.oligarchReject)
rowsApprover &&
rowsApprover.approvers &&
rowsApprover.approvers[0]?.approveStatus
? convertStatusText(rowsApprover?.approvers[0].approveStatus)
: "-"
}}
</div>
@ -803,7 +823,7 @@ onMounted(async () => {
<q-card
bordered
class="row col-12 text-dark q-mt-sm q-pa-sm"
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
v-if="statusCheck == 'WAITTING' && (isOfficer || isStaff)"
>
<q-btn
@click="onSend"