ประเมินบุคคล
This commit is contained in:
parent
d980946ccc
commit
1435b9b004
9 changed files with 232 additions and 59 deletions
|
|
@ -29,6 +29,9 @@ const evaluateId = ref<string>(route.params.id.toString());
|
|||
/** emit */
|
||||
const emit = defineEmits(["update:form"]);
|
||||
|
||||
const performance = ref<string>("");
|
||||
const performanceOwner = ref<string>("");
|
||||
|
||||
/** form ผู้เซ็นเอกสาร*/
|
||||
const formCommand = reactive<FormCommand>({
|
||||
commanderFullname: "",
|
||||
|
|
@ -48,6 +51,8 @@ const fileEvaluation3Ref = ref<object | null>(null);
|
|||
const fileEvaluation4Ref = ref<object | null>(null);
|
||||
const fileEvaluation5Ref = ref<object | null>(null);
|
||||
const fileEvaluation6Ref = ref<object | null>(null);
|
||||
const performanceRef = ref<object | null>(null);
|
||||
const performanceOwnerRef = ref<object | null>(null);
|
||||
|
||||
/**
|
||||
* function updateFormref
|
||||
|
|
@ -371,6 +376,51 @@ onMounted(async () => {
|
|||
|
||||
<template>
|
||||
<div class="row q-col-gutter-md">
|
||||
<!-- ผลงาน -->
|
||||
<div class="col-12">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">ผลงาน</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row">
|
||||
<div class="col-12 q-pa-sm">
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<!-- <div class="text-weight-medium q-py-sm">
|
||||
ผู้บังคับบัญชาชั้นต้น
|
||||
</div> -->
|
||||
<div class="row col-12 q-col-gutter-md q-pa-sm">
|
||||
<q-input
|
||||
:readonly="store.currentStep != 2"
|
||||
ref="performanceRef"
|
||||
dense
|
||||
class="col-xs-12 col-sm-6"
|
||||
outlined
|
||||
label="ชื่อผลงาน"
|
||||
v-model="performance"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
<q-input
|
||||
:readonly="store.currentStep != 2"
|
||||
ref="performanceOwnerRef"
|
||||
class="col-xs-12 col-sm-6"
|
||||
dense
|
||||
outlined
|
||||
v-model="performanceOwner"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
label="เจ้าของผลงาน"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<!-- แบบพิจารณาคุณสมบัติบุคคล -->
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ const emit = defineEmits(["update:form"]);
|
|||
const fileEvaluation1 = ref<any>();
|
||||
const pdfSrc = ref<any>();
|
||||
|
||||
const performance = ref<string>("");
|
||||
const performanceOwner = ref<string>("");
|
||||
|
||||
const formCommand = reactive<FormCommand>({
|
||||
commanderFullname: "",
|
||||
commanderPosition: "",
|
||||
|
|
@ -197,6 +200,51 @@ onMounted(() => {
|
|||
</div>
|
||||
</q-banner>
|
||||
</div>
|
||||
<!-- ผลงาน -->
|
||||
<div class="col-12">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">ผลงาน</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row">
|
||||
<div class="col-12 q-pa-sm">
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<!-- <div class="text-weight-medium q-py-sm">
|
||||
ผู้บังคับบัญชาชั้นต้น
|
||||
</div> -->
|
||||
<div class="row col-12 q-col-gutter-md q-pa-sm">
|
||||
<q-input
|
||||
:readonly="store.currentStep != 2"
|
||||
ref="performanceRef"
|
||||
dense
|
||||
class="col-xs-12 col-sm-6"
|
||||
outlined
|
||||
label="ชื่อผลงาน"
|
||||
v-model="performance"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
<q-input
|
||||
:readonly="store.currentStep != 2"
|
||||
ref="performanceOwnerRef"
|
||||
class="col-xs-12 col-sm-6"
|
||||
dense
|
||||
outlined
|
||||
v-model="performanceOwner"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
label="เจ้าของผลงาน"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<div class="col-6" v-if="store.currentStep === 6">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
|
|
|
|||
|
|
@ -63,35 +63,35 @@ async function onClickDowloadFile(
|
|||
await genReport(body, fileName);
|
||||
}
|
||||
|
||||
const directorList = ref<any>();
|
||||
const meetingList = ref<any>();
|
||||
// const directorList = ref<any>();
|
||||
// const meetingList = ref<any>();
|
||||
|
||||
async function fetchDirector() {
|
||||
showLoader();
|
||||
evaluateId.value &&
|
||||
(await http
|
||||
.get(config.API.evaluationDirectorMeetring(evaluateId.value))
|
||||
.then((res) => {
|
||||
const directors = res.data.result.directors;
|
||||
const meetings = res.data.result.meetings;
|
||||
directorList.value = directors.map((e: any) => ({
|
||||
fullName: `${e.prefix}${e.firstName} ${e.lastName}`,
|
||||
position: e.position ?? "-",
|
||||
email: e.email ?? "-",
|
||||
phone: e.phone ?? "-",
|
||||
}));
|
||||
meetingList.value = meetings.map((e: any) => ({
|
||||
fullName: `${e.Prefix}${e.FirstName} ${e.LastName}`,
|
||||
dateMeeting: `${date2Thai(e.dateStart)} - ${date2Thai(e.dateEnd)}`,
|
||||
result: e.result ?? "-",
|
||||
duration: e.duration ?? "-",
|
||||
}));
|
||||
})
|
||||
.catch((err) => {})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
}));
|
||||
}
|
||||
// async function fetchDirector() {
|
||||
// showLoader();
|
||||
// evaluateId.value &&
|
||||
// (await http
|
||||
// .get(config.API.evaluationDirectorMeetring(evaluateId.value))
|
||||
// .then((res) => {
|
||||
// const directors = res.data.result.directors;
|
||||
// const meetings = res.data.result.meetings;
|
||||
// directorList.value = directors.map((e: any) => ({
|
||||
// fullName: `${e.prefix}${e.firstName} ${e.lastName}`,
|
||||
// position: e.position ?? "-",
|
||||
// email: e.email ?? "-",
|
||||
// phone: e.phone ?? "-",
|
||||
// }));
|
||||
// meetingList.value = meetings.map((e: any) => ({
|
||||
// fullName: `${e.Prefix}${e.FirstName} ${e.LastName}`,
|
||||
// dateMeeting: `${date2Thai(e.dateStart)} - ${date2Thai(e.dateEnd)}`,
|
||||
// result: e.result ?? "-",
|
||||
// duration: e.duration ?? "-",
|
||||
// }));
|
||||
// })
|
||||
// .catch((err) => {})
|
||||
// .finally(() => {
|
||||
// hideLoader();
|
||||
// }));
|
||||
// }
|
||||
|
||||
async function fetchPathUpload(
|
||||
volume: string,
|
||||
|
|
@ -161,7 +161,7 @@ function checkDoc() {
|
|||
}
|
||||
|
||||
onMounted(async () => {
|
||||
await fetchDirector();
|
||||
// await fetchDirector();
|
||||
checkDoc();
|
||||
});
|
||||
</script>
|
||||
|
|
@ -179,7 +179,7 @@ onMounted(async () => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<!-- <div class="col-12">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<q-card class="col-12 items-center">
|
||||
<q-tabs
|
||||
|
|
@ -207,7 +207,7 @@ onMounted(async () => {
|
|||
</q-tab-panels>
|
||||
</q-card>
|
||||
</q-card>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="col-12">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue