โอนคนสรรหาไปบรรจุ
This commit is contained in:
parent
d08b3625f3
commit
78163d36c0
11 changed files with 249 additions and 83 deletions
|
|
@ -1,39 +1,40 @@
|
|||
/**
|
||||
* api สรรหา
|
||||
*/
|
||||
import env from "../index"
|
||||
const disableExam = `${env.API_CANDIDATE_URI}/candidate/disable-exam/`
|
||||
const diable_report = `${env.API_URI}/report/exam/`
|
||||
import env from "../index";
|
||||
const disableExam = `${env.API_CANDIDATE_URI}/candidate/disable-exam/`;
|
||||
const diable_report = `${env.API_URI}/report/exam/`;
|
||||
|
||||
export default {
|
||||
getDisableCandidates: `${disableExam}candidate`,
|
||||
saveDisableCandidates: `${disableExam}candidate`,
|
||||
deleteDisableCandidates: (id: string) => `${disableExam}candidate/${id}`,
|
||||
getDisableExamDetail: (id: string, examId: string) =>
|
||||
`${disableExam}exam/${id}/${examId}`,
|
||||
getDisableCandidates: `${disableExam}candidate`,
|
||||
saveDisableCandidates: `${disableExam}candidate`,
|
||||
deleteDisableCandidates: (id: string) => `${disableExam}candidate/${id}`,
|
||||
getDisableExamDetail: (id: string, examId: string) =>
|
||||
`${disableExam}exam/${id}/${examId}`,
|
||||
|
||||
saveDisableScores: (id: string) => `${disableExam}score/${id}`,
|
||||
saveDisableScores: (id: string) => `${disableExam}score/${id}`,
|
||||
|
||||
getDisableExamResultById: (id: string) => `${disableExam}exam/${id}`,
|
||||
getDisableExamResultById: (id: string) => `${disableExam}exam/${id}`,
|
||||
|
||||
// จัดการรอบการสอบ
|
||||
saveDisablePeriod: `${disableExam}period`,
|
||||
editDisablePeriod: (id: string) => `${disableExam}period/${id}`,
|
||||
getDisablePeriodById: (id: string) => `${disableExam}period/${id}`,
|
||||
uploadDisableCandidates: (id: string) => `${disableExam}candidate/${id}`,
|
||||
getDisableImportHistory: (id: string) => `${disableExam}history/${id}`,
|
||||
// จัดการรอบการสอบ
|
||||
saveDisablePeriod: `${disableExam}period`,
|
||||
editDisablePeriod: (id: string) => `${disableExam}period/${id}`,
|
||||
getDisablePeriodById: (id: string) => `${disableExam}period/${id}`,
|
||||
uploadDisableCandidates: (id: string) => `${disableExam}candidate/${id}`,
|
||||
getDisableImportHistory: (id: string) => `${disableExam}history/${id}`,
|
||||
|
||||
// รายงาน
|
||||
downloadDisableExamReport: (id: string, examId: string, type: number = 2) =>
|
||||
`${diable_report}certificate/${type}/${id}/${examId}`,
|
||||
downloadDisableScoreReport: (id: string, examId: string) =>
|
||||
`${diable_report}score/${id}/${examId}`,
|
||||
exportDisableExam: (id: string) => `${disableExam}export/exam/${id}`,
|
||||
exportDisablePassExam: (id: string) => `${disableExam}export/pass-exam/${id}`,
|
||||
exportDisablePassResultExam: (id: string) =>
|
||||
`${disableExam}export/pass/${id}`,
|
||||
// รายงาน
|
||||
downloadDisableExamReport: (id: string, examId: string, type: number = 2) =>
|
||||
`${diable_report}certificate/${type}/${id}/${examId}`,
|
||||
downloadDisableScoreReport: (id: string, examId: string) =>
|
||||
`${diable_report}score/${id}/${examId}`,
|
||||
exportDisableExam: (id: string) => `${disableExam}export/exam/${id}`,
|
||||
exportDisablePassExam: (id: string) => `${disableExam}export/pass-exam/${id}`,
|
||||
exportDisablePassResultExam: (id: string) =>
|
||||
`${disableExam}export/pass/${id}`,
|
||||
|
||||
exportDisableCandidateList: (id: string) => `${diable_report}candidate/${id}`,
|
||||
exportDisablePassExamList: (id: string) => `${diable_report}pass/${id}`,
|
||||
|
||||
}
|
||||
exportDisableCandidateList: (id: string) => `${diable_report}candidate/${id}`,
|
||||
exportDisablePassExamList: (id: string) => `${diable_report}pass/${id}`,
|
||||
periodDisableToPlacement: (examId: string) =>
|
||||
`${disableExam}placement/${examId}`,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -83,4 +83,5 @@ export default {
|
|||
|
||||
exportExamCandidateList: (id: string) => `${exam_report}candidate-exam/${id}`,
|
||||
exportExamPassExamList: (id: string) => `${exam_report}pass-exam/${id}`,
|
||||
periodExamToPlacement: (examId: string) => `${periodExam}placement/${examId}`,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,41 +1,44 @@
|
|||
/**
|
||||
* api สรรหา - สอบแข่งขัน
|
||||
*/
|
||||
import env from "../index"
|
||||
const recruit = `${env.API_URI}/recruit/`
|
||||
const recruit_report = `${env.API_URI}/report/recruit/`
|
||||
import env from "../index";
|
||||
const recruit = `${env.API_URI}/recruit/`;
|
||||
const recruit_report = `${env.API_URI}/report/recruit/`;
|
||||
|
||||
export default {
|
||||
getCandidates: `${recruit}candidate`,
|
||||
saveCandidates: `${recruit}candidate`,
|
||||
deleteCandidates: (id: string) => `${recruit}candidate/${id}`,
|
||||
getExamDetail: (id: string, examId: string) => `${recruit}exam/${id}/${examId}`,
|
||||
getCandidates: `${recruit}candidate`,
|
||||
saveCandidates: `${recruit}candidate`,
|
||||
deleteCandidates: (id: string) => `${recruit}candidate/${id}`,
|
||||
getExamDetail: (id: string, examId: string) =>
|
||||
`${recruit}exam/${id}/${examId}`,
|
||||
|
||||
saveScores: (id: string) => `${recruit}score/${id}`,
|
||||
saveScores: (id: string) => `${recruit}score/${id}`,
|
||||
|
||||
getExamResultById: (id: string) => `${recruit}exam/${id}`,
|
||||
getExamResultById: (id: string) => `${recruit}exam/${id}`,
|
||||
|
||||
// จัดการรอบการสอบ
|
||||
savePeriod: `${recruit}period`,
|
||||
editPeriod: (id: string) => `${recruit}period/${id}`,
|
||||
getPeriodById: (id: string) => `${recruit}period/${id}`,
|
||||
uploadCandidates: (id: string) => `${recruit}candidate/${id}`,
|
||||
getImportHistory: (id: string) => `${recruit}history/${id}`,
|
||||
// จัดการรอบการสอบ
|
||||
savePeriod: `${recruit}period`,
|
||||
editPeriod: (id: string) => `${recruit}period/${id}`,
|
||||
getPeriodById: (id: string) => `${recruit}period/${id}`,
|
||||
uploadCandidates: (id: string) => `${recruit}candidate/${id}`,
|
||||
getImportHistory: (id: string) => `${recruit}history/${id}`,
|
||||
|
||||
//upload
|
||||
periodRecruitDoc: (examId: string) => `${recruit}doc/${examId}`,
|
||||
periodRecruitImg: (examId: string) => `${recruit}img/${examId}`,
|
||||
periodDeleteDoc: (docId: string) => `${recruit}doc/${docId}`,
|
||||
periodDeleteImg: (docId: string) => `${recruit}img/${docId}`,
|
||||
//upload
|
||||
periodRecruitDoc: (examId: string) => `${recruit}doc/${examId}`,
|
||||
periodRecruitImg: (examId: string) => `${recruit}img/${examId}`,
|
||||
periodDeleteDoc: (docId: string) => `${recruit}doc/${docId}`,
|
||||
periodDeleteImg: (docId: string) => `${recruit}img/${docId}`,
|
||||
|
||||
// รายงาน
|
||||
downloadExamReport: (id: string, examId: string, type: number = 2) => `${recruit_report}certificate/${type}/${id}/${examId}`,
|
||||
downloadScoreReport: (id: string, examId: string) => `${recruit_report}score/${id}/${examId}`,
|
||||
exportExam: (id: string) => `${recruit}export/exam/${id}`,
|
||||
exportPassExam: (id: string) => `${recruit}export/pass-exam/${id}`,
|
||||
exportPassResultExam: (id: string) => `${recruit}export/pass/${id}`,
|
||||
// รายงาน
|
||||
downloadExamReport: (id: string, examId: string, type: number = 2) =>
|
||||
`${recruit_report}certificate/${type}/${id}/${examId}`,
|
||||
downloadScoreReport: (id: string, examId: string) =>
|
||||
`${recruit_report}score/${id}/${examId}`,
|
||||
exportExam: (id: string) => `${recruit}export/exam/${id}`,
|
||||
exportPassExam: (id: string) => `${recruit}export/pass-exam/${id}`,
|
||||
exportPassResultExam: (id: string) => `${recruit}export/pass/${id}`,
|
||||
|
||||
exportCandidateList: (id: string) => `${recruit_report}candidate/${id}`,
|
||||
exportPassExamList: (id: string) => `${recruit_report}pass/${id}`,
|
||||
|
||||
}
|
||||
exportCandidateList: (id: string) => `${recruit_report}candidate/${id}`,
|
||||
exportPassExamList: (id: string) => `${recruit_report}pass/${id}`,
|
||||
periodRecruitToPlacement: (examId: string) => `${recruit}placement/${examId}`,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -468,6 +468,7 @@ const saveData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
modal.value = false;
|
||||
await fetchData();
|
||||
});
|
||||
};
|
||||
|
|
@ -493,6 +494,7 @@ const editData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
modal.value = false;
|
||||
await fetchData();
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -497,6 +497,7 @@ const saveData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
modal.value = false;
|
||||
await fetchData();
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -58,6 +58,17 @@
|
|||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
size="md"
|
||||
icon="mdi-content-save-move-outline"
|
||||
round
|
||||
flat
|
||||
color="indigo"
|
||||
v-if="statusPayment && setSeat == true"
|
||||
@click="candidateToPlacement"
|
||||
>
|
||||
<q-tooltip>บรรจุผู้ผ่านการคัดเลือก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-space />
|
||||
<div class="items-center" style="display: flex">
|
||||
<!-- ค้นหาข้อความใน table -->
|
||||
|
|
@ -137,7 +148,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, useAttrs } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useDataStore } from "@/stores/data";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -145,6 +156,7 @@ import config from "@/app.config";
|
|||
import { useQuasar } from "quasar";
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const dataStore = useDataStore();
|
||||
const { loaderPage } = dataStore;
|
||||
const mixin = useCounterMixin();
|
||||
|
|
@ -277,6 +289,34 @@ const uploadFile = async () => {
|
|||
}
|
||||
};
|
||||
|
||||
const candidateToPlacement = async () => {
|
||||
$q.dialog({
|
||||
title: "ยืนยันการนำผู้ผ่านคัดเลือกเข้าสู่ระบบบรรจุ",
|
||||
message: "ต้องการนำผู้ผ่านคัดเลือกเข้าสู่ระบบบรรจุใช่หรือไม่?",
|
||||
cancel: {
|
||||
flat: true,
|
||||
color: "negative",
|
||||
},
|
||||
persistent: true,
|
||||
})
|
||||
.onOk(async () => {
|
||||
await http
|
||||
.get(config.API.periodExamToPlacement(examId.value))
|
||||
.then((res) => {
|
||||
success($q, "นำผู้ผ่านคัดเลือกเข้าสู่ระบบบรรจุ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
loaderPage(false);
|
||||
router.go(-1);
|
||||
});
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {});
|
||||
};
|
||||
|
||||
const uploadDataSeat = async () => {
|
||||
loaderPage(true);
|
||||
const formData = new FormData();
|
||||
|
|
|
|||
|
|
@ -13,6 +13,17 @@
|
|||
/>
|
||||
รายชื่อผู้สมัครสอบแข่งขัน {{ name }} ครั้งที่ {{ round }}/{{ year }}
|
||||
<q-space />
|
||||
<q-btn
|
||||
size="md"
|
||||
icon="mdi-content-save-move-outline"
|
||||
round
|
||||
flat
|
||||
color="indigo"
|
||||
v-if="rows.length > 0"
|
||||
@click="candidateToPlacement"
|
||||
>
|
||||
<q-tooltip>บรรจุผู้ผ่านการคัดเลือกผู้พิการ</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn class="bg-teal-1" icon="mdi-download" round color="primary" flat>
|
||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip>
|
||||
<q-menu>
|
||||
|
|
@ -464,6 +475,35 @@ const fetchData = async () => {
|
|||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const candidateToPlacement = async () => {
|
||||
$q.dialog({
|
||||
title: "ยืนยันการนำผู้ผ่านสอบแข่งขันเข้าสู่ระบบบรรจุ",
|
||||
message: "ต้องการนำผู้ผ่านสอบแข่งขันเข้าสู่ระบบบรรจุใช่หรือไม่?",
|
||||
cancel: {
|
||||
flat: true,
|
||||
color: "negative",
|
||||
},
|
||||
persistent: true,
|
||||
})
|
||||
.onOk(async () => {
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.periodRecruitToPlacement(importId.value))
|
||||
.then((res) => {
|
||||
success($q, "นำผู้ผ่านสอบแข่งขันเข้าสู่ระบบบรรจุ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
loaderPage(false);
|
||||
router.go(-1);
|
||||
});
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {});
|
||||
};
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,17 @@
|
|||
/>
|
||||
รายชื่อผู้สมัครสอบรอบ {{ name }} ครั้งที่ {{ round }}/{{ year }}
|
||||
<q-space />
|
||||
<q-btn
|
||||
size="md"
|
||||
icon="mdi-content-save-move-outline"
|
||||
round
|
||||
flat
|
||||
color="indigo"
|
||||
v-if="rows.length > 0"
|
||||
@click="candidateToPlacement"
|
||||
>
|
||||
<q-tooltip>บรรจุผู้ผ่านการคัดเลือกผู้พิการ</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn class="bg-teal-1" icon="mdi-download" round color="primary" flat>
|
||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip>
|
||||
<q-menu>
|
||||
|
|
@ -129,7 +140,7 @@ const pass = ref<number>(0);
|
|||
const notpass = ref<number>(0);
|
||||
const importId = ref<string>(route.params.id as string); // Period Import Id
|
||||
const mixin = useCounterMixin();
|
||||
const { messageError } = mixin;
|
||||
const { messageError, success } = mixin;
|
||||
const filter = ref<string>(""); //search data table
|
||||
const visibleColumns = ref<String[]>([
|
||||
"examID",
|
||||
|
|
@ -419,6 +430,35 @@ const fetchData = async () => {
|
|||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const candidateToPlacement = async () => {
|
||||
$q.dialog({
|
||||
title: "ยืนยันการนำผู้ผ่านคัดเลือกคนพิการเข้าสู่ระบบบรรจุ",
|
||||
message: "ต้องการนำผู้ผ่านคัดเลือกคนพิการเข้าสู่ระบบบรรจุใช่หรือไม่?",
|
||||
cancel: {
|
||||
flat: true,
|
||||
color: "negative",
|
||||
},
|
||||
persistent: true,
|
||||
})
|
||||
.onOk(async () => {
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.periodDisableToPlacement(importId.value))
|
||||
.then((res) => {
|
||||
success($q, "นำผู้ผ่านคัดเลือกคนพิการเข้าสู่ระบบบรรจุ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
loaderPage(false);
|
||||
router.go(-1);
|
||||
});
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {});
|
||||
};
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
|
|
|
|||
|
|
@ -455,7 +455,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "registerDate",
|
||||
align: "left",
|
||||
label: "วันเและเวลาที่สมัคร",
|
||||
label: "วันและเวลาที่สมัคร",
|
||||
sortable: true,
|
||||
field: "registerDate",
|
||||
headerStyle: "font-size: 14px; min-width: 200px",
|
||||
|
|
@ -514,7 +514,7 @@ const fetchData = async () => {
|
|||
avatar: r.profileImg != null ? r.profileImg.detail : "",
|
||||
citizenId: r.citizenId,
|
||||
number: r.number,
|
||||
registerDate: r.registerDate,
|
||||
registerDate: date2Thai(r.registerDate),
|
||||
examIdenNumber: r.examIdenNumber,
|
||||
seatNumber: r.seatNumber,
|
||||
resultC: r.resultC,
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue