diff --git a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue index 3c221f21b..9d73cc7ba 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue @@ -24,10 +24,20 @@ const store = useEvaluateDetailStore(); > - + - + -import { onMounted } from "vue"; +import { onMounted, ref, reactive } from "vue"; import { useQuasar } from "quasar"; +import type { + FormCommand, + FormCommandRef, +} from "@/modules/12_evaluatePersonal/interface/index/evalute"; + import Stepper from "@/modules/12_evaluatePersonal/components/Detail/Stepper.vue"; import Step1 from "@/modules/12_evaluatePersonal/components/Detail/step/step1.vue"; import Step2 from "@/modules/12_evaluatePersonal/components/Detail/step/step2.vue"; @@ -29,16 +34,61 @@ const $q = useQuasar(); const externalLink = "https://accreditation.ocsc.go.th/accreditation/search/curriculum"; -function onCilckNextStep() { - store.step < 9 && - dialogConfirm( - $q, - () => { - store.step++; - }, - "ยืนยันการดำเนินการ", - "ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?" - ); +const formCommand = reactive({ + elementaryFullName: "", + elementaryPosition: "", + abovelevelFullname: "", + abovelevelPosition: "", +}); + +const elementaryFullNameRef = ref(null); +const elementaryPositonRef = ref(null); +const abovelevelFullnameRef = ref(null); +const abovelevelPositionRef = ref(null); + +const formCommandRef: FormCommandRef = { + elementaryFullName: elementaryFullNameRef, + elementaryPosition: elementaryPositonRef, + abovelevelFullname: abovelevelFullnameRef, + abovelevelPosition: abovelevelPositionRef, +}; + +async function onCilckNextStep() { + const functionCreateDoc: (() => Promise) | null = + store.step === 1 + ? await saveStep1 + : store.step === 3 + ? await saveStep3 + : store.step === 4 + ? await saveStep4 + : store.step === 5 + ? await saveStep5 + : store.step === 5 + ? await saveStep5 + : store.step === 6 + ? await saveStep6 + : store.step === 7 + ? await saveStep7 + : store.step === 8 + ? await saveStep8 + : store.step === 9 + ? await saveStep9 + : null; + store.step === 2 + ? validateStep2() + : store.step < 9 && + dialogConfirm( + $q, + () => { + functionCreateDoc?.(); + store.step++; + }, + "ยืนยันการดำเนินการ", + "ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?" + ); + + // functionCreateDoc?.(); + // store.step < 9 && } function onCilckprPeviousStep() { @@ -53,6 +103,71 @@ function onCilckprPeviousStep() { ); } +function updateformCommand(val: any, ref: any) { + formCommand.elementaryFullName = val.elementaryFullName; + formCommand.elementaryPosition = val.elementaryPosition; + formCommand.abovelevelFullname = val.abovelevelFullname; + formCommand.abovelevelPosition = val.abovelevelPosition; + + elementaryFullNameRef.value = ref.elementaryFullNameRef; + elementaryPositonRef.value = ref.elementaryPositonRef; + abovelevelFullnameRef.value = ref.abovelevelFullnameRef; + abovelevelPositionRef.value = ref.abovelevelPositionRef; +} + +async function validateStep2() { + const hasError = []; + for (const key in formCommandRef) { + if (Object.prototype.hasOwnProperty.call(formCommandRef, key)) { + const property = formCommandRef[key]; + if (property.value && typeof property.value.validate === "function") { + const isValid = property.value.validate(); + hasError.push(isValid); + } + } + } + if (hasError.every((result) => result === true)) { + saveStep2(); + } else { + console.log("ไม่ผ่าน"); + } +} + +async function saveStep1() { + console.log("Save 1"); +} +async function saveStep2() { + dialogConfirm( + $q, + () => { + store.step++; + }, + "ยืนยันการดำเนินการ", + "ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?" + ); +} +async function saveStep3() { + console.log("Save 3"); +} +async function saveStep4() { + console.log("Save 4"); +} +async function saveStep5() { + console.log("Save 5"); +} +async function saveStep6() { + console.log("Save 6"); +} +async function saveStep7() { + console.log("Save 7"); +} +async function saveStep8() { + console.log("Save 8"); +} +async function saveStep9() { + console.log("Save 9"); +} + onMounted(() => { store.step = 1; }); @@ -87,7 +202,7 @@ onMounted(() => { - + diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue index f4ea37d17..b66b0246b 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue @@ -1,11 +1,13 @@