โอนคนสรรหาไปบรรจุ

This commit is contained in:
Kittapath 2023-07-26 18:49:20 +07:00
parent d08b3625f3
commit 78163d36c0
11 changed files with 249 additions and 83 deletions

View file

@ -6,15 +6,15 @@ import cardTop from "@/modules/05_placement/components/PersonalList/StatCard.vue
import keycloak from "@/plugins/keycloak";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin"
import { useQuasar } from "quasar"
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar } from "quasar";
import { usePlacementDataStore } from "@/modules/05_placement/store";
const DataStore = usePlacementDataStore();
const $q = useQuasar
const mixin = useCounterMixin()
const { messageError, showLoader, hideLoader } = mixin
const $q = useQuasar;
const mixin = useCounterMixin();
const { messageError, showLoader, hideLoader } = mixin;
let roleAdmin = ref<boolean>(false);
const router = useRouter();
const route = useRoute();
@ -53,7 +53,7 @@ const getStat = async () => {
})
.catch((e) => {
messageError($q, e);
})
});
};
onMounted(async () => {
@ -65,14 +65,15 @@ onMounted(async () => {
roleAdmin.value = await keycloak.tokenParsed.role.includes("placement1");
}
await getStat()
await getStat();
examData.value = await DataStore.DataMainOrig.find((x: any) => x.id == examId);
title.value = examData.value.examRound;
round.value = examData.value.examOrder;
year.value = examData.value.fiscalYear;
examData.value = await DataStore.DataMainOrig.find(
(x: any) => x.id == examId
);
title.value = examData.value == null ? null : examData.value.examRound;
round.value = examData.value == null ? null : examData.value.examOrder;
year.value = examData.value == null ? null : examData.value.fiscalYear;
});
const fetchPlacementData = async () => {
@ -93,18 +94,48 @@ const fetchPlacementData = async () => {
<template>
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-8 row">
<div class="toptitle">
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" @click="router.go(-1)" />
<q-btn
icon="mdi-arrow-left"
unelevated
round
dense
flat
color="primary"
class="q-mr-sm"
@click="router.go(-1)"
/>
รายชอผสอบในรอบ {{ title }} ครงท {{ round }} {{ year }}
</div>
<q-card bordered class="q-py-sm row col-12">
<div class="col-12 row bg-white">
<div class="fit q-px-md q-py-sm">
<div class="row col-12 q-col-gutter-md fit">
<cardTop :amount="stat.total" label="จำนวนทั้งหมด" color="#016987" />
<cardTop v-if="roleAdmin" :amount="stat.unContain" label="จำนวนที่ยังไม่บรรจุ" color="#02A998" />
<cardTop :amount="stat.prepareContain" label="จำนวนที่เตรียมบรรจุ" color="#2EA0FF" />
<cardTop :amount="stat.contain" label="จำนวนที่บรรจุแล้ว" color="#4154B3" />
<cardTop :amount="stat.disclaim" label="จำนวนที่สละสิทธิ์" color="#FF5C5F" />
<cardTop
:amount="stat.total"
label="จำนวนทั้งหมด"
color="#016987"
/>
<cardTop
v-if="roleAdmin"
:amount="stat.unContain"
label="จำนวนที่ยังไม่บรรจุ"
color="#02A998"
/>
<cardTop
:amount="stat.prepareContain"
label="จำนวนที่เตรียมบรรจุ"
color="#2EA0FF"
/>
<cardTop
:amount="stat.contain"
label="จำนวนที่บรรจุแล้ว"
color="#4154B3"
/>
<cardTop
:amount="stat.disclaim"
label="จำนวนที่สละสิทธิ์"
color="#FF5C5F"
/>
</div>
</div>
</div>
@ -112,7 +143,11 @@ const fetchPlacementData = async () => {
</div>
<q-card flat bordered class="col-12 q-mt-sm q-pt-sm">
<div>
<AddTablePosition :statCard="getStat" class="q-pa-none" @get-stat="getStat" />
<AddTablePosition
:statCard="getStat"
class="q-pa-none"
@get-stat="getStat"
/>
</div>
</q-card>
</template>

View file

@ -232,7 +232,10 @@ const getTable = async () => {
organizationShortName: data.organizationShortName,
positionNumber: data.positionNumber,
positionPath: data.positionPath,
reportingDate: dateText(new Date(data.reportingDate)),
reportingDate:
data.reportingDate == null
? null
: dateText(new Date(data.reportingDate)),
examNumber: data.examNumber,
bmaOfficer: convertBmaOfficer(data.bmaOfficer),
statusId: data.statusId,