From 6ebe44e821794d363bdca7b13e1269b4f54a3a2d Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 15 Dec 2023 17:23:33 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=95=E0=B8=A3=E0=B8=A7=E0=B8=88=E0=B8=AA?= =?UTF-8?q?=E0=B8=AD=E0=B8=9A=E0=B8=84=E0=B8=B8=E0=B8=93=E0=B8=AA=E0=B8=A1?= =?UTF-8?q?=E0=B8=9A=E0=B8=B1=E0=B8=95=E0=B8=B4=20=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=A2=E0=B8=A5=E0=B8=B0=E0=B9=80=E0=B8=AD=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=94=E0=B8=AA=E0=B9=88=E0=B8=A7=E0=B8=99=E0=B8=9A=E0=B8=B8?= =?UTF-8?q?=E0=B8=84=E0=B8=84=E0=B8=A5=20-=20=E0=B8=9B=E0=B8=A3=E0=B8=B0?= =?UTF-8?q?=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 --- .../components/Detail/Stepper.vue | 14 +- .../components/Detail/Tab1.vue | 139 ++++- .../components/Detail/step/step2.vue | 139 ++++- .../components/Detail/viewstep/tableStep1.vue | 41 ++ .../components/Detail/viewstep/viewStep1.vue | 560 +++++++++--------- .../interface/index/evalute.ts | 17 + .../12_evaluatePersonal/store/Evaluate.ts | 277 --------- .../store/EvaluateDetail.ts | 285 ++++++++- 8 files changed, 878 insertions(+), 594 deletions(-) create mode 100644 src/modules/12_evaluatePersonal/components/Detail/viewstep/tableStep1.vue create mode 100644 src/modules/12_evaluatePersonal/interface/index/evalute.ts 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 @@