Merge branch 'develop' into warunee-dev

This commit is contained in:
Warunee Tamkoo 2023-09-26 16:48:33 +07:00
commit 3acd86c45b
6 changed files with 491 additions and 145 deletions

View file

@ -226,7 +226,7 @@ const putformData = () => {
dialogConfirm($q, async () => {
await http
.post(config.API.createformCommader(assignId.value), data)
.then((res: any) => {
.then(() => {
success($q, "บันทึกสำเร็จ");
router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
})

View file

@ -342,7 +342,7 @@ const putformData = () => {
dialogConfirm($q, async () => {
await http
.post(config.API.createformChairman(assignId.value), data)
.then((res: any) => {
.then(() => {
success($q, "บันทึกสำเร็จ");
router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
})

View file

@ -9,7 +9,7 @@ import { useRoute, useRouter } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue"
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
const $q = useQuasar();
const route = useRoute();
@ -57,7 +57,9 @@ const fecthFormdata = async (id: string) => {
person.value = res.data.data.person;
assign.value = res.data.data.assign;
option.value.push(res.data.data.director);
Autherise.value = res.data.data.director.name + ` (${res.data.data.director.PositionLineName}, ${res.data.data.director.PositionLevelName}, ${res.data.data.director.Oc})`;
Autherise.value =
res.data.data.director.name +
` (${res.data.data.director.PositionLineName}, ${res.data.data.director.PositionLevelName}, ${res.data.data.director.Oc})`;
list1_1.value = res.data.data.assign_output;
res.data.data.assign_output.forEach((e: any) => {
@ -75,11 +77,10 @@ const fecthFormdata = async (id: string) => {
}));
checkArray.value = list1_1.value.length;
})
.catch((e: any) => { });
.catch((e: any) => {});
};
const list1_1 = ref<any>([
]);
const list1_1 = ref<any>([]);
const list1_2 = [{ id: "", label: "" }];
const list2_1 = probationStore.behavior_no1;
@ -91,8 +92,7 @@ const option = ref<any>([]);
// part 1
const evaluate_expenct_level = ref<any>([]);
const evaluate_ouptut = ref<any>([
]);
const evaluate_ouptut = ref<any>([]);
const knowledge_level = ref<number>(0);
const skill_level = ref<number>(0);
const competency_level = ref<number>(0);
@ -169,7 +169,7 @@ const savaForm = () => {
if (
lengthevaluate_expenct_level.value !==
evaluate_expenct_level.value.length ||
evaluate_expenct_level.value.length ||
lengthevaluate_ouptut.value !== evaluate_ouptut.value.length ||
knowledge_level.value === 0 ||
skill_level.value === 0 ||
@ -280,7 +280,7 @@ const putformData = () => {
const saveformdata = async (data: any) => {
await http
.post(config.API.createformevaluate(assignId.value), data)
.then((res: any) => {
.then(() => {
success($q, "บันทึกสำเร็จ");
router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
})
@ -338,8 +338,19 @@ const getBordered = (i: boolean) => {
<template>
<q-card class="my-card" flat bordered>
<q-toolbar>
<div class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md">
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" @click="router.go(-1)" />
<div
class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md"
>
<q-btn
icon="mdi-arrow-left"
unelevated
round
dense
flat
color="primary"
class="q-mr-sm"
@click="router.go(-1)"
/>
การทดลองปฏหนาทราชการของ {{ person.name }}
</div>
</q-toolbar>
@ -350,21 +361,30 @@ const getBordered = (i: boolean) => {
<div class="col-12 row">
<div class="col-12 row text-top0">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
ทดลองปฏหนาทราชการ {{person.name}}
ทดลองปฏหนาทราชการ {{ person.name }}
</div>
<div class="col-12 q-pl-md q-pb-md">
<!-- <div class="col-12"><span class="text-top0 q-pl-sm">ตำแหน</span> {{ person.Position }}</div> -->
<div class="col-12"><span class="text-top0 q-pl-sm">ตำแหนงในสายงาน</span> {{ person.PositionLineName }}</div>
<div class="col-12"><span class="text-top0 q-pl-sm">ระด</span> {{ person.PositionLevelName }} </div>
<div class="col-12"><span class="text-top0 q-pl-sm">งก</span> {{ person.Oc }}</div>
<div class="col-12">
<span class="text-top0 q-pl-sm">ตำแหนงในสายงาน</span>
{{ person.PositionLineName }}
</div>
<div class="col-12">
<span class="text-top0 q-pl-sm">ระด</span>
{{ person.PositionLevelName }}
</div>
<div class="col-12">
<span class="text-top0 q-pl-sm">งก</span> {{ person.Oc }}
</div>
</div>
<div class="col-12 text-top0 row items-center">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
การทดลองปฎหนาทราชการ<span class="text-primary q-pr-sm">{{
"ครั้งที่ " + assign.round_no
}}</span> งแตนท
}}</span>
งแตนท
<span class="text-black q-px-sm">{{
date2Thai(assign.date_start)
}}</span>
@ -408,18 +428,29 @@ const getBordered = (i: boolean) => {
<div class="col-xs-12 col-sm-11 col-md-10 offset-md-1 text-top2">
ผลผลตของงานทคาดหว
</div>
<q-card flat bordered :class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[0].value),
]">
<q-card
flat
bordered
:class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[0].value),
]"
>
<q-list dense v-for="(list, i) in list1_1" :key="i">
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>{{ list.output_desc }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="evaluate_expenct_level[i].level" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="evaluate_expenct_level[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -446,20 +477,40 @@ const getBordered = (i: boolean) => {
<div class="col-xs-12 col-sm-11 col-md-10 offset-md-1 text-top2">
ผลผลตของงานทเกดขนจร
</div>
<q-card flat bordered :class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[1].value),
]">
<q-card
flat
bordered
:class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[1].value),
]"
>
<q-list dense v-for="(list, i) in list1_2" :key="i">
<q-item dense tag="label" v-ripple v-if="i < checkArray">
<q-item-section>
<!-- <q-item-label>{{ list.label }}</q-item-label> -->
<q-input outlined dense v-model="evaluate_ouptut[i].text" lazy-rules autogrow
label="ผลผลิตของงานที่เกิดขึ้นจริง" hide-bottom-space :row="1" :rules="evaluate_ouptutRules" />
<q-input
outlined
dense
v-model="evaluate_ouptut[i].text"
lazy-rules
autogrow
label="ผลผลิตของงานที่เกิดขึ้นจริง"
hide-bottom-space
:row="1"
:rules="evaluate_ouptutRules"
/>
</q-item-section>
<q-item-section side>
<q-rating v-model="evaluate_ouptut[i].level" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="evaluate_ouptut[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -486,15 +537,27 @@ const getBordered = (i: boolean) => {
<div class="col-12 row">
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[2].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[2].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.2. ความรความสามารถ</q-item-label>
1.2. ความรความสามารถ</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="knowledge_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="knowledge_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -518,15 +581,27 @@ const getBordered = (i: boolean) => {
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[3].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[3].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.3. กษะ</q-item-label>
1.3. กษะ</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="skill_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -550,15 +625,27 @@ const getBordered = (i: boolean) => {
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[4].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[4].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.4. สมมรถนะ</q-item-label>
1.4. สมมรถนะ</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="competency_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -582,15 +669,27 @@ const getBordered = (i: boolean) => {
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[5].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[5].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.5. ความสามารถในการเรยนรงาน</q-item-label>
1.5. ความสามารถในการเรยนรงาน</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="learn_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -614,16 +713,28 @@ const getBordered = (i: boolean) => {
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[6].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[6].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.6.
ความสามารถในการปรบใชความรบงานในหนาท</q-item-label>
ความสามารถในการปรบใชความรบงานในหนาท</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="apply_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -647,15 +758,27 @@ const getBordered = (i: boolean) => {
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[7].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[7].value)"
>
<q-item-section>
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.7. ความสำเรจของงานทไดบมอบหมาย</q-item-label>
1.7. ความสำเรจของงานทไดบมอบหมาย</q-item-label
>
</q-item-section>
<q-item-section side>
<q-rating v-model="success_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -684,30 +807,53 @@ const getBordered = (i: boolean) => {
<q-item-label>
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.8 นๆ
<q-checkbox class="q-ml-sm" dense v-model="etc" @click="
(achievement_other.text = ''),
(achievement_other.level = 0)
" /></q-item-label>
<q-checkbox
class="q-ml-sm"
dense
v-model="etc"
@click="
(achievement_other.text = ''),
(achievement_other.level = 0)
"
/></q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-card>
<q-card v-if="etc" class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-mt-sm q-pl-lg">
<q-card
v-if="etc"
class="text-top0 col-xs-12 col-sm-11 q-pa-sm q-mt-sm q-pl-lg"
>
<q-list dense>
<q-item dense tag="label" v-ripple>
<q-item-section class="q-ml-md">
<q-item-label>
<q-input v-model="achievement_other.text" label="กรอกอื่นๆ" dense lazy-rules autogrow
hide-bottom-space outlined class="bg-white" :rules="[
<q-input
v-model="achievement_other.text"
label="กรอกอื่นๆ"
dense
lazy-rules
autogrow
hide-bottom-space
outlined
class="bg-white"
:rules="[
(val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ',
]" />
]"
/>
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="achievement_other.level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
@ -736,17 +882,35 @@ const getBordered = (i: boolean) => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
ดเด (ไมเก 5 บรรท)
</div>
<q-input outlined dense v-model="achievement_strength_desc"
class="col-xs-12 col-sm-11 col-md-10 offset-md-1" lazy-rules type="textarea" label="กรอกจุดเด่น"
hide-bottom-space :row="5" :rules="achievement_strengthRules" ref="achievement_strengthRef" />
<q-input
outlined
dense
v-model="achievement_strength_desc"
class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
lazy-rules
type="textarea"
label="กรอกจุดเด่น"
hide-bottom-space
:row="5"
:rules="achievement_strengthRules"
ref="achievement_strengthRef"
/>
</div>
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
งทควรปรบปร (ไมเก 5 บรรท)
</div>
<q-input outlined dense v-model="achievement_improve_desc" class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
type="textarea" hide-bottom-space label="กรอกสิ่งที่ควรปรับปรุง" :row="5" />
<q-input
outlined
dense
v-model="achievement_improve_desc"
class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
type="textarea"
hide-bottom-space
label="กรอกสิ่งที่ควรปรับปรุง"
:row="5"
/>
</div>
</div>
@ -763,29 +927,44 @@ const getBordered = (i: boolean) => {
2.1 ความประพฤต
</div>
<q-card flat bordered :class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[8].value),
]">
<q-card
flat
bordered
:class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[8].value),
]"
>
<q-list dense v-for="(list, i) in list2_1" :key="i">
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="conduct_level[i]" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
@ -802,29 +981,44 @@ const getBordered = (i: boolean) => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.2 ความมณธรรมจรยธรรม
</div>
<q-card flat bordered :class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[9].value),
]">
<q-card
flat
bordered
:class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[9].value),
]"
>
<q-list dense v-for="(list, i) in list2_2" :key="i">
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="moral_level[i]" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
@ -841,29 +1035,44 @@ const getBordered = (i: boolean) => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.3 การรกษาว
</div>
<q-card flat bordered :class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[10].value),
]">
<q-card
flat
bordered
:class="[
'col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1',
getBordered(alerts[10].value),
]"
>
<q-list dense v-for="(list, i) in list2_3" :key="i">
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="discipline_level[i]" :val="list.id" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
@ -879,36 +1088,65 @@ const getBordered = (i: boolean) => {
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.4 นๆ
<q-checkbox class="q-ml-sm" dense v-model="etc2" @click="
(behavio_orther.text = ''), (behavio_orther.level = 0)
" />
<q-checkbox
class="q-ml-sm"
dense
v-model="etc2"
@click="
(behavio_orther.text = ''), (behavio_orther.level = 0)
"
/>
</div>
<q-card v-if="etc2" flat bordered class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1">
<q-card
v-if="etc2"
flat
bordered
class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
>
<q-list dense>
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>
<q-input v-model="behavio_orther.text" label="กรอกอื่นๆ" dense lazy-rules autogrow
hide-bottom-space outlined class="bg-white" :rules="[
<q-input
v-model="behavio_orther.text"
label="กรอกอื่นๆ"
dense
lazy-rules
autogrow
hide-bottom-space
outlined
class="bg-white"
:rules="[
(val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ',
]" />
]"
/>
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating v-model="behavio_orther.level" max="5" size="sm" color="grey"
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
@ -926,17 +1164,35 @@ const getBordered = (i: boolean) => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
ดเด (ไมเก 5 บรรท)
</div>
<q-input outlined dense v-model="behavior_strength_desc" class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
lazy-rules type="textarea" label="กรอกจุดเด่น" hide-bottom-space :row="5" :rules="behavio_strengthRules"
ref="behavio_strengthRef" />
<q-input
outlined
dense
v-model="behavior_strength_desc"
class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
lazy-rules
type="textarea"
label="กรอกจุดเด่น"
hide-bottom-space
:row="5"
:rules="behavio_strengthRules"
ref="behavio_strengthRef"
/>
</div>
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
งทควรปรบปร (ไมเก 5 บรรท)
</div>
<q-input outlined dense v-model="behavior_improve_desc" class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
type="textarea" hide-bottom-space label="กรอกสิ่งที่ควรปรับปรุง" :row="5" />
<q-input
outlined
dense
v-model="behavior_improve_desc"
class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
type="textarea"
hide-bottom-space
label="กรอกสิ่งที่ควรปรับปรุง"
:row="5"
/>
</div>
</div>
</div>
@ -949,61 +1205,122 @@ const getBordered = (i: boolean) => {
<q-avatar class="bg-grey-2 q-mr-sm" size="28px">3</q-avatar>
การพฒนาผทดลองปฏหนาทราชการ
</div>
<q-card flat bordered class="col-xs-12 col-sm-11 col-md-11 q-pa-sm bg-grey-1">
<q-card
flat
bordered
class="col-xs-12 col-sm-11 col-md-11 q-pa-sm bg-grey-1"
>
<q-list dense>
<q-item dense tag="label" v-ripple :class="getBordered(alerts[11].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[11].value)"
>
<q-item-section>
<q-item-label>1. การปฐมนเทศ</q-item-label>
</q-item-section>
<q-item-section side>
<div class="row">
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="orientation" val="1"
label="ดำเนินการเเล้ว" />
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="orientation" val="0"
label=" ยังไม่ได้ดำเนินการ" />
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="orientation"
val="1"
label="ดำเนินการเเล้ว"
/>
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="orientation"
val="0"
label=" ยังไม่ได้ดำเนินการ"
/>
</div>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" />
<q-item dense tag="label" v-ripple :class="getBordered(alerts[12].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[12].value)"
>
<q-item-section>
<q-item-label>2. การเรยนรวยตนเอง</q-item-label>
</q-item-section>
<q-item-section side>
<div class="row">
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="self_learning"
val="1" label="ดำเนินการเเล้ว" />
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="self_learning"
val="0" label=" ยังไม่ได้ดำเนินการ" />
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="self_learning"
val="1"
label="ดำเนินการเเล้ว"
/>
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="self_learning"
val="0"
label=" ยังไม่ได้ดำเนินการ"
/>
</div>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" />
<q-item dense tag="label" v-ripple :class="getBordered(alerts[13].value)">
<q-item
dense
tag="label"
v-ripple
:class="getBordered(alerts[13].value)"
>
<q-item-section>
<q-item-label>3. การอบรมสมนารวมก</q-item-label>
</q-item-section>
<q-item-section side>
<div class="row">
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="training_seminar"
val="1" label="ดำเนินการเเล้ว" />
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="training_seminar"
val="0" label=" ยังไม่ได้ดำเนินการ" />
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="training_seminar"
val="1"
label="ดำเนินการเเล้ว"
/>
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="training_seminar"
val="0"
label=" ยังไม่ได้ดำเนินการ"
/>
</div>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" />
<q-item dense tag="label" v-ripple>
<q-item-section>
<q-item-label>4. การอบรมอ ตามทหนวยงานกำหนด
(าม)</q-item-label>
<q-item-label
>4. การอบรมอ ตามทหนวยงานกำหนด
(าม)</q-item-label
>
</q-item-section>
<q-item-section side>
<div class="row">
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="other_training"
val="1" label="ดำเนินการเเล้ว" />
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="other_training"
val="0" label=" ยังไม่ได้ดำเนินการ" />
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="other_training"
val="1"
label="ดำเนินการเเล้ว"
/>
<q-radio
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="other_training"
val="0"
label=" ยังไม่ได้ดำเนินการ"
/>
</div>
</q-item-section>
</q-item>
@ -1020,11 +1337,26 @@ const getBordered = (i: boolean) => {
งคบบญชา/มอบหมายงาน
</div>
<div class="col-12 row q-col-gutter-md">
<q-select class="col-xs-12 col-sm-8" dense v-model="Autherise" outlined :options="option"
label="ผู้บังคับบัญชา" option-label="name" disable />
<q-select
class="col-xs-12 col-sm-8"
dense
v-model="Autherise"
outlined
:options="option"
label="ผู้บังคับบัญชา"
option-label="name"
disable
/>
<div class="col-xs-12 col-sm-4">
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
:enableTimePicker="false" week-start="0">
<datepicker
menu-class-name="modalfix"
v-model="dateAutherise"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }">
{{ year + 543 }}
</template>
@ -1032,12 +1364,24 @@ const getBordered = (i: boolean) => {
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null
? date2Thai(dateAutherise)
: null
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]">
<q-input
outlined
dense
class="full-width datepicker col-3"
:model-value="
dateAutherise != null
? date2Thai(dateAutherise)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>

View file

@ -284,7 +284,7 @@ const putformData = () => {
const saveformdata = async (data: any) => {
await http
.post(config.API.formevaluateCommander(assignId.value), data)
.then((res: any) => {
.then(() => {
success($q, "บันทึกสำเร็จ");
router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
})

View file

@ -52,7 +52,9 @@ const activeTab = ref<string>("");
const personalId = ref<string>(route.params.personalId.toString());
onMounted(() => {
activeTab.value = DataStore.mainTab;
if (DataStore.mainTab) {
activeTab.value = DataStore.mainTab;
} else activeTab.value = "tab1";
});
const changeTab = (tab: string) => {
DataStore.mainTab = tab;

View file

@ -5,7 +5,7 @@ export const useProbationDataStore = defineStore("probationStore", () => {
const assign = ref<any>([])
const evaluate = ref<any>([])
const tabs = ref<any>([]);
const mainTab = ref<string>('tab1')
const mainTab = ref<string>('')
const assignOutput = ref<any>([])
const director = ref<any>([])