แก้ไขคลิก step ประเมิน

This commit is contained in:
Warunee Tamkoo 2023-12-23 10:38:02 +07:00
parent b984caaa3c
commit 3901310f3d
5 changed files with 97 additions and 32 deletions

View file

@ -10,6 +10,7 @@ export default {
`${evaluation}?page=${page}&pageSize=${pageSize}&keyword=${keyword}`, `${evaluation}?page=${page}&pageSize=${pageSize}&keyword=${keyword}`,
evaluateGetDetail: (id: string) => `${evaluation}/check-spec/${id}`, evaluateGetDetail: (id: string) => `${evaluation}/check-spec/${id}`,
evaluateGetStep: (id: string) => `${evaluation}/check/${id}`,
meeting: () => `${evaluation}/meeting`, meeting: () => `${evaluation}/meeting`,
meetingById: (id: string) => `${evaluation}/meeting/${id}`, meetingById: (id: string) => `${evaluation}/meeting/${id}`,

View file

@ -21,7 +21,7 @@ const store = useEvaluateDetailStore();
:name="1" :name="1"
prefix="1" prefix="1"
title="ตรวจสอบคุณสมบัติ" title="ตรวจสอบคุณสมบัติ"
:done="store.step > 1" :done="store.step >= 1"
> >
</q-step> </q-step>
@ -29,7 +29,8 @@ const store = useEvaluateDetailStore();
:name="2" :name="2"
prefix="2" prefix="2"
title="จัดเตรียมเอกสารเล่ม 1" title="จัดเตรียมเอกสารเล่ม 1"
:done="store.step > 2" :done="store.step >= 2"
:disable="store.currentStep < 2"
> >
</q-step> </q-step>
@ -37,7 +38,8 @@ const store = useEvaluateDetailStore();
:name="3" :name="3"
prefix="3" prefix="3"
title="ตรวจสอบเอกสารเล่ม 1" title="ตรวจสอบเอกสารเล่ม 1"
:done="store.step > 3" :done="store.step >= 3"
:disable="store.currentStep < 3"
> >
</q-step> </q-step>
@ -45,7 +47,8 @@ const store = useEvaluateDetailStore();
:name="4" :name="4"
prefix="4" prefix="4"
title="รอตรวจสอบคุณสมบัติ" title="รอตรวจสอบคุณสมบัติ"
:done="store.step > 4" :done="store.step >= 4"
:disable="store.currentStep < 4"
> >
</q-step> </q-step>
@ -53,7 +56,8 @@ const store = useEvaluateDetailStore();
:name="5" :name="5"
prefix="5" prefix="5"
title="ประกาศบนเว็บไซต์" title="ประกาศบนเว็บไซต์"
:done="store.step > 5" :done="store.step >= 5"
:disable="store.currentStep < 5"
> >
</q-step> </q-step>
@ -61,7 +65,8 @@ const store = useEvaluateDetailStore();
:name="6" :name="6"
prefix="6" prefix="6"
title="จัดเตรียมเอกสารเล่ม 2" title="จัดเตรียมเอกสารเล่ม 2"
:done="store.step > 6" :done="store.step >= 6"
:disable="store.currentStep < 6"
> >
</q-step> </q-step>
@ -69,14 +74,27 @@ const store = useEvaluateDetailStore();
:name="7" :name="7"
prefix="7" prefix="7"
title="ตรวจสอบเอกสารเล่ม 2" title="ตรวจสอบเอกสารเล่ม 2"
:done="store.step > 7" :done="store.step >= 7"
:disable="store.currentStep < 7"
> >
</q-step> </q-step>
<q-step :name="8" prefix="8" title="รอพิจารณาผล" :done="store.step > 8"> <q-step
:name="8"
prefix="8"
title="รอพิจารณาผล"
:done="store.step >= 8"
:disable="store.currentStep < 8"
>
</q-step> </q-step>
<q-step :name="9" prefix="9" title="เสร็จสิ้น" :done="store.step > 9"> <q-step
:name="9"
prefix="9"
title="เสร็จสิ้น"
:done="store.step >= 9"
:disable="store.currentStep < 9"
>
</q-step> </q-step>
</q-stepper> </q-stepper>
</template> </template>

View file

@ -2,6 +2,8 @@
import { onMounted, ref, reactive } from "vue"; import { onMounted, ref, reactive } from "vue";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import type { import type {
FormCommand, FormCommand,
@ -32,7 +34,7 @@ const router = useRouter();
const route = useRoute(); const route = useRoute();
const store = useEvaluateDetailStore(); const store = useEvaluateDetailStore();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { dialogConfirm } = mixin; const { dialogConfirm, showLoader, hideLoader, messageError } = mixin;
const $q = useQuasar(); const $q = useQuasar();
@ -185,7 +187,47 @@ function onClickPopupHistory() {
modalHistory.value = !modalHistory.value; 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(() => { onMounted(() => {
getStep();
store.step = 1; store.step = 1;
}); });
</script> </script>
@ -194,7 +236,11 @@ onMounted(() => {
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<div class="col-xs-12 col-sm-3"> <div class="col-xs-12 col-sm-3">
<div class="toptitle"> <div class="toptitle">
{{ props.data && props.data?.type == 'SPECIAL_EXPERT' ? 'ประเมินชำนาญการพิเศษ' : 'ประเมินชำนาญการ' }} {{
props.data && props.data?.type == "SPECIAL_EXPERT"
? "ประเมินชำนาญการพิเศษ"
: "ประเมินชำนาญการ"
}}
<q-btn <q-btn
flat flat
@ -231,7 +277,7 @@ onMounted(() => {
> >
<q-card flat bordered class="col-12"> <q-card flat bordered class="col-12">
<q-card-section> <q-card-section>
<Step1 v-if="store.step === 1" :data="props.data"/> <Step1 v-if="store.step === 1" :data="props.data" />
<Step2 v-if="store.step === 2" @update:form="updateformCommand" /> <Step2 v-if="store.step === 2" @update:form="updateformCommand" />
<Step3 v-if="store.step === 3" :step="store.step" /> <Step3 v-if="store.step === 3" :step="store.step" />
<Step4 v-if="store.step === 4" /> <Step4 v-if="store.step === 4" />
@ -249,7 +295,7 @@ onMounted(() => {
> >
<q-card flat bordered class="col-12"> <q-card flat bordered class="col-12">
<q-card-section> <q-card-section>
<ViewStep1 v-if="store.step === 1" :data="data"/> <ViewStep1 v-if="store.step === 1" :data="data" />
<ViewStep3 v-if="store.step === 3" /> <ViewStep3 v-if="store.step === 3" />
<ViewStep7 v-if="store.step === 7" /> </q-card-section <ViewStep7 v-if="store.step === 7" /> </q-card-section
></q-card> ></q-card>

View file

@ -9,26 +9,24 @@ const props = defineProps({
}); });
const formData = reactive<any>({ const formData = reactive<any>({
isEducationalQft: false, // isEducationalQft: props.data.isEducationalQft, //
isGovermantServiceHtr: false, // isGovermantServiceHtr: props.data.isGovermantServiceHtr, //
isOperatingExp: false, // isOperatingExp: props.data.isOperatingExp, //
isMinPeriodOfTenure: false, // isMinPeriodOfTenure: props.data.isMinPeriodOfTenure, //
isHaveSpecificQft: false, // isHaveSpecificQft: props.data.isHaveSpecificQft, //
isHaveProLicense: false, // isHaveProLicense: props.data.isHaveProLicense, //
isHaveMinPeriodOrHoldPos: false, // ] isHaveMinPeriodOrHoldPos: props.data.isHaveMinPeriodOrHoldPos, // ]
}); });
watch(props, () => { // watch(props, () => {
if (props.data) { // formData.isEducationalQft = props.data.isEducationalQft;
formData.isEducationalQft = props.data.isEducationalQft; // formData.isGovermantServiceHtr = props.data.isGovermantServiceHtr;
formData.isGovermantServiceHtr = props.data.isGovermantServiceHtr; // formData.isOperatingExp = props.data.isOperatingExp;
formData.isOperatingExp = props.data.isOperatingExp; // formData.isMinPeriodOfTenure = props.data.isMinPeriodOfTenure;
formData.isMinPeriodOfTenure = props.data.isMinPeriodOfTenure; // formData.isHaveSpecificQft = props.data.isHaveSpecificQft;
formData.isHaveSpecificQft = props.data.isHaveSpecificQft; // formData.isHaveProLicense = props.data.isHaveProLicense;
formData.isHaveProLicense = props.data.isHaveProLicense; // formData.isHaveMinPeriodOrHoldPos = props.data.isHaveMinPeriodOrHoldPos;
formData.isHaveMinPeriodOrHoldPos = props.data.isHaveMinPeriodOrHoldPos; // });
}
});
</script> </script>
<template> <template>

View file

@ -6,6 +6,7 @@ import type { QTableProps } from "quasar";
export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => { export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
const tabMenu = ref<string>("1"); const tabMenu = ref<string>("1");
const step = ref<number>(1); const step = ref<number>(1);
const currentStep = ref<number>(1);
const titel = ref<string[]>([ const titel = ref<string[]>([
"ตรวจสอบคุณสมบัติ", "ตรวจสอบคุณสมบัติ",
"จัดเตรียมเอกสารเล่ม 1", "จัดเตรียมเอกสารเล่ม 1",
@ -306,6 +307,7 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
columnProjectsProposed, columnProjectsProposed,
pdfSrcStore, pdfSrcStore,
numOfPagesStore, numOfPagesStore,
log log,
currentStep
}; };
}); });