From 700dcaee4a1799cc8b2f9b0de46e46532e9912be Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Fri, 28 Jun 2024 09:25:21 +0700 Subject: [PATCH] fixing bug --- .../08_KPI/components/Tab/01_Assessment.vue | 16 -- .../components/Tab/Topic/02_Competency.vue | 63 +++----- .../components/Tab/Topic/03_Develop.vue | 18 --- src/modules/08_KPI/store.ts | 146 +++++++++--------- src/modules/08_KPI/views/form.vue | 58 +++++-- src/modules/08_KPI/views/main.vue | 2 - 6 files changed, 143 insertions(+), 160 deletions(-) diff --git a/src/modules/08_KPI/components/Tab/01_Assessment.vue b/src/modules/08_KPI/components/Tab/01_Assessment.vue index e8abc8d..caf958c 100644 --- a/src/modules/08_KPI/components/Tab/01_Assessment.vue +++ b/src/modules/08_KPI/components/Tab/01_Assessment.vue @@ -185,22 +185,6 @@ watch( store.indicatorScoreVal = store.indicatorPercentVal * (store.indicatorScore / 100); - - if (store.isUpdate && store.tabMain === "3") { - http - .put(config.API.updatePoint(evaluationId.value), { - totalPoint1: ( - store.indicatorPercentVal * - (store.indicatorScore / 100) - ).toFixed(2), - summaryPoint: ( - store.indicatorScoreVal + - store.competencyScoreVal + - store.devScoreVal - ).toFixed(2), - }) - .then((res) => {}); - } } } ); diff --git a/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue b/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue index b43b3c3..6736426 100644 --- a/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue +++ b/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue @@ -19,6 +19,7 @@ import type { import DialogListCriteria from "@/modules/08_KPI/components/Tab/Dialog/DialogListCriteria.vue"; import DialogCompetncyByRow from "@/modules/08_KPI/components/Tab/Dialog/DialogCompetncyByRow.vue"; import DialogLevel from "@/modules/08_KPI/components/Tab/Dialog/DialogLevel.vue"; +import type { DataOptions } from "@/modules/08_KPI/interface/index/Main"; const modalLevel = ref(false); const modalCompetncyByRow = ref(false); @@ -146,8 +147,8 @@ function getData(type: string) { let result = 0; let weight = 0; let total = 0; - for (let index = 0; index < store.competencyType.length; index++) { - const element = await store.competencyType[index]; + for (let index = 0; index < competencyType.value.length; index++) { + const element = await competencyType.value[index]; const dataArr = await lists.value.find( (x: any) => x.type == element.id @@ -184,24 +185,6 @@ function getData(type: string) { ? (resultAvg / weightAvg) * store.competencyScore : 0; } - - if ( - store.isUpdate && - store.tabMain === "3" && - (store.dataEvaluation.evaluationStatus === "EVALUATOR" || - store.dataEvaluation.evaluationStatus === "EVALUATING_EVALUATOR") - ) { - http - .put(config.API.updatePoint(store.dataEvaluation.id), { - totalPoint2_1: store.competencyScoreVal.toFixed(2), - summaryPoint: ( - store.indicatorScoreVal + - store.competencyScoreVal + - store.devScoreVal - ).toFixed(2), - }) - .then((res) => {}); - } } }); } @@ -273,18 +256,6 @@ const isEditStep3 = computed(() => { ); }); -watch( - () => store.dataEvaluation.capacityPoint, - (newValue, oldValue) => { - if (newValue !== oldValue) { - for (let index = 0; index < store.competencyType.length; index++) { - const element = store.competencyType[index]; - getData(element.id); - } - } - } -); - function onInfo() { modalCriteria.value = true; } @@ -299,16 +270,32 @@ function onLevel(num: number, list: any) { modalLevel.value = true; } -onMounted(() => { - for (let index = 0; index < store.competencyType.length; index++) { - const element = store.competencyType[index]; - getData(element.id); - } +const competencyType = ref([]); +onMounted(async () => { + setTimeout(async () => { + competencyType.value = await (store.dataEvaluation.posTypeName == + "อำนวยการ" || store.dataEvaluation.posTypeName == "บริหาร" + ? store.competencyType.filter( + (x: DataOptions) => + x.id == "HEAD" || + x.id == "EXECUTIVE" || + x.id == "INSPECTOR" || + x.id == "DIRECTOR" + ) + : store.competencyType.filter( + (x: DataOptions) => x.id == "HEAD" || x.id == "GROUP" + )); + + for (let index = 0; index < competencyType.value.length; index++) { + const element = competencyType.value[index]; + getData(element.id); + } + }, 1000); });