รายการลาออก

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

@ -9,6 +9,7 @@ import config from "@/app.config";
import genReport from "@/plugins/genreport";
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
import { useRetirementDataStore } from "@/modules/06_retirement/store/Main";
import type {
TypeFile,
@ -33,6 +34,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 == "resignDetailbyidEMP");
const mixin = useCounterMixin();
const {
@ -142,21 +145,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",
},
@ -345,6 +340,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 = {
@ -388,7 +384,7 @@ async function confirmpopUp() {
reason: reasonReign.value,
};
await http
.put(config.API.resignConfirmEMP(roleUser.value, id.value), body)
.put(config.API.commanderApproveRetirement("-employee", id.value,'approve'), body)
.then(async () => {
await fetchData(id.value);
closeModal();
@ -417,7 +413,7 @@ async function rejectpopUp() {
date: dateBreak.value,
};
await http
.put(config.API.resignRejectEMP(roleUser.value, id.value), body)
.put(config.API.commanderApproveRetirement('-employee', id.value,'reject'), body)
.then(async () => {
await fetchData(id.value);
closeModal();
@ -720,7 +716,7 @@ function onSend() {
() => {
showLoader();
http
.get(config.API.sendApprove(id.value))
.get(config.API.sendApproveRetirement("-employee", id.value))
.then(async (res) => {
await fetchData(id.value);
success($q, "ส่งไปพิจารณา");
@ -735,11 +731,26 @@ 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 () => {
showLoader();
await Promise.all([
await fetchData(id.value),
await fetchKeycloakPosition(),
fetchFile(),
await checkOfficer(),
]).finally(() => {
@ -1205,7 +1216,7 @@ onMounted(async () => {
ผลการพจารณาของผงคบบญชา
</div>
<q-btn
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
v-if="statusCheck == 'WAITTING' && (isOfficer || isStaff)"
flat
round
icon="add"
@ -1327,6 +1338,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>
@ -1335,41 +1353,6 @@ onMounted(async () => {
</template>
</d-table>
</div>
<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-top">สถานะ</div>
<div class="col-12 text-detail">
{{
dataDetail.commanderReject !== null
? statusOrder(dataDetail.commanderReject)
: "-"
}}
</div>
</div>
<div class="col-xs-6 row items-start">
<div class="col-12 text-top">นสดทายทบย</div>
<div class="col-12 text-detail">
{{
dataDetail.commanderRejectDate !== null
? date2Thai(dataDetail.commanderRejectDate)
: "-"
}}
</div>
</div>
<div class="col-xs-12 row items-start">
<div class="col-12 text-top">ความคดเหนและเหตผล</div>
<div class="col-12 text-detail">
{{
dataDetail.commanderReject
? dataDetail.commanderRejectReason
: dataDetail.commanderApproveReason
}}
</div>
</div>
</div>
</div>
</q-card>
<!-- ผลการพจารณาของผอำนาจ -->
@ -1379,7 +1362,7 @@ onMounted(async () => {
ผลการพจารณาของผอำนาจ
</div>
<q-btn
v-if="statusCheck == 'NEW' && (isOfficer || isStaff)"
v-if="statusCheck == 'WAITTING' && (isOfficer || isStaff)"
flat
round
icon="add"
@ -1443,8 +1426,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>
@ -1475,7 +1460,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"