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,