แก้ไขทดลองงาน

This commit is contained in:
Warunee Tamkoo 2023-09-01 15:18:01 +07:00
parent 64152f72d9
commit e555119849
6 changed files with 127 additions and 331 deletions

View file

@ -28,19 +28,14 @@ const personalId = ref<string>(route.params.id.toString());
const person = ref<any>([]); const person = ref<any>([]);
const assign = ref<any>([]); const assign = ref<any>([]);
const evaluate_no = ref<string>(""); const evaluate_no = ref<any>("");
const start_date = ref<Date>(new Date()); const start_date = ref<any>();
const date_finish = ref<Date>(new Date()); const date_finish = ref<any>();
const status = ref<boolean>(true); const status = ref<boolean>(true);
const chairman = ref<any>([]); const chairman = ref<any>([]);
const commander = ref<any>([]); const commander = ref<any>([]);
const mentors = ref<any>([{ name: "" }, { name: "" }]); const mentors = ref<any>([{ name: "" }, { name: "" }]);
const round = ref<any>();
const props = defineProps({
tab: String,
});
onMounted(() => { onMounted(() => {
fecthAssign(assignId.value); fecthAssign(assignId.value);
}); });
@ -49,15 +44,14 @@ const fecthAssign = async (id: string) => {
await http await http
.get(config.API.evaluateChairman(id)) .get(config.API.evaluateChairman(id))
.then(async (res: any) => { .then(async (res: any) => {
person.value = res.data.data.person; person.value = await res.data.data.person;
assign.value = res.data.data.assign; assign.value = await res.data.data.assign;
evaluate_no.value = res.data.data.evaluate_no; evaluate_no.value = await res.data.data.evaluate_no;
start_date.value = res.data.data.start_date; start_date.value = await res.data.data.start_date;
date_finish.value = res.data.data.end_date; date_finish.value = await res.data.data.end_date;
chairman.value = res.data.data.chairman; chairman.value = await res.data.data.chairman;
commander.value = res.data.data.commander; commander.value = await res.data.data.commander;
mentors.value = res.data.data.mentors; mentors.value = await res.data.data.mentors;
round.value = res.data.data.evaluate_no;
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);
@ -385,7 +379,7 @@ const putformData = () => {
</div> </div>
<div class="col-12 text-top0 row items-center"> <div class="col-12 text-top0 row items-center">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" /> <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
<span class="text-primary q-pr-sm">{{ "ครั้งที่ " + round }}</span> <span class="text-primary q-pr-sm">{{ `ครั้งที่ ${evaluate_no}` }}</span>
ระหวางวนท ระหวางวนท
<span class="text-black q-px-sm">{{ <span class="text-black q-px-sm">{{
date2Thai(start_date) date2Thai(start_date)
@ -416,7 +410,7 @@ const putformData = () => {
1.1. ความสามารถในการเรยนรงาน</q-item-label> 1.1. ความสามารถในการเรยนรงาน</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="learn_level" max="5" size="sm" color="grey" <q-rating v-model="learn_level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -449,7 +443,7 @@ const putformData = () => {
ความสามารถในการปรบใชความรบงานในหนาท</q-item-label> ความสามารถในการปรบใชความรบงานในหนาท</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="apply_level" max="5" size="sm" color="grey" <q-rating v-model="apply_level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -481,7 +475,7 @@ const putformData = () => {
1.3. ความสำเรจของงานทไดบมอบหมาย</q-item-label> 1.3. ความสำเรจของงานทไดบมอบหมาย</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="success_level" max="5" size="sm" color="grey" <q-rating v-model="success_level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -511,7 +505,7 @@ const putformData = () => {
<q-item-label> <q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" /> <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.4 นๆ 1.4 นๆ
<q-checkbox :disable="!status" class="q-ml-sm" dense v-model="etc" @click=" <q-checkbox class="q-ml-sm" dense v-model="etc" @click="
(achievement_other.text = ''), (achievement_other.text = ''),
(achievement_other.level = 0) (achievement_other.level = 0)
" /></q-item-label> " /></q-item-label>
@ -525,7 +519,7 @@ const putformData = () => {
<q-item dense tag="label" v-ripple> <q-item dense tag="label" v-ripple>
<q-item-section class="q-ml-md"> <q-item-section class="q-ml-md">
<q-item-label> <q-item-label>
<q-input :disable="!status" v-model="achievement_other.text" label="กรอกอื่นๆ" dense lazy-rules <q-input v-model="achievement_other.text" label="กรอกอื่นๆ" dense lazy-rules
autogrow hide-bottom-space outlined class="bg-white" :rules="[ autogrow hide-bottom-space outlined class="bg-white" :rules="[
(val) => (val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ', (val && val.length > 0) || 'กรุณากรอกข้อความ',
@ -533,7 +527,7 @@ const putformData = () => {
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="achievement_other.level" max="5" size="sm" color="grey" <q-rating v-model="achievement_other.level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -583,7 +577,7 @@ const putformData = () => {
<q-item-label>{{ list.label }}</q-item-label> <q-item-label>{{ list.label }}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="conduct_level[i]" :val="list.id" max="5" size="sm" <q-rating v-model="conduct_level[i]" :val="list.id" max="5" size="sm"
color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -619,7 +613,7 @@ const putformData = () => {
<q-item-label>{{ list.label }}</q-item-label> <q-item-label>{{ list.label }}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="moral_level[i]" :val="list.id" max="5" size="sm" color="grey" <q-rating v-model="moral_level[i]" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -655,7 +649,7 @@ const putformData = () => {
<q-item-label>{{ list.label }}</q-item-label> <q-item-label>{{ list.label }}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="discipline_level[i]" :val="list.id" max="5" size="sm" <q-rating v-model="discipline_level[i]" :val="list.id" max="5" size="sm"
color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -683,7 +677,7 @@ const putformData = () => {
<div class="col-12 text-top0 row items-center q-pl-lg"> <div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" /> <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.4 นๆ 2.4 นๆ
<q-checkbox :disable="!status" class="q-ml-sm" dense v-model="etc2" @click=" <q-checkbox class="q-ml-sm" dense v-model="etc2" @click="
(behavio_orther.text = ''), (behavio_orther.level = 0) (behavio_orther.text = ''), (behavio_orther.level = 0)
" /> " />
</div> </div>
@ -692,7 +686,7 @@ const putformData = () => {
<q-item dense tag="label" v-ripple> <q-item dense tag="label" v-ripple>
<q-item-section> <q-item-section>
<q-item-label> <q-item-label>
<q-input :disable="!status" v-model="behavio_orther.text" label="กรอกอื่นๆ" dense lazy-rules <q-input v-model="behavio_orther.text" label="กรอกอื่นๆ" dense lazy-rules
autogrow hide-bottom-space outlined class="bg-white" :rules="[ autogrow hide-bottom-space outlined class="bg-white" :rules="[
(val) => (val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ', (val && val.length > 0) || 'กรุณากรอกข้อความ',
@ -700,7 +694,7 @@ const putformData = () => {
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating :disable="!status" v-model="behavio_orther.level" max="5" size="sm" color="grey" <q-rating v-model="behavio_orther.level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
@ -856,30 +850,30 @@ const putformData = () => {
<div class="row q-gutter-md align-center q-pl-md"> <div class="row q-gutter-md align-center q-pl-md">
<div class="col-8">1. การปฐมนเทศ</div> <div class="col-8">1. การปฐมนเทศ</div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="orientation" /> <q-input outlined dense type="number" v-model="orientation" />
</div> </div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="orientation_percent" /> <q-input outlined dense type="number" v-model="orientation_percent" />
</div> </div>
</div> </div>
<q-separator class="q-my-xs" /> <q-separator class="q-my-xs" />
<div class="row q-gutter-md align-center q-pl-md"> <div class="row q-gutter-md align-center q-pl-md">
<div class="col-8">2. การเรยนรวยตนเอง</div> <div class="col-8">2. การเรยนรวยตนเอง</div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="self_learning" /> <q-input outlined dense type="number" v-model="self_learning" />
</div> </div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="self_learning_percent" /> <q-input outlined dense type="number" v-model="self_learning_percent" />
</div> </div>
</div> </div>
<q-separator class="q-my-xs" /> <q-separator class="q-my-xs" />
<div class="row q-gutter-md align-center q-pl-md"> <div class="row q-gutter-md align-center q-pl-md">
<div class="col-8">3. การอบรมสมนารวมก</div> <div class="col-8">3. การอบรมสมนารวมก</div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="training_seminar" /> <q-input outlined dense type="number" v-model="training_seminar" />
</div> </div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="training_seminar_percent" /> <q-input outlined dense type="number" v-model="training_seminar_percent" />
</div> </div>
</div> </div>
<q-separator class="q-my-xs" /> <q-separator class="q-my-xs" />
@ -888,10 +882,10 @@ const putformData = () => {
4. การอบรมอ ตามทหนวยงานกำหนด (าม) 4. การอบรมอ ตามทหนวยงานกำหนด (าม)
</div> </div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="other_training" /> <q-input outlined dense type="number" v-model="other_training" />
</div> </div>
<div class="col"> <div class="col">
<q-input outlined :disable="!status" dense type="number" v-model="other_training_percent" /> <q-input outlined dense type="number" v-model="other_training_percent" />
</div> </div>
</div> </div>
<!-- <q-list dense> <!-- <q-list dense>
@ -1012,7 +1006,7 @@ const putformData = () => {
สรปผลการพฒนา สรปผลการพฒนา
</div> </div>
<div class="col-12"> <div class="col-12">
<q-select :disable="!status" class="col-xs-12" dense v-model="develop_result" outlined <q-select class="col-xs-12" dense v-model="develop_result" outlined
:options="develop_result_option" option-label="name" option-value="value" :options="develop_result_option" option-label="name" option-value="value"
label="เลือกสรุปผลการพัฒนา" map-options emit-value /> label="เลือกสรุปผลการพัฒนา" map-options emit-value />
</div> </div>
@ -1026,7 +1020,7 @@ const putformData = () => {
สรปผล การประเมนผลทดลองปฎหนาทราชการ สรปผล การประเมนผลทดลองปฎหนาทราชการ
</div> </div>
<div class="col-12"> <div class="col-12">
<q-select :disable="!status" class="col-xs-12" dense v-model="evaluate_result" outlined <q-select class="col-xs-12" dense v-model="evaluate_result" outlined
:options="evaluate_result_option" option-label="name" option-value="value" :options="evaluate_result_option" option-label="name" option-value="value"
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ" map-options emit-value /> label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ" map-options emit-value />
</div> </div>
@ -1053,7 +1047,7 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input hide-bottom-space outlined :disable="!status" dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input hide-bottom-space outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null
? date2Thai(dateAutherise) ? date2Thai(dateAutherise)
: null : null
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
@ -1077,7 +1071,7 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input hide-bottom-space :disable="!status" outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input hide-bottom-space outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null
? date2Thai(dateAutherise) ? date2Thai(dateAutherise)
: null : null
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
@ -1100,7 +1094,7 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input hide-bottom-space :disable="!status" outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input hide-bottom-space outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null
? date2Thai(dateAutherise) ? date2Thai(dateAutherise)
: null : null
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
@ -1131,7 +1125,7 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input :disable="!status" outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null
? date2Thai(dateAutherise) ? date2Thai(dateAutherise)
: null : null
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">

View file

@ -52,11 +52,11 @@ const fecthAssign = async (id: string) => {
date_start.value = assign.value.date_start; date_start.value = assign.value.date_start;
date_finish.value = assign.value.date_finish; date_finish.value = assign.value.date_finish;
director_id.value = res.data.data.commander.name; director_id.value = res.data.data.chairman.name;
director_id2.value = mentors.value[0].name; director_id2.value = res.data.data.commander.name;
director_id3.value = mentors.value[1].name; director_id3.value = mentors.value[0].name;
commander.value.push(res.data.data.commander); commander.value = res.data.data.commander;
optionDirector.value = mentors.value; optionDirector.value = mentors.value;
}) })
.catch((e) => { .catch((e) => {
@ -80,21 +80,25 @@ const fullname = ref<string>("");
const fecthResult = async (id: string) => { const fecthResult = async (id: string) => {
await http await http
.get(config.API.createformReport(id)) .get(config.API.createformReport(id))
.then((res: any) => { .then(async(res: any) => {
let data = res.data.data.evaluate; if (res.data.data != null) {
fullname.value = res.data.data.profile.name; const data = await res.data.data.evaluate;
date_start.value = data.date_start; console.log("data ===>", data);
date_finish.value = data.date_finish;
develop.value = Number(data.develop_complete); fullname.value = res.data.data.profile.name;
result.value = Number(data.pass_result); date_start.value = data.date_start;
reson.value = data.reson; date_finish.value = data.date_finish;
chairman_dated.value = data.chairman_dated; develop.value = await Number(data.develop_complete);
director1_dated.value = data.director1_dated; result.value = await Number(data.pass_result);
director2_dated.value = data.director2_dated; reson.value = await data.reson;
status.value = false; chairman_dated.value = await data.chairman_dated;
action.value = "edit"; director1_dated.value = await data.director1_dated;
director2_dated.value = await data.director2_dated;
status.value = false;
action.value = "edit";
}
}) })
.catch((e) => {}); .catch((e) => { });
}; };
// part new // part new
@ -185,27 +189,16 @@ const selectRuslt = () => {
<div class="toptitle text-dark col-12 row items-center q-gutter-md"> <div class="toptitle text-dark col-12 row items-center q-gutter-md">
<div>แบบรายงานการประเมนฯ</div> <div>แบบรายงานการประเมนฯ</div>
<!-- <q-space /> --> <!-- <q-space /> -->
<q-btn <q-btn v-if="!status" size="12px" flat dense icon="mdi-download" color="primary">
v-if="!status"
size="12px"
flat
dense
icon="mdi-download"
color="primary"
>
<q-tooltip>ดาวนโหลด</q-tooltip> <q-tooltip>ดาวนโหลด</q-tooltip>
<q-menu> <q-menu>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable v-close-popup @click="clickdownloadFile('pdf')"> <q-item clickable v-close-popup @click="clickdownloadFile('pdf')">
<q-item-section avatar <q-item-section avatar><q-icon color="red" name="mdi-file-pdf" /></q-item-section>
><q-icon color="red" name="mdi-file-pdf"
/></q-item-section>
<q-item-section>ไฟล .PDF</q-item-section> <q-item-section>ไฟล .PDF</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="clickdownloadFile('docx')"> <q-item clickable v-close-popup @click="clickdownloadFile('docx')">
<q-item-section avatar <q-item-section avatar><q-icon color="blue" name="mdi-file-word" /></q-item-section>
><q-icon color="blue" name="mdi-file-word"
/></q-item-section>
<q-item-section>ไฟล .docx</q-item-section> <q-item-section>ไฟล .docx</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
@ -214,14 +207,7 @@ const selectRuslt = () => {
<div v-if="action == 'edit'"> <div v-if="action == 'edit'">
<div v-if="status == false"> <div v-if="status == false">
<q-btn <q-btn dense flat round color="primary" @click="edit()" icon="mdi-pencil-outline">
dense
flat
round
color="primary"
@click="edit()"
icon="mdi-pencil-outline"
>
<q-tooltip>แกไขขอม</q-tooltip> <q-tooltip>แกไขขอม</q-tooltip>
</q-btn> </q-btn>
</div> </div>
@ -229,15 +215,8 @@ const selectRuslt = () => {
<q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo"> <q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo">
<q-tooltip>ยกเล</q-tooltip> <q-tooltip>ยกเล</q-tooltip>
</q-btn> </q-btn>
<q-btn <q-btn dense flat round class="q-ml-sm" color="public" @click="saveEdit(assignId)"
dense icon="mdi-content-save-outline">
flat
round
class="q-ml-sm"
color="public"
@click="saveEdit(assignId)"
icon="mdi-content-save-outline"
>
<q-tooltip>นทกขอม</q-tooltip> <q-tooltip>นทกขอม</q-tooltip>
</q-btn> </q-btn>
</div> </div>
@ -247,16 +226,8 @@ const selectRuslt = () => {
<div class="row col-12"> <div class="row col-12">
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<div class="col-xs-12 col-sm-6"> <div class="col-xs-12 col-sm-6">
<datepicker <datepicker menu-class-name="modalfix" v-model="date_start" :locale="'th'" autoApply borderless
menu-class-name="modalfix" :readonly="!status" :enableTimePicker="false" week-start="0">
v-model="date_start"
:locale="'th'"
autoApply
borderless
:readonly="!status"
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -264,23 +235,10 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input outlined dense :disable="!status" class="full-width datepicker" :model-value="date_start != null ? date2Thai(date_start) : null
outlined " :label="`${'ระหว่างวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]">
dense
:disable="!status"
class="full-width datepicker"
:model-value="
date_start != null ? date2Thai(date_start) : null
"
:label="`${'ระหว่างวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -288,16 +246,8 @@ const selectRuslt = () => {
</datepicker> </datepicker>
</div> </div>
<div class="col-xs-12 col-sm-6"> <div class="col-xs-12 col-sm-6">
<datepicker <datepicker menu-class-name="modalfix" v-model="date_finish" :locale="'th'" autoApply :readonly="!status"
menu-class-name="modalfix" borderless :enableTimePicker="false" week-start="0">
v-model="date_finish"
:locale="'th'"
autoApply
:readonly="!status"
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -305,23 +255,10 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input outlined dense :disable="!status" class="full-width datepicker" :model-value="date_finish != null ? date2Thai(date_finish) : null
outlined " :label="`${'ถึงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]">
dense
:disable="!status"
class="full-width datepicker"
:model-value="
date_finish != null ? date2Thai(date_finish) : null
"
:label="`${'ถึงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -334,78 +271,35 @@ const selectRuslt = () => {
<div class="col-12 row q-mt-xs"> <div class="col-12 row q-mt-xs">
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<div class="col-xs-12 col-sm-6"> <div class="col-xs-12 col-sm-6">
<q-select <q-select :rules="[
:rules="[ (val) =>
(val) => !!val ||
!!val || 'กรุณาเลือกการพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ',
'กรุณาเลือกการพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ', ]" hide-bottom-space :options="options" class="col-xs-12 col-sm-6" dense borderless :disable="!status"
]" emit-value map-options option-label="label" option-value="value" outlined v-model="develop"
hide-bottom-space label="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ" />
:options="options"
class="col-xs-12 col-sm-6"
dense
borderless
:disable="!status"
emit-value
map-options
option-label="label"
option-value="value"
outlined
v-model="develop"
label="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ"
/>
</div> </div>
<div class="col-xs-12 col-sm-6"> <div class="col-xs-12 col-sm-6">
<div class="row"> <div class="row">
<q-select <q-select class="col-sm-12" :rules="[
class="col-sm-12" (val) =>
:rules="[ !!val ||
(val) => 'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ',
!!val || ]" hide-bottom-space :options="optionsResult" :disable="!status" dense borderless emit-value
'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ', map-options option-label="label" option-value="value" outlined v-model="result"
]" label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ" @update:model-value="selectRuslt" />
hide-bottom-space
:options="optionsResult"
:disable="!status"
dense
borderless
emit-value
map-options
option-label="label"
option-value="value"
outlined
v-model="result"
label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ"
@update:model-value="selectRuslt"
/>
</div> </div>
<div class="row q-mt-xs" v-if="result === 3"> <div class="row q-mt-xs" v-if="result === 3">
<q-input <q-input outlined dense v-model="expand_month" label="จำนวนเดือน"
outlined :rules="[(val) => !!val || 'กรุณากรอกจำนวนเดือน']" type="number" />
dense
v-model="expand_month"
label="จำนวนเดือน"
:rules="[(val) => !!val || 'กรุณากรอกจำนวนเดือน']"
type="number"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="col-12 row q-mt-lg"> <div class="col-12 row q-mt-lg">
<div class="col-12"> <div class="col-12">
<q-input <q-input hide-bottom-space dense borderless outlined :disable="!status" class="bg-white" type="textarea"
hide-bottom-space v-model="reson" label="เหตุผล" :rules="[(val) => !!val || 'กรุณาระบุเหตุผล']" />
dense
borderless
outlined
:disable="!status"
class="bg-white"
type="textarea"
v-model="reson"
label="เหตุผล"
:rules="[(val) => !!val || 'กรุณาระบุเหตุผล']"
/>
</div> </div>
</div> </div>
@ -419,27 +313,11 @@ const selectRuslt = () => {
ประธานคณะกรรมการประเมนผลการปฏหนาทราชการ ประธานคณะกรรมการประเมนผลการปฏหนาทราชการ
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select <q-select class="col-xs-12 col-sm-8" dense v-model="director_id" outlined :options="commander"
class="col-xs-12 col-sm-8" label="ชื่อ-นามสกุล" option-label="name" disable />
dense
v-model="director_id"
outlined
:options="commander"
label="ชื่อ-นามสกุล"
option-label="name"
disable
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker <datepicker menu-class-name="modalfix" v-model="chairman_dated" :locale="'th'" :readonly="!status" autoApply
menu-class-name="modalfix" borderless :enableTimePicker="false" week-start="0">
v-model="chairman_dated"
:locale="'th'"
:readonly="!status"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -447,23 +325,10 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="chairman_dated != null ? date2Thai(chairman_dated) : null
outlined " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
dense
:disable="!status"
class="full-width datepicker col-3"
:model-value="
chairman_dated != null ? date2Thai(chairman_dated) : null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -479,27 +344,11 @@ const selectRuslt = () => {
<!-- ความเหนของผอำนาจสงบรรจตามมาตรา 52 --> <!-- ความเหนของผอำนาจสงบรรจตามมาตรา 52 -->
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select <q-select class="col-xs-12 col-sm-8" dense v-model="director_id2" outlined label="ชื่อ-นามสกุล"
class="col-xs-12 col-sm-8" disable :options="optionDirector" option-label="name" />
dense
v-model="director_id2"
outlined
label="ชื่อ-นามสกุล"
:disable="!status"
:options="optionDirector"
option-label="name"
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker <datepicker menu-class-name="modalfix" v-model="director1_dated" :locale="'th'" autoApply borderless
menu-class-name="modalfix" :readonly="!status" :enableTimePicker="false" week-start="0">
v-model="director1_dated"
:locale="'th'"
autoApply
borderless
:readonly="!status"
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -507,25 +356,12 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="director1_dated != null
outlined ? date2Thai(director1_dated)
dense : null
:disable="!status" " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
class="full-width datepicker col-3"
:model-value="
director1_dated != null
? date2Thai(director1_dated)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -541,27 +377,11 @@ const selectRuslt = () => {
<!-- อำนาจสงบรรจตามมาตรา 52 --> <!-- อำนาจสงบรรจตามมาตรา 52 -->
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select <q-select class="col-xs-12 col-sm-8" dense v-model="director_id3" outlined label="ชื่อ-นามสกุล"
class="col-xs-12 col-sm-8" :options="optionDirector" disable option-label="name" />
dense
v-model="director_id3"
outlined
label="ชื่อ-นามสกุล"
:options="optionDirector"
:disable="!status"
option-label="name"
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker <datepicker menu-class-name="modalfix" v-model="director2_dated" :locale="'th'" autoApply
menu-class-name="modalfix" :readonly="!status" borderless :enableTimePicker="false" week-start="0">
v-model="director2_dated"
:locale="'th'"
autoApply
:readonly="!status"
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -569,25 +389,12 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="director2_dated != null
outlined ? date2Thai(director2_dated)
dense : null
:disable="!status" " :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
class="full-width datepicker col-3"
:model-value="
director2_dated != null
? date2Thai(director2_dated)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon <q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>

View file

@ -41,7 +41,7 @@ const fecthAssign = async (id: string) => {
.get(config.API.formevaluate(id)) .get(config.API.formevaluate(id))
.then(async (res: any) => { .then(async (res: any) => {
await fecthdataAssign(res.data.data); await fecthdataAssign(res.data.data);
fullname.value = res.data.data.person.name; fullname.value = res.data.data.experimentee ? res.data.data.experimentee.name : "";
dataArrayNumber.value = 1; dataArrayNumber.value = 1;
}) })
.catch((e: any) => { .catch((e: any) => {

View file

@ -52,7 +52,7 @@ const fecthAssign = async (id: string) => {
await fecthdataAssign(res.data.data); await fecthdataAssign(res.data.data);
evaluate.value = assignStore.evaluate; evaluate.value = assignStore.evaluate;
tabs.value = evaluate.value; tabs.value = evaluate.value;
fullname.value = res.data.data.person.name; fullname.value = res.data.data.experimentee ? res.data.data.experimentee.name : "";
dataArrayNumber.value = 1; dataArrayNumber.value = 1;
}) })
.catch((e: any) => { .catch((e: any) => {

View file

@ -47,7 +47,7 @@ const fecthAssign = async (id: string) => {
.then(async (res: any) => { .then(async (res: any) => {
await fecthdataAssign(res.data.data); await fecthdataAssign(res.data.data);
evaluate.value = assignStore.evaluate; evaluate.value = assignStore.evaluate;
fullname.value = res.data.data.person.name; fullname.value = res.data.data.experimentee ? res.data.data.experimentee.name : "";
tabs.value = evaluate.value; tabs.value = evaluate.value;
dataArrayNumber.value = 1; dataArrayNumber.value = 1;
}) })

View file

@ -94,7 +94,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "probation_status", name: "probation_status",
align: "left", align: "left",
label: "สถานะทดลองงาน", label: "สถานะการทดลองงาน",
sortable: true, sortable: true,
field: "probation_status", field: "probation_status",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -251,7 +251,7 @@ const findlist = async (id: string) => {
position: e.position, position: e.position,
level: e.positionEmployeeLevel, level: e.positionEmployeeLevel,
organizationOrganization: e.oc, organizationOrganization: e.oc,
status: statusProbation(e.probation), status: e.probation,
})); }));
modal.value = true; modal.value = true;
}; };
@ -306,14 +306,6 @@ const statusProbationMain = (val: number) => {
return " "; return " ";
} }
}; };
const statusProbation = (val: boolean) => {
switch (val) {
case true:
return "ทดลองงาน";
default:
return " ";
}
};
// //
const filterKeyword = ref<string>(""); const filterKeyword = ref<string>("");
@ -482,6 +474,9 @@ const paginationLabel2 = (start: string, end: string, total: string) => {
<div v-if="col.name == 'no'"> <div v-if="col.name == 'no'">
{{ props.rowIndex + 1 }} {{ props.rowIndex + 1 }}
</div> </div>
<div v-else-if="col.name == 'status'">
<q-icon v-if="col.value === true" name="mdi-check" color="positive" />
</div>
<div v-else> <div v-else>
{{ col.value }} {{ col.value }}
</div> </div>