From bb19640c989210f840c3cb41e37e0721b831b4af Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Thu, 16 May 2024 09:59:34 +0700 Subject: [PATCH] fix bug kpi --- .../08_KPI/components/Tab/01_Assessment.vue | 8 ++--- .../components/Tab/Topic/02_Competency.vue | 2 +- src/modules/08_KPI/store.ts | 12 +++---- src/modules/08_KPI/views/form.vue | 23 +++++-------- src/modules/08_KPI/views/main.vue | 34 ++++++++++++++++--- 5 files changed, 50 insertions(+), 29 deletions(-) diff --git a/src/modules/08_KPI/components/Tab/01_Assessment.vue b/src/modules/08_KPI/components/Tab/01_Assessment.vue index 01bc429..3ee7040 100644 --- a/src/modules/08_KPI/components/Tab/01_Assessment.vue +++ b/src/modules/08_KPI/components/Tab/01_Assessment.vue @@ -225,7 +225,7 @@ onMounted(() => {
-
+
{ :rows="[ { name: `สรุปผลการประเมินสมรรถนะ (คะแนนเต็ม ${ - !store.dataProfile.posExecutiveName + !store.dataEvaluation.posExecutiveName ? store.competencyScore : store.excusiveCompetencyScore } คะแนน)`, @@ -460,7 +460,7 @@ onMounted(() => { class="q-mt-xs q-mb-md" /> -
+
@@ -498,7 +498,7 @@ onMounted(() => {
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 04372a3..6564cdb 100644 --- a/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue +++ b/src/modules/08_KPI/components/Tab/Topic/02_Competency.vue @@ -162,7 +162,7 @@ function getData(type: string) { let weightAvg = weight / total; let resultAvg = result / total; - if (store.dataProfile.posExecutiveName != null) { + if (store.dataEvaluation.posExecutiveName != null) { store.competencyScoreVal = weightAvg != 0 ? (resultAvg / weightAvg) * store.excusiveCompetencyScore diff --git a/src/modules/08_KPI/store.ts b/src/modules/08_KPI/store.ts index d017dd1..53a714d 100644 --- a/src/modules/08_KPI/store.ts +++ b/src/modules/08_KPI/store.ts @@ -130,10 +130,10 @@ export const useKpiDataStore = defineStore("KPIDate", () => { } function checkCompetency() { - const position = dataProfile.value.position; - const posTypeName = dataProfile.value.posTypeName; - const posLevelName = dataProfile.value.posLevelName; - const executiveName = dataProfile.value.posExecutiveName; + const position = dataEvaluation.value.position; + const posTypeName = dataEvaluation.value.posTypeName; + const posLevelName = dataEvaluation.value.posLevelName; + const executiveName = dataEvaluation.value.posExecutiveName; if ( position == "ผู้ตรวจราชการกรุงเทพมหานคร" || @@ -189,8 +189,8 @@ export const useKpiDataStore = defineStore("KPIDate", () => { const defaultCompetencyCoreLevel = ref(); const defaultCompetencyGroupLevel = ref(null); function checkCompetencyDefaultCompetencyLevel() { - const posTypeName = dataProfile.value.posTypeName; - const posLevelName = dataProfile.value.posLevelName; + const posTypeName = dataEvaluation.value.posTypeName; + const posLevelName = dataEvaluation.value.posLevelName; switch (posTypeName + " " + posLevelName) { case "บริหาร สูง": diff --git a/src/modules/08_KPI/views/form.vue b/src/modules/08_KPI/views/form.vue index 39201cb..627b341 100644 --- a/src/modules/08_KPI/views/form.vue +++ b/src/modules/08_KPI/views/form.vue @@ -57,12 +57,15 @@ const router = useRouter(); async function fetchEvaluation() { await http .get(config.API.kpiEvaluation + `/${id.value}`) - .then((res) => { - const data = res.data.result; + .then(async(res) => { + const data = await res.data.result; - store.dataEvaluation = data; + store.dataEvaluation = await data; formProfile.status = store.convertStatus(data.evaluationStatus); formProfile.result = store.convertResults(data.evaluationResults); + await store.checkCompetency(); + await store.checkCompetencyDefaultCompetencyLevel(); + fetchProfile(data.profileId); plannedPoint.value = data.plannedPoint == null ? "" : data.plannedPoint; @@ -85,9 +88,6 @@ function getProfile() { .then(async (res) => { const data = await res.data.result; store.dataProfile = await data; - - await store.checkCompetency(); - await store.checkCompetencyDefaultCompetencyLevel(); }) .catch((e) => { messageError($q, e); @@ -359,14 +359,9 @@ onMounted(async () => { }}
- คะแนนประเมิน {{ - store.dataProfile.posExecutiveName == null + store.dataEvaluation.posExecutiveName == null ? ( store.indicatorScoreVal + store.competencyScoreVal + diff --git a/src/modules/08_KPI/views/main.vue b/src/modules/08_KPI/views/main.vue index 312d618..ba0c362 100644 --- a/src/modules/08_KPI/views/main.vue +++ b/src/modules/08_KPI/views/main.vue @@ -25,6 +25,8 @@ const { showLoader, hideLoader, messageError, date2Thai, dialogConfirm } = const rows = ref(); const visibleColumns = ref([ "createdAt", + "year", + "durationKPI", "evaluationStatus", "evaluationResults", ]); @@ -41,6 +43,30 @@ const columns = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, + { + name: "year", + align: "left", + label: "ปีงบประมาณ", + sortable: true, + field: "year", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + format: (v) => v + 543, + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "durationKPI", + align: "left", + label: "รอบการประเมิน", + sortable: true, + field: "durationKPI", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + format: (v) => (v == "OCT" ? "ตุลาคม" : "เมษายน"), + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, { name: "evaluationStatus", align: "left", @@ -219,10 +245,10 @@ function onSubmit() { prefix: formRound.prefix, firstName: formRound.firstName, lastName: formRound.lastName, - // position: formRound.position, - // posLevelName: formRound.posLevelName, - // posTypeName: formRound.posTypeName, - // posExecutiveName: formRound.posExecutiveName, + position: formRound.position, + posLevelName: formRound.posLevelName, + posTypeName: formRound.posTypeName, + posExecutiveName: formRound.posExecutiveName, evaluatorId: formRound.evaluatorId, commanderId: formRound.commanderId == "" ? null : formRound.commanderId,