From 3901310f3d4b2ad26ca1cec82297f0456d008200 Mon Sep 17 00:00:00 2001 From: waruneeta Date: Sat, 23 Dec 2023 10:38:02 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=E0=B8=84=E0=B8=A5=E0=B8=B4=E0=B8=81=20step=20=E0=B8=9B?= =?UTF-8?q?=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/12_evaluatePersonal/api.evaluate.ts | 1 + .../components/Detail/Stepper.vue | 36 +++++++++---- .../components/Detail/Tab1.vue | 54 +++++++++++++++++-- .../components/Detail/step/step1.vue | 34 ++++++------ .../store/EvaluateDetail.ts | 4 +- 5 files changed, 97 insertions(+), 32 deletions(-) diff --git a/src/api/12_evaluatePersonal/api.evaluate.ts b/src/api/12_evaluatePersonal/api.evaluate.ts index d97430957..c6b3b78e5 100644 --- a/src/api/12_evaluatePersonal/api.evaluate.ts +++ b/src/api/12_evaluatePersonal/api.evaluate.ts @@ -10,6 +10,7 @@ export default { `${evaluation}?page=${page}&pageSize=${pageSize}&keyword=${keyword}`, evaluateGetDetail: (id: string) => `${evaluation}/check-spec/${id}`, + evaluateGetStep: (id: string) => `${evaluation}/check/${id}`, meeting: () => `${evaluation}/meeting`, meetingById: (id: string) => `${evaluation}/meeting/${id}`, diff --git a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue index 6d3bc4557..a5af64aac 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue @@ -21,7 +21,7 @@ const store = useEvaluateDetailStore(); :name="1" prefix="1" title="ตรวจสอบคุณสมบัติ" - :done="store.step > 1" + :done="store.step >= 1" > @@ -29,7 +29,8 @@ const store = useEvaluateDetailStore(); :name="2" prefix="2" title="จัดเตรียมเอกสารเล่ม 1" - :done="store.step > 2" + :done="store.step >= 2" + :disable="store.currentStep < 2" > @@ -37,7 +38,8 @@ const store = useEvaluateDetailStore(); :name="3" prefix="3" title="ตรวจสอบเอกสารเล่ม 1" - :done="store.step > 3" + :done="store.step >= 3" + :disable="store.currentStep < 3" > @@ -45,7 +47,8 @@ const store = useEvaluateDetailStore(); :name="4" prefix="4" title="รอตรวจสอบคุณสมบัติ" - :done="store.step > 4" + :done="store.step >= 4" + :disable="store.currentStep < 4" > @@ -53,7 +56,8 @@ const store = useEvaluateDetailStore(); :name="5" prefix="5" title="ประกาศบนเว็บไซต์" - :done="store.step > 5" + :done="store.step >= 5" + :disable="store.currentStep < 5" > @@ -61,7 +65,8 @@ const store = useEvaluateDetailStore(); :name="6" prefix="6" title="จัดเตรียมเอกสารเล่ม 2" - :done="store.step > 6" + :done="store.step >= 6" + :disable="store.currentStep < 6" > @@ -69,14 +74,27 @@ const store = useEvaluateDetailStore(); :name="7" prefix="7" title="ตรวจสอบเอกสารเล่ม 2" - :done="store.step > 7" + :done="store.step >= 7" + :disable="store.currentStep < 7" > - + - + diff --git a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue index 2be1cb4bf..83456b845 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue @@ -2,6 +2,8 @@ import { onMounted, ref, reactive } from "vue"; import { useQuasar } from "quasar"; import { useRouter, useRoute } from "vue-router"; +import http from "@/plugins/http"; +import config from "@/app.config"; import type { FormCommand, @@ -32,7 +34,7 @@ const router = useRouter(); const route = useRoute(); const store = useEvaluateDetailStore(); const mixin = useCounterMixin(); -const { dialogConfirm } = mixin; +const { dialogConfirm, showLoader, hideLoader, messageError } = mixin; const $q = useQuasar(); @@ -185,7 +187,47 @@ function onClickPopupHistory() { modalHistory.value = !modalHistory.value; } +function getStep() { + showLoader(); + http + .get(config.API.evaluateGetStep(id.value)) + .then((res: any) => { + const data = res.data.result; + + let step = + data.step === "CHECK_SPEC" + ? 1 + : data.step === "PREPARE_DOC_V1" + ? 2 + : data.step === "CHECK_DOC_V1" + ? 3 + : data.step === "WAIT_CHECK_DOC_V1" + ? 4 + : data.step === "ANNOUNCE_WEB" + ? 5 + : data.step === "PREPARE_DOC_V2" + ? 6 + : data.step === "CHECK_DOC_V2" + ? 7 + : data.step === "WAIT_CHECK_DOC_V2" + ? 8 + : data.step === "DONE" + ? 9 + : 1; + + store.currentStep = step; + store.step = step; + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +} + onMounted(() => { + getStep(); store.step = 1; }); @@ -194,7 +236,11 @@ onMounted(() => {
- {{ props.data && props.data?.type == 'SPECIAL_EXPERT' ? 'ประเมินชำนาญการพิเศษ' : 'ประเมินชำนาญการ' }} + {{ + props.data && props.data?.type == "SPECIAL_EXPERT" + ? "ประเมินชำนาญการพิเศษ" + : "ประเมินชำนาญการ" + }} { > - + @@ -249,7 +295,7 @@ onMounted(() => { > - + diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step1.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step1.vue index f5e30b3d1..245d24cdc 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step1.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step1.vue @@ -9,26 +9,24 @@ const props = defineProps({ }); const formData = reactive({ - isEducationalQft: false, // คุณวุฒิการศึกษา - isGovermantServiceHtr: false, // ประวัติการรับราชการ - isOperatingExp: false, // ประสบการณ์ในการปฏิบัติงาน - isMinPeriodOfTenure: false, // ระยะเวลาขั้นต่ำในการดำรงตำแหน่งในสายงานที่ขอเข้ารับการคัดเลือก - isHaveSpecificQft: false, // มีคุณสมบัติตรงตามคุณสมบัติเฉพาะสำหรับตำแหน่งที่กำหนด ในมาตราฐานกำหนดตำแหน่ง - isHaveProLicense: false, // มีใบอนุญาตประกอบวิชาชีพของสายงานต่างๆ - isHaveMinPeriodOrHoldPos: false, // มีระยะเวลาขั้นต่ำในการดำรงตำแหน่งหรือเคยดำรงตำแหน่งในสายงานที่จะคัดเลือกตามคุณวุฒิของบุคคลและระดับตำแหน่งที่จะคัดเลือก] + isEducationalQft: props.data.isEducationalQft, // คุณวุฒิการศึกษา + isGovermantServiceHtr: props.data.isGovermantServiceHtr, // ประวัติการรับราชการ + isOperatingExp: props.data.isOperatingExp, // ประสบการณ์ในการปฏิบัติงาน + isMinPeriodOfTenure: props.data.isMinPeriodOfTenure, // ระยะเวลาขั้นต่ำในการดำรงตำแหน่งในสายงานที่ขอเข้ารับการคัดเลือก + isHaveSpecificQft: props.data.isHaveSpecificQft, // มีคุณสมบัติตรงตามคุณสมบัติเฉพาะสำหรับตำแหน่งที่กำหนด ในมาตราฐานกำหนดตำแหน่ง + isHaveProLicense: props.data.isHaveProLicense, // มีใบอนุญาตประกอบวิชาชีพของสายงานต่างๆ + isHaveMinPeriodOrHoldPos: props.data.isHaveMinPeriodOrHoldPos, // มีระยะเวลาขั้นต่ำในการดำรงตำแหน่งหรือเคยดำรงตำแหน่งในสายงานที่จะคัดเลือกตามคุณวุฒิของบุคคลและระดับตำแหน่งที่จะคัดเลือก] }); -watch(props, () => { - if (props.data) { - formData.isEducationalQft = props.data.isEducationalQft; - formData.isGovermantServiceHtr = props.data.isGovermantServiceHtr; - formData.isOperatingExp = props.data.isOperatingExp; - formData.isMinPeriodOfTenure = props.data.isMinPeriodOfTenure; - formData.isHaveSpecificQft = props.data.isHaveSpecificQft; - formData.isHaveProLicense = props.data.isHaveProLicense; - formData.isHaveMinPeriodOrHoldPos = props.data.isHaveMinPeriodOrHoldPos; - } -}); +// watch(props, () => { +// formData.isEducationalQft = props.data.isEducationalQft; +// formData.isGovermantServiceHtr = props.data.isGovermantServiceHtr; +// formData.isOperatingExp = props.data.isOperatingExp; +// formData.isMinPeriodOfTenure = props.data.isMinPeriodOfTenure; +// formData.isHaveSpecificQft = props.data.isHaveSpecificQft; +// formData.isHaveProLicense = props.data.isHaveProLicense; +// formData.isHaveMinPeriodOrHoldPos = props.data.isHaveMinPeriodOrHoldPos; +// });