kpi updated

This commit is contained in:
Warunee Tamkoo 2024-05-14 23:48:29 +07:00
parent 56a38622e5
commit 6c532a0202
8 changed files with 266 additions and 182 deletions

View file

@ -2,6 +2,8 @@
import { onMounted, ref, computed, watch, reactive } from "vue";
import DialogDevelop from "@/modules/08_KPI/components/Tab/Dialog/DialogDevelop.vue";
import DialogEvalutionDevelop from "@/modules/08_KPI/components/Tab/DialogEvaluate/03_DialogEvalutionDevelop.vue";
import DialogProgress from "@/modules/08_KPI/components/Tab/Dialog/DialogCommentProgress.vue";
import DialogProblem from "@/modules/08_KPI/components/Tab/Dialog/DialogCommentProblem.vue";
import { useQuasar, type QTableProps } from "quasar";
import { useCounterMixin } from "@/stores/mixin";
@ -94,7 +96,7 @@ const columns = ref<QTableProps["columns"]>([
]);
const visibleColumns = ref<string[]>(
store.tabOpen === 3
store.tabOpen === 3 && store.tabMain === "3"
? ["name", "develop", "target", "achievement", "summary"]
: ["name", "develop", "target"]
);
@ -114,6 +116,11 @@ function getDevelop() {
.then((res) => {
const data = res.data.result;
rows.value = data;
store.devScoreVal = rows.value.reduce(
(sum: number, e: any) => sum + e.summary,
0
);
});
}
@ -142,16 +149,42 @@ function onDelete(id: string) {
const modalProgress = ref<boolean>(false);
const modalProblem = ref<boolean>(false);
const type = ref<string>("");
function openPopupProgress() {
const idList = ref<string>("");
function openPopupProgress(id: string) {
modalProgress.value = true;
type.value = rows.value ? "plan" : rows.value ? "role" : "special";
type.value = "develop";
idList.value = id;
}
function openPopupProblem() {
function openPopupProblem(id: string) {
modalProblem.value = true;
type.value = rows.value ? "plan" : rows.value ? "role" : "special";
type.value = "develop";
idList.value = id;
}
const isEditStep1 = computed(() => {
return (
(store.dataEvaluation.evaluationStatus === "NEW" &&
store.rolePerson === "USER" &&
store.tabMain === "1") ||
(store.dataEvaluation.evaluationStatus === "NEW_EVALUATOR" &&
store.rolePerson === "EVALUATOR" &&
store.tabMain === "1")
);
});
const isEditStep3 = computed(() => {
return (
(store.dataEvaluation.evaluationStatus === "EVALUATING" &&
store.rolePerson === "USER" &&
store.tabMain === "3") ||
(store.dataEvaluation.evaluationStatus === "EVALUATING_EVALUATOR" &&
store.rolePerson === "EVALUATOR" &&
store.tabMain === "3")
);
});
onMounted(() => {
getDevelop();
});
@ -164,10 +197,7 @@ onMounted(() => {
<div class="col">
<span class="text-weight-medium">การพฒนาตนเอง</span>
<q-btn
v-if="
store.dataEvaluation.evaluationStatus === 'NEW' &&
store.rolePerson === 'USER'
"
v-if="isEditStep1"
class="q-ml-xs"
flat
round
@ -183,10 +213,7 @@ onMounted(() => {
<q-space />
<q-btn
v-if="
store.dataEvaluation.evaluationStatus === 'NEW' &&
store.rolePerson === 'USER'
"
v-if="isEditStep3"
flat
round
icon="mdi-clipboard-check-outline"
@ -300,7 +327,7 @@ onMounted(() => {
color="blue-6"
size="12px"
dense
@click="openPopupProgress()"
@click="openPopupProgress(props.row.id)"
>
<q-tooltip>รายงานความกาวหน</q-tooltip>
</q-btn>
@ -312,19 +339,13 @@ onMounted(() => {
size="12px"
dense
main="problem"
@click="openPopupProblem()"
@click="openPopupProblem(props.row.id)"
>
<q-tooltip>รายงานปญหา</q-tooltip>
</q-btn>
</div>
<div
v-if="
store.dataEvaluation.evaluationStatus === 'NEW' &&
store.rolePerson === 'USER' &&
store.tabMain === '2'
"
>
<div v-if="isEditStep1">
<q-btn
flat
round
@ -362,6 +383,17 @@ onMounted(() => {
v-model:data="rows"
:get-all="getDevelop"
/>
<DialogProgress
v-model:modal="modalProgress"
v-model:type="type"
:idList="idList"
/>
<DialogProblem
v-model:modal="modalProblem"
v-model:type="type"
:idList="idList"
/>
</template>
<style scoped>