แก้ kpi
This commit is contained in:
parent
4629ec5a01
commit
b71ca2ddf5
8 changed files with 100 additions and 66 deletions
|
|
@ -121,6 +121,10 @@ function fetchListPlanByid(id: string) {
|
||||||
formDetail.weight = data.weight;
|
formDetail.weight = data.weight;
|
||||||
formDetail.meaning = data.meaning;
|
formDetail.meaning = data.meaning;
|
||||||
formDetail.formula = data.formula;
|
formDetail.formula = data.formula;
|
||||||
|
formDetail.including = data.including;
|
||||||
|
formDetail.nodeName = data.nodeName;
|
||||||
|
formDetail.strategyName = data.strategyName;
|
||||||
|
formDetail.includingName = data.includingName;
|
||||||
formDetail.achievement1 = data.achievement1;
|
formDetail.achievement1 = data.achievement1;
|
||||||
formDetail.achievement2 = data.achievement2;
|
formDetail.achievement2 = data.achievement2;
|
||||||
formDetail.achievement3 = data.achievement3;
|
formDetail.achievement3 = data.achievement3;
|
||||||
|
|
@ -331,6 +335,9 @@ function closeDialog() {
|
||||||
formDetail.startDate = null;
|
formDetail.startDate = null;
|
||||||
formDetail.endDate = null;
|
formDetail.endDate = null;
|
||||||
|
|
||||||
|
formDetail.nodeName = "";
|
||||||
|
formDetail.strategyName = "";
|
||||||
|
|
||||||
formFilter.isAll = false;
|
formFilter.isAll = false;
|
||||||
formFilter.keyword = "";
|
formFilter.keyword = "";
|
||||||
formFilter.node = 0;
|
formFilter.node = 0;
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,13 @@ function onSubmitComment(role: string) {
|
||||||
|
|
||||||
function onCheckNumber(num: number) {
|
function onCheckNumber(num: number) {
|
||||||
numLevel.value = num.toString();
|
numLevel.value = num.toString();
|
||||||
|
if (num) {
|
||||||
|
formDataAdd.topic = store.mainRowData[`achievement${num}`];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onAdd() {
|
||||||
|
modalAdd.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
|
@ -236,7 +243,9 @@ watch(
|
||||||
<DialogHeader
|
<DialogHeader
|
||||||
:tittle="
|
:tittle="
|
||||||
type == 'capacity' || type == 'development'
|
type == 'capacity' || type == 'development'
|
||||||
? 'บันทึกเหตุการณ์/พฤติกรรม'
|
? `บันทึกเหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == '3' ? `/เหตุผล` : ''
|
||||||
|
}`
|
||||||
: 'รายงานความก้าวหน้า'
|
: 'รายงานความก้าวหน้า'
|
||||||
"
|
"
|
||||||
:close="close"
|
:close="close"
|
||||||
|
|
@ -253,27 +262,33 @@ watch(
|
||||||
<div class="q-pa-sm">
|
<div class="q-pa-sm">
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
(type == 'capacity' ||
|
((type == 'capacity' ||
|
||||||
type == 'development' ||
|
type == 'development' ||
|
||||||
(type != 'capacity' &&
|
(type != 'capacity' &&
|
||||||
type != 'development' &&
|
type != 'development' &&
|
||||||
store.rolePerson == 'USER')) &&
|
store.rolePerson == 'USER')) &&
|
||||||
store.dataEvaluation.evaluationStatus == 'APPROVE' &&
|
store.dataEvaluation.evaluationStatus == 'APPROVE' &&
|
||||||
store.tabMain === '2'
|
store.tabMain === '2') ||
|
||||||
|
((type == 'capacity' ||
|
||||||
|
type == 'development' ||
|
||||||
|
(type != 'capacity' &&
|
||||||
|
type != 'development' &&
|
||||||
|
store.rolePerson == 'USER')) &&
|
||||||
|
store.rolePerson == 'EVALUATOR' &&
|
||||||
|
store.dataEvaluation.evaluationStatus == 'EVALUATING' &&
|
||||||
|
store.tabMain === '3')
|
||||||
"
|
"
|
||||||
icon="add"
|
icon="add"
|
||||||
color="teal"
|
color="teal"
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
@click="
|
@click="onAdd"
|
||||||
() => {
|
|
||||||
modalAdd = true;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<q-tooltip>{{
|
<q-tooltip>{{
|
||||||
type == "capacity" || type == "development"
|
type == "capacity" || type == "development"
|
||||||
? "เพิ่มเหตุการณ์/พฤติกรรม"
|
? `เพิ่มเหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == "3" ? `/เหตุผล` : ""
|
||||||
|
}`
|
||||||
: "เพิ่มความก้าวหน้า"
|
: "เพิ่มความก้าวหน้า"
|
||||||
}}</q-tooltip>
|
}}</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
@ -288,7 +303,9 @@ watch(
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<span>{{
|
<span>{{
|
||||||
type == "capacity" || type == "development"
|
type == "capacity" || type == "development"
|
||||||
? "เหตุการณ์/พฤติกรรม"
|
? `บันทึกเหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == "3" ? `/เหตุผล` : ""
|
||||||
|
}`
|
||||||
: "ความก้าวหน้า"
|
: "ความก้าวหน้า"
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -350,7 +367,9 @@ watch(
|
||||||
<div class="col-4 text-grey-6">
|
<div class="col-4 text-grey-6">
|
||||||
{{
|
{{
|
||||||
type == "capacity" || type == "development"
|
type == "capacity" || type == "development"
|
||||||
? "เหตุการณ์/พฤติกรรม"
|
? `เหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == "3" ? `/เหตุผล` : ""
|
||||||
|
}`
|
||||||
: "หัวข้อความก้าวหน้า"
|
: "หัวข้อความก้าวหน้า"
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -558,7 +577,9 @@ watch(
|
||||||
<DialogHeader
|
<DialogHeader
|
||||||
:tittle="
|
:tittle="
|
||||||
type == 'capacity' || type == 'development'
|
type == 'capacity' || type == 'development'
|
||||||
? 'เพิ่มหัวข้อบันทึกเหตุการณ์/พฤติกรรม'
|
? `เพิ่มหัวข้อบันทึกเหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == '3' ? `/เหตุผล` : ''
|
||||||
|
}`
|
||||||
: 'เพิ่มหัวข้อความก้าวหน้า'
|
: 'เพิ่มหัวข้อความก้าวหน้า'
|
||||||
"
|
"
|
||||||
:close="closeAdd"
|
:close="closeAdd"
|
||||||
|
|
@ -567,37 +588,6 @@ watch(
|
||||||
|
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-12">
|
|
||||||
<q-input
|
|
||||||
v-model="formDataAdd.topic"
|
|
||||||
outlined
|
|
||||||
class="inputgreen"
|
|
||||||
:label="
|
|
||||||
type == 'capacity' || type == 'development'
|
|
||||||
? 'เหตุการณ์/พฤติกรรม'
|
|
||||||
: 'หัวข้อความก้าวหน้า'
|
|
||||||
"
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
hide-bottom-space
|
|
||||||
:rules="[(val:string) => !!val || `${type == 'capacity'||type == 'development' ? 'กรุณากรอกเหตุการณ์/พฤติกรรม':'กรุณากรอกหัวข้อความก้าวหน้า' }`,]"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<!-- <div
|
|
||||||
class="col-12"
|
|
||||||
v-if="type !== 'capacity' && type !== 'development'"
|
|
||||||
>
|
|
||||||
<q-input
|
|
||||||
v-model="numLevel"
|
|
||||||
outlined
|
|
||||||
class="inputgreen"
|
|
||||||
label="คะแนน"
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
hide-bottom-space
|
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกคะแนน'}`,]"
|
|
||||||
/>
|
|
||||||
</div> -->
|
|
||||||
<div
|
<div
|
||||||
class="col-12"
|
class="col-12"
|
||||||
v-if="type !== 'capacity' && type !== 'development'"
|
v-if="type !== 'capacity' && type !== 'development'"
|
||||||
|
|
@ -617,12 +607,48 @@ watch(
|
||||||
>
|
>
|
||||||
<q-tooltip>
|
<q-tooltip>
|
||||||
<div class="text-body2">
|
<div class="text-body2">
|
||||||
<span>{{ i }}</span>
|
<span
|
||||||
|
v-html="store.mainRowData[`achievement${i}`]"
|
||||||
|
></span>
|
||||||
</div>
|
</div>
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-btn-group>
|
</q-btn-group>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<q-input
|
||||||
|
v-model="formDataAdd.topic"
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
:label="
|
||||||
|
type == 'capacity' || type == 'development'
|
||||||
|
? `เหตุการณ์/พฤติกรรม${
|
||||||
|
store.tabMain == '3' ? `/เหตุผล` : ''
|
||||||
|
}`
|
||||||
|
: 'หัวข้อความก้าวหน้า'
|
||||||
|
"
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
hide-bottom-space
|
||||||
|
:rules="[(val:string) => !!val || `${type == 'capacity'||type == 'development' ? `กรุณากรอกเหตุการณ์/พฤติกรรม${store.tabMain == '3' ? `/เหตุผล` : ''}`:'กรุณากรอกหัวข้อความก้าวหน้า' }`,]"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<!-- <div
|
||||||
|
class="col-12"
|
||||||
|
v-if="type !== 'capacity' && type !== 'development'"
|
||||||
|
>
|
||||||
|
<q-input
|
||||||
|
v-model="numLevel"
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="คะแนน"
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
hide-bottom-space
|
||||||
|
:rules="[(val:string) => !!val || `${'กรุณากรอกคะแนน'}`,]"
|
||||||
|
/>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
v-model="formDataAdd.reason"
|
v-model="formDataAdd.reason"
|
||||||
|
|
|
||||||
|
|
@ -160,11 +160,12 @@ const modalProgress = ref<boolean>(false);
|
||||||
const modalProblem = ref<boolean>(false);
|
const modalProblem = ref<boolean>(false);
|
||||||
const type = ref<string>("");
|
const type = ref<string>("");
|
||||||
const idList = ref<string>("");
|
const idList = ref<string>("");
|
||||||
function openPopupProgress(id: string) {
|
function openPopupProgress(data: any) {
|
||||||
|
store.mainRowData = data
|
||||||
modalProgress.value = true;
|
modalProgress.value = true;
|
||||||
type.value =
|
type.value =
|
||||||
numpage.value === 1 ? "plan" : numpage.value === 2 ? "role" : "special";
|
numpage.value === 1 ? "plan" : numpage.value === 2 ? "role" : "special";
|
||||||
idList.value = id;
|
idList.value = data.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
function openPopupProblem(id: string) {
|
function openPopupProblem(id: string) {
|
||||||
|
|
@ -186,12 +187,9 @@ watch(
|
||||||
|
|
||||||
const isEditStep1 = computed(() => {
|
const isEditStep1 = computed(() => {
|
||||||
return (
|
return (
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW" &&
|
store.dataEvaluation.evaluationStatus === "NEW" &&
|
||||||
store.rolePerson === "USER" &&
|
store.rolePerson === "USER" &&
|
||||||
store.tabMain === "1") ||
|
store.tabMain === "1"
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW_EVALUATOR" &&
|
|
||||||
store.rolePerson === "EVALUATOR" &&
|
|
||||||
store.tabMain === "1")
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -332,7 +330,7 @@ const isEditStep3 = computed(() => {
|
||||||
icon="mdi-developer-board"
|
icon="mdi-developer-board"
|
||||||
color="blue-6"
|
color="blue-6"
|
||||||
dense
|
dense
|
||||||
@click="openPopupProgress(props.row.id)"
|
@click="openPopupProgress(props.row)"
|
||||||
>
|
>
|
||||||
<q-tooltip>รายงานความก้าวหน้า</q-tooltip>
|
<q-tooltip>รายงานความก้าวหน้า</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
@ -343,7 +341,7 @@ const isEditStep3 = computed(() => {
|
||||||
color="red-5"
|
color="red-5"
|
||||||
dense
|
dense
|
||||||
main="problem"
|
main="problem"
|
||||||
@click="openPopupProblem(props.row.id)"
|
@click="openPopupProblem(props.row)"
|
||||||
>
|
>
|
||||||
<q-tooltip>รายงานปัญหา</q-tooltip>
|
<q-tooltip>รายงานปัญหา</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
|
||||||
|
|
@ -133,9 +133,6 @@ const isEditStep1 = computed(() => {
|
||||||
return (
|
return (
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW" &&
|
(store.dataEvaluation.evaluationStatus === "NEW" &&
|
||||||
store.rolePerson === "USER" &&
|
store.rolePerson === "USER" &&
|
||||||
store.tabMain === "1") ||
|
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW_EVALUATOR" &&
|
|
||||||
store.rolePerson === "EVALUATOR" &&
|
|
||||||
store.tabMain === "1")
|
store.tabMain === "1")
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
@ -466,7 +463,7 @@ onMounted(() => {
|
||||||
dense
|
dense
|
||||||
@click="openPopupProgress(props.row.id)"
|
@click="openPopupProgress(props.row.id)"
|
||||||
>
|
>
|
||||||
<q-tooltip>บันทึกเหตุการณ์/พฤติกรรม</q-tooltip>
|
<q-tooltip>{{store.tabMain == '3' ? `บันทึกเหตุการณ์/พฤติกรรม/เหตุผล` :'บันทึกเหตุการณ์/พฤติกรรม'}}</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,6 @@ const isEditStep1 = computed(() => {
|
||||||
return (
|
return (
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW" &&
|
(store.dataEvaluation.evaluationStatus === "NEW" &&
|
||||||
store.rolePerson === "USER" &&
|
store.rolePerson === "USER" &&
|
||||||
store.tabMain === "1") ||
|
|
||||||
(store.dataEvaluation.evaluationStatus === "NEW_EVALUATOR" &&
|
|
||||||
store.rolePerson === "EVALUATOR" &&
|
|
||||||
store.tabMain === "1")
|
store.tabMain === "1")
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
@ -344,7 +341,7 @@ onMounted(() => {
|
||||||
dense
|
dense
|
||||||
@click="openPopupProgress(props.row.id)"
|
@click="openPopupProgress(props.row.id)"
|
||||||
>
|
>
|
||||||
<q-tooltip>บันทึกเหตุการณ์/พฤติกรรม</q-tooltip>
|
<q-tooltip>{{store.tabMain == '3' ? `บันทึกเหตุการณ์/พฤติกรรม/เหตุผล` :'บันทึกเหตุการณ์/พฤติกรรม'}}</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ export const useKpiDataStore = defineStore("KPIDate", () => {
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { showLoader, hideLoader, messageError } = mixin;
|
const { showLoader, hideLoader, messageError } = mixin;
|
||||||
|
|
||||||
|
const mainRowData = ref<any>()
|
||||||
const isUpdate = ref<boolean>(false);
|
const isUpdate = ref<boolean>(false);
|
||||||
const tabMainevaluator = ref<string>("1");
|
const tabMainevaluator = ref<string>("1");
|
||||||
const yearRound = ref<number>(new Date().getFullYear());
|
const yearRound = ref<number>(new Date().getFullYear());
|
||||||
|
|
@ -512,7 +513,7 @@ export const useKpiDataStore = defineStore("KPIDate", () => {
|
||||||
selected,
|
selected,
|
||||||
work,
|
work,
|
||||||
isUpdate,
|
isUpdate,
|
||||||
|
mainRowData,
|
||||||
resultsOptions,
|
resultsOptions,
|
||||||
statusOptions,
|
statusOptions,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -17,5 +17,6 @@ interface ProbationFormType {
|
||||||
posTypeName: string;
|
posTypeName: string;
|
||||||
posLevelName: string;
|
posLevelName: string;
|
||||||
org: string;
|
org: string;
|
||||||
|
isProbation: boolean;
|
||||||
}
|
}
|
||||||
export type { ListMain,ProbationFormType };
|
export type { ListMain,ProbationFormType };
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ const formData = reactive<ProbationFormType>({
|
||||||
posExecutiveName: "",
|
posExecutiveName: "",
|
||||||
posTypeName: "",
|
posTypeName: "",
|
||||||
posLevelName: "",
|
posLevelName: "",
|
||||||
|
isProbation: false,
|
||||||
org: "",
|
org: "",
|
||||||
});
|
});
|
||||||
const sizeImg = ref<string>("");
|
const sizeImg = ref<string>("");
|
||||||
|
|
@ -119,6 +120,7 @@ function getMain() {
|
||||||
formData.firstName = data.firstName;
|
formData.firstName = data.firstName;
|
||||||
formData.lastName = data.lastName;
|
formData.lastName = data.lastName;
|
||||||
formData.position = data.position;
|
formData.position = data.position;
|
||||||
|
formData.isProbation = data.isProbation;
|
||||||
|
|
||||||
formData.posTypeName = data.posTypeName;
|
formData.posTypeName = data.posTypeName;
|
||||||
formData.posExecutiveName = data.posExecutiveName;
|
formData.posExecutiveName = data.posExecutiveName;
|
||||||
|
|
@ -235,8 +237,13 @@ onMounted(async () => {
|
||||||
<div class="col-4">สังกัด</div>
|
<div class="col-4">สังกัด</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4">
|
<div class="col-4 column">
|
||||||
{{ formData.position ? formData.position : "-" }}
|
<span>
|
||||||
|
{{ formData.position ? formData.position : "-" }}
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
{{ formData.isProbation ? `(ทดลองปฏิบัติหน้าที่ราชการฯ)` : "" }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
{{
|
{{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue