no message
This commit is contained in:
parent
af2cf46837
commit
0f8dc5229d
3 changed files with 196 additions and 1 deletions
|
|
@ -8,6 +8,7 @@ const kpiRole = `${env.API_URI}/kpi/role`;
|
||||||
const KpiCapacity = `${env.API_URI}/kpi/capacity`;
|
const KpiCapacity = `${env.API_URI}/kpi/capacity`;
|
||||||
const KpiFile = `${env.API_URI}/salary/file`;
|
const KpiFile = `${env.API_URI}/salary/file`;
|
||||||
const KpiEvaluation = `${env.API_URI}/kpi/evaluation`;
|
const KpiEvaluation = `${env.API_URI}/kpi/evaluation`;
|
||||||
|
const Kpiorg = `${env.API_URI}/org/profile/commander`
|
||||||
|
|
||||||
const KpiUser = `${env.API_URI}/kpi/user`;
|
const KpiUser = `${env.API_URI}/kpi/user`;
|
||||||
const kpiAchievement = `${env.API_URI}/kpi/user/achievement`;
|
const kpiAchievement = `${env.API_URI}/kpi/user/achievement`;
|
||||||
|
|
@ -29,4 +30,5 @@ export default {
|
||||||
|
|
||||||
kpiUserCapacity: `${KpiUser}/capacity`,
|
kpiUserCapacity: `${KpiUser}/capacity`,
|
||||||
KpiEvaluation,
|
KpiEvaluation,
|
||||||
|
Kpiorg,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,27 @@ import { useQuasar } from "quasar";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useKpiDataStore } from "@/modules/08_KPI/store";
|
import { useKpiDataStore } from "@/modules/08_KPI/store";
|
||||||
|
|
||||||
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
import type { FormProfile } from "@/modules/08_KPI/interface/request/index";
|
import type { FormProfile } from "@/modules/08_KPI/interface/request/index";
|
||||||
|
import type { DataOptions } from "@/modules/08_KPI/interface/index/Main";
|
||||||
|
|
||||||
|
const modalEdit = ref<boolean>(false);
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const id = ref<string>(route.params.id as string);
|
const id = ref<string>(route.params.id as string);
|
||||||
const store = useKpiDataStore();
|
const store = useKpiDataStore();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { showLoader, hideLoader, messageError } = mixin;
|
const { showLoader, hideLoader, messageError, dialogConfirm } = mixin;
|
||||||
|
|
||||||
|
const evaluatorIdOp = ref<DataOptions[]>([]);
|
||||||
|
const commanderIdOp = ref<DataOptions[]>([]);
|
||||||
|
const commanderHighOp = ref<DataOptions[]>([]);
|
||||||
|
|
||||||
|
const formEva = reactive({
|
||||||
|
evaluatorId: "",
|
||||||
|
commanderId: "",
|
||||||
|
commanderHighId: "",
|
||||||
|
});
|
||||||
|
|
||||||
const formProfile = reactive<FormProfile>({
|
const formProfile = reactive<FormProfile>({
|
||||||
fullName: "",
|
fullName: "",
|
||||||
|
|
@ -41,6 +54,7 @@ function fetchEvaluation() {
|
||||||
formProfile.status = store.convertStatus(data.evaluationStatus);
|
formProfile.status = store.convertStatus(data.evaluationStatus);
|
||||||
formProfile.result = store.convertResults(data.evaluationResults);
|
formProfile.result = store.convertResults(data.evaluationResults);
|
||||||
fetchProfile(data.profileId);
|
fetchProfile(data.profileId);
|
||||||
|
console.log(store.dataEvaluation)
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
messageError($q, e);
|
messageError($q, e);
|
||||||
|
|
@ -93,6 +107,23 @@ async function fetchProfile(id: string) {
|
||||||
/** save */
|
/** save */
|
||||||
function onSave() {}
|
function onSave() {}
|
||||||
|
|
||||||
|
function close() {
|
||||||
|
modalEdit.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearDialog() {
|
||||||
|
modalEdit.value = false;
|
||||||
|
formEva.evaluatorId = "";
|
||||||
|
formEva.commanderId = "";
|
||||||
|
formEva.commanderHighId = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function onSubmit() {
|
||||||
|
dialogConfirm($q, () => {
|
||||||
|
clearDialog();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetchEvaluation();
|
fetchEvaluation();
|
||||||
getProfile();
|
getProfile();
|
||||||
|
|
@ -138,6 +169,17 @@ onMounted(() => {
|
||||||
}}</span>
|
}}</span>
|
||||||
<q-space />
|
<q-space />
|
||||||
<div class="q-gutter-x-sm">
|
<div class="q-gutter-x-sm">
|
||||||
|
<q-btn
|
||||||
|
unelevated
|
||||||
|
round
|
||||||
|
icon="edit"
|
||||||
|
color="grey-2"
|
||||||
|
text-color="edit"
|
||||||
|
size="md"
|
||||||
|
@click="modalEdit = true"
|
||||||
|
>
|
||||||
|
<q-tooltip>แก้ไขผู้ประเมิน</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
unelevated
|
unelevated
|
||||||
round
|
round
|
||||||
|
|
@ -226,6 +268,80 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<q-dialog v-model="modalEdit" persistent>
|
||||||
|
<q-card bordered style="width: 50vh">
|
||||||
|
<q-form greedy @submit.prevent @validation-success="onSubmit">
|
||||||
|
<DialogHeader tittle="แก้ไขผู้ประเมิน" :close="close" />
|
||||||
|
<q-separator />
|
||||||
|
<q-card-section>
|
||||||
|
<div class="column q-gutter-sm">
|
||||||
|
<q-select
|
||||||
|
v-model="formEva.evaluatorId"
|
||||||
|
outlined
|
||||||
|
label="ผู้ประเมิน"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="evaluatorIdOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
hide-bottom-space
|
||||||
|
lazy-rules
|
||||||
|
:rules="[
|
||||||
|
(val:string) =>
|
||||||
|
!!val || `${'กรุณาเลือกผู้ประเมิน'}`,
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
<q-select
|
||||||
|
v-model="formEva.commanderId"
|
||||||
|
outlined
|
||||||
|
label="ผู้บังคับบัญชาเหนือขึ้นไป"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="commanderIdOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
>
|
||||||
|
<template v-if="formEva.commanderId" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="formEva.commanderId = ''"
|
||||||
|
class="cursor-pointer"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
<q-select
|
||||||
|
v-model="formEva.commanderHighId"
|
||||||
|
outlined
|
||||||
|
label="ผู้บังคับบัญชาเหนือขึ้นไปอีกชั้นหนึ่ง"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="commanderHighOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
>
|
||||||
|
<template v-if="formEva.commanderHighId" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="formEva.commanderHighId = ''"
|
||||||
|
class="cursor-pointer"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
<q-separator />
|
||||||
|
<q-card-actions align="right" class="bg-white text-teal">
|
||||||
|
<q-btn label="บันทึก" color="secondary" type="submit"
|
||||||
|
><q-tooltip>บันทึกข้อมูล</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</q-card-actions>
|
||||||
|
</q-form>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
<style>
|
<style>
|
||||||
.bg-toolbar {
|
.bg-toolbar {
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,10 @@ const filterKeyword = ref<string>("");
|
||||||
const roundMainOp = ref<DataOptions[]>([]);
|
const roundMainOp = ref<DataOptions[]>([]);
|
||||||
const roundDialgOp = ref<DataOptions[]>([]);
|
const roundDialgOp = ref<DataOptions[]>([]);
|
||||||
|
|
||||||
|
const evaluatorIdOp = ref<DataOptions[]>([]);
|
||||||
|
const commanderIdOp = ref<DataOptions[]>([]);
|
||||||
|
const commanderHighOp = ref<DataOptions[]>([]);
|
||||||
|
|
||||||
/** Dialog*/
|
/** Dialog*/
|
||||||
const modalDialog = ref<boolean>(false);
|
const modalDialog = ref<boolean>(false);
|
||||||
const yearDialog = ref<number | null>(null);
|
const yearDialog = ref<number | null>(null);
|
||||||
|
|
@ -82,6 +86,9 @@ const formRound = reactive({
|
||||||
prefix: "",
|
prefix: "",
|
||||||
firstName: "",
|
firstName: "",
|
||||||
lastName: "",
|
lastName: "",
|
||||||
|
evaluatorId: "",
|
||||||
|
commanderId: "",
|
||||||
|
commanderHighId: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
/** pagetion*/
|
/** pagetion*/
|
||||||
|
|
@ -228,9 +235,17 @@ watch(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
function getOrgOp(){
|
||||||
|
http
|
||||||
|
.get(config.API.Kpiorg)
|
||||||
|
.then((res)=>{
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getProfile();
|
getProfile();
|
||||||
fetchRoundOption("main");
|
fetchRoundOption("main");
|
||||||
|
getOrgOp()
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -465,6 +480,68 @@ onMounted(() => {
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12">
|
||||||
|
<q-select
|
||||||
|
v-model="formRound.evaluatorId"
|
||||||
|
outlined
|
||||||
|
label="ผู้ประเมิน"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="evaluatorIdOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
hide-bottom-space
|
||||||
|
lazy-rules
|
||||||
|
:rules="[
|
||||||
|
(val:string) =>
|
||||||
|
!!val || `${'กรุณาเลือกผู้ประเมิน'}`,
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<q-select
|
||||||
|
v-model="formRound.commanderId"
|
||||||
|
outlined
|
||||||
|
label="ผู้บังคับบัญชาเหนือขึ้นไป"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="commanderIdOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
>
|
||||||
|
<template v-if="formRound.commanderId" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="formRound.commanderId = ''"
|
||||||
|
class="cursor-pointer"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<q-select
|
||||||
|
v-model="formRound.commanderHighId"
|
||||||
|
outlined
|
||||||
|
label="ผู้บังคับบัญชาเหนือขึ้นไปอีกชั้นหนึ่ง"
|
||||||
|
dense
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
:options="commanderHighOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
>
|
||||||
|
<template v-if="formRound.commanderHighId" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="formRound.commanderHighId = ''"
|
||||||
|
class="cursor-pointer"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue