From afc9be8ab8daa994ff9f2671062e915c19a1b1d3 Mon Sep 17 00:00:00 2001 From: waruneeta Date: Wed, 26 Jul 2023 15:37:34 +0700 Subject: [PATCH 1/3] =?UTF-8?q?update=20structure=20=E0=B8=97=E0=B8=94?= =?UTF-8?q?=E0=B8=A5=E0=B8=AD=E0=B8=87=E0=B8=87=E0=B8=B2=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../probation/FormEvaluation/Footer.vue | 83 ++++ .../probation/FormEvaluation/FormEvaluate.vue | 369 ++++++++++++++ .../probation/FormEvaluation/FormReport.vue | 369 ++++++++++++++ .../FormEvaluation/FormSaveResult.vue | 469 ++++++++++++++++++ .../probation/FormEvaluation/Header.vue | 115 +++++ .../FormEvaluation/SubForm/Part1.vue | 432 ++++++++++++++++ .../FormEvaluation/SubForm/Part1Template2.vue | 312 ++++++++++++ .../FormEvaluation/SubForm/Part2.vue | 289 +++++++++++ .../FormEvaluation/SubForm/Part3.vue | 131 +++++ .../SubForm/PartHighlightImprove.vue | 45 ++ .../probation/FormEvaluation/Template1.vue | 31 ++ .../probation/FormEvaluation/Template2.vue | 29 ++ .../probation/FormEvaluation/Template3.vue | 30 ++ .../components/probation/MainDetail.vue | 67 +-- 14 files changed, 2743 insertions(+), 28 deletions(-) create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/Footer.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/FormReport.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/Header.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1Template2.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part2.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part3.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/SubForm/PartHighlightImprove.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/Template1.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/Template2.vue create mode 100644 src/modules/05_placement/components/probation/FormEvaluation/Template3.vue diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Footer.vue b/src/modules/05_placement/components/probation/FormEvaluation/Footer.vue new file mode 100644 index 000000000..20f98ed57 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/Footer.vue @@ -0,0 +1,83 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue new file mode 100644 index 000000000..15c6ee09e --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue @@ -0,0 +1,369 @@ + + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormReport.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormReport.vue new file mode 100644 index 000000000..15c6ee09e --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormReport.vue @@ -0,0 +1,369 @@ + + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue new file mode 100644 index 000000000..c5aa2bc4f --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue @@ -0,0 +1,469 @@ + + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Header.vue b/src/modules/05_placement/components/probation/FormEvaluation/Header.vue new file mode 100644 index 000000000..579b4e5c6 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/Header.vue @@ -0,0 +1,115 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1.vue b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1.vue new file mode 100644 index 000000000..d33baba54 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1.vue @@ -0,0 +1,432 @@ + + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1Template2.vue b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1Template2.vue new file mode 100644 index 000000000..2f4120f67 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part1Template2.vue @@ -0,0 +1,312 @@ + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part2.vue b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part2.vue new file mode 100644 index 000000000..0b4771475 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part2.vue @@ -0,0 +1,289 @@ + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part3.vue b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part3.vue new file mode 100644 index 000000000..d4b0b14d5 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/Part3.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/SubForm/PartHighlightImprove.vue b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/PartHighlightImprove.vue new file mode 100644 index 000000000..5dc58496c --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/SubForm/PartHighlightImprove.vue @@ -0,0 +1,45 @@ + + diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue new file mode 100644 index 000000000..251df64ee --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue new file mode 100644 index 000000000..72f5cc6db --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template3.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template3.vue new file mode 100644 index 000000000..e0adc68a6 --- /dev/null +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template3.vue @@ -0,0 +1,30 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/MainDetail.vue b/src/modules/05_placement/components/probation/MainDetail.vue index f1a22fc3e..1a58e429e 100644 --- a/src/modules/05_placement/components/probation/MainDetail.vue +++ b/src/modules/05_placement/components/probation/MainDetail.vue @@ -1,3 +1,34 @@ + + - diff --git a/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue b/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue index 1b31b8a2d..91b22c7ed 100644 --- a/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue +++ b/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue @@ -13,6 +13,17 @@ /> รายชื่อผู้สมัครสอบรอบ {{ name }} ครั้งที่ {{ round }}/{{ year }} + + บรรจุผู้ผ่านการคัดเลือกผู้พิการ + ดาวน์โหลดไฟล์ @@ -129,7 +140,7 @@ const pass = ref(0); const notpass = ref(0); const importId = ref(route.params.id as string); // Period Import Id const mixin = useCounterMixin(); -const { messageError } = mixin; +const { messageError, success } = mixin; const filter = ref(""); //search data table const visibleColumns = ref([ "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(() => {}); +}; diff --git a/src/modules/03_recruiting/views/02_qualify/manageDetail.vue b/src/modules/03_recruiting/views/02_qualify/manageDetail.vue index 74b8776c2..4a91aa660 100644 --- a/src/modules/03_recruiting/views/02_qualify/manageDetail.vue +++ b/src/modules/03_recruiting/views/02_qualify/manageDetail.vue @@ -455,7 +455,7 @@ const columns = ref([ { 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, diff --git a/src/modules/05_placement/components/PersonalList/Detail.vue b/src/modules/05_placement/components/PersonalList/Detail.vue index d72880f1c..16c76ae88 100644 --- a/src/modules/05_placement/components/PersonalList/Detail.vue +++ b/src/modules/05_placement/components/PersonalList/Detail.vue @@ -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(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 () => { diff --git a/src/modules/05_placement/components/PersonalList/Table.vue b/src/modules/05_placement/components/PersonalList/Table.vue index cec7c0c36..aff05ffc6 100644 --- a/src/modules/05_placement/components/PersonalList/Table.vue +++ b/src/modules/05_placement/components/PersonalList/Table.vue @@ -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, From 99f56a89f2ebb9e26b6f2640f980087bb3bbfd92 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Wed, 26 Jul 2023 19:50:56 +0700 Subject: [PATCH 3/3] =?UTF-8?q?=E0=B9=81=E0=B8=82=E0=B9=88=E0=B8=87?= =?UTF-8?q?=E0=B8=82=E0=B8=B1=E0=B8=99=E0=B8=94=E0=B8=B9=E0=B8=8A=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=A3=E0=B8=AD=E0=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../03_recruiting/views/01_compete/Detail.vue | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/modules/03_recruiting/views/01_compete/Detail.vue b/src/modules/03_recruiting/views/01_compete/Detail.vue index e9361bd30..ff4b32fcb 100644 --- a/src/modules/03_recruiting/views/01_compete/Detail.vue +++ b/src/modules/03_recruiting/views/01_compete/Detail.vue @@ -133,7 +133,7 @@ const router = useRouter(); const route = useRoute(); const { loaderPage } = dataStore; const mixin = useCounterMixin(); -const { messageError } = mixin; +const { messageError, success } = mixin; const year = ref(""); const round = ref(""); const name = ref(""); @@ -451,10 +451,12 @@ const fetchData = async () => { notpass.value = header.notpass; // period information - name.value = period.name; - round.value = period.order as string; - year.value = - period.year >= 2500 ? period.year : ((period.year + 543) as string); + if (period != null) { + name.value = period.name; + round.value = period.order; + year.value = + period.year >= 2500 ? period.year : ((period.year + 543) as string); + } const data = res.data.result.data; if (data.length > 0) {