แก้ form ทดลองงาน

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-09-01 18:18:09 +07:00
parent f9d8d9486e
commit f194efe064
5 changed files with 794 additions and 273 deletions

View file

@ -650,19 +650,26 @@ const getAssign = async () => {
await http.get(config.API.probationsGetAssign(assignId.value)).then((res) => { await http.get(config.API.probationsGetAssign(assignId.value)).then((res) => {
status.value = false; status.value = false;
const data = res.data.data; const data = res.data.data;
console.log(data);
fullname.value = data.profile.name; fullname.value = data.profile.name;
position.value = data.profile.OrganizationOrganization; position.value = data.profile.OrganizationOrganization;
date_start.value = data.assign.date_start; date_start.value = data.assign.date_start;
date_finish.value = data.assign.date_finish; date_finish.value = data.assign.date_finish;
date1.value = data.assign.experimenter_dated; date1.value = data.assign.experimenter_dated;
date2.value = data.mentors[0].dated; if (data.mentors.length > 1) {
date3.value = data.mentors[1].dated; date3.value = data.mentors[1].dated;
caretaker2.value = data.mentors[1];
} else {
date2.value = data.mentors[0].dated;
caretaker1.value = data.mentors[0];
}
date4.value = data.commander.dated; date4.value = data.commander.dated;
activity_desc.value = data.jobs.map((job: any) => job.activity_desc); activity_desc.value = data.jobs.map((job: any) => job.activity_desc);
goal_desc.value = data.jobs.map((job: any) => job.goal_desc); goal_desc.value = data.jobs.map((job: any) => job.goal_desc);
activityCount.value = data.jobs.length; activityCount.value = data.jobs.length;
caretaker1.value = data.mentors[0];
caretaker2.value = data.mentors[1];
chairman.value = data.chairman; chairman.value = data.chairman;
commander.value = data.commander; commander.value = data.commander;
knowledge.value = data.knowledges.map((id: any) => id.id); knowledge.value = data.knowledges.map((id: any) => id.id);

View file

@ -104,7 +104,7 @@ onMounted(async () => {
if (props.tab && props.action == "edit") { if (props.tab && props.action == "edit") {
evaluate_no.value = Number(props.tab.charAt(4)); evaluate_no.value = Number(props.tab.charAt(4));
dataArr.value = await props.data; dataArr.value = await props.data;
// fecthAssign(); fecthAssign();
fetchEvaluate(); fetchEvaluate();
} }
}); });
@ -113,39 +113,39 @@ watch(props, async () => {
if (props.tab && props.action == "edit") { if (props.tab && props.action == "edit") {
evaluate_no.value = Number(props.tab.charAt(4)); evaluate_no.value = Number(props.tab.charAt(4));
dataArr.value = await props.data; dataArr.value = await props.data;
// fecthAssign(); fecthAssign();
fetchEvaluate(); fetchEvaluate();
} }
}); });
// const fecthAssign = async () => { const fecthAssign = async () => {
// showLoader(); showLoader();
// await http await http
// .get(config.API.evaluateCreate(assignId.value)) .get(config.API.evaluateCreate(assignId.value))
// .then(async (res: any) => { .then(async (res: any) => {
// console.log(res); console.log(res);
if (props.action == "add") {
// if (props.action == "add") { person.value = res.data.data.person;
// person.value = res.data.data.person; // assign.value = res.data.data.assign;
// // assign.value = res.data.data.assign; commander.value = res.data.data.commander;
// commander.value = res.data.data.commander; option.value.push(commander.value);
// option.value.push(commander.value); Autherise.value = commander.value.name;
// Autherise.value = commander.value.name; evaluate_no.value = res.data.data.evaluate_no;
// evaluate_no.value = res.data.data.evaluate_no; start_date.value = res.data.data.start_date;
// start_date.value = res.data.data.start_date; date_finish.value = res.data.data.end_date;
// date_finish.value = res.data.data.end_date; }
// } Autherise.value = res.data.data.commander.name
// }) })
// .catch((e) => { .catch((e) => {
// messageError($q, e); messageError($q, e);
// }) })
// .finally(() => { .finally(() => {
// if (props.action == "edit") { if (props.action == "edit") {
// fetchEvaluate(); fetchEvaluate();
// } }
// hideLoader(); hideLoader();
// }); });
// }; };
const fetchEvaluate = async () => { const fetchEvaluate = async () => {
// showLoader(); // showLoader();
try { try {

View file

@ -58,6 +58,7 @@ onMounted(async () => {
evaluate_no.value = Number(props.tab.charAt(4)); evaluate_no.value = Number(props.tab.charAt(4));
dataArr.value = await props.data; dataArr.value = await props.data;
await fetchEvaluate(); await fetchEvaluate();
await fecthAssign();
} }
}); });
@ -66,34 +67,39 @@ watch(props, async () => {
evaluate_no.value = Number(props.tab.charAt(4)); evaluate_no.value = Number(props.tab.charAt(4));
dataArr.value = await props.data; dataArr.value = await props.data;
await fetchEvaluate(); await fetchEvaluate();
await fecthAssign();
} }
}); });
// const fecthAssign = async () => { const fecthAssign = async () => {
// showLoader(); showLoader();
// await http await http
// .get(config.API.evaluateChairman(assignId.value)) .get(config.API.evaluateChairman(assignId.value))
// .then(async (res: any) => { .then(async (res: any) => {
// if (props.action == "add") { if (props.action == "add") {
// assign.value = res.data.data.assign; assign.value = res.data.data.assign;
// evaluate_no.value = res.data.data.evaluate_no; evaluate_no.value = res.data.data.evaluate_no;
// start_date.value = res.data.data.start_date; start_date.value = res.data.data.start_date;
// date_finish.value = res.data.data.end_date; date_finish.value = res.data.data.end_date;
// chairman.value = res.data.data.chairman; chairman.value = res.data.data.chairman;
// commander.value = res.data.data.commander; commander.value = res.data.data.commander;
// mentors.value = res.data.data.mentors; mentors.value = res.data.data.mentors;
// } }
// }) chairman.value = res.data.data.chairman;
// .catch((e) => { commander.value = res.data.data.commander;
// messageError($q, e); mentors.value = res.data.data.mentors;
// }) console.log(commander.value.name);
// .finally(() => { })
// if (props.action == "edit") { .catch((e) => {
// fetchEvaluate(); messageError($q, e);
// } })
// hideLoader(); .finally(() => {
// }); if (props.action == "edit") {
// }; fetchEvaluate();
}
hideLoader();
});
};
const fetchEvaluate = async () => { const fetchEvaluate = async () => {
// showLoader(); // showLoader();
@ -1324,7 +1330,7 @@ const putformData = () => {
<div class="row col-12 q-gutter-lg no-margin justify-center"> <div class="row col-12 q-gutter-lg no-margin justify-center">
<div class="col-xs-12 col-sm-11"> <div class="col-xs-12 col-sm-11">
<div class="col-12 text-top2 row items-center"> <div class="col-12 text-top2 row items-center">
งคบบญชาผมอบหมายงาน งคบบญชาผมอบหมายงาน {{ commander.name }}
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select <q-select
@ -1338,7 +1344,7 @@ const putformData = () => {
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
v-model="dateAutherise" v-model="commander.dated"
:locale="'th'" :locale="'th'"
autoApply autoApply
borderless borderless
@ -1360,7 +1366,7 @@ const putformData = () => {
hide-bottom-space hide-bottom-space
class="full-width datepicker col-3" class="full-width datepicker col-3"
:model-value=" :model-value="
dateAutherise != null ? date2Thai(dateAutherise) : null commander.dated != null ? date2Thai(commander.dated) : null
" "
:label="`${'ลงวันที่'}`" :label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
@ -1378,15 +1384,15 @@ const putformData = () => {
</datepicker> </datepicker>
</div> </div>
<q-select <!-- <q-select
class="col-xs-12 col-sm-8" class="col-xs-12 col-sm-8"
dense dense
v-model="mentors[0].name" v-model="mentors[0].name"
outlined outlined
label="ผู้บังคับบัญชา" label="ผู้บังคับบัญชา"
disable disable
/> /> -->
<div class="col-xs-12 col-sm-4"> <!-- <div class="col-xs-12 col-sm-4">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
v-model="dateAutherise" v-model="dateAutherise"
@ -1427,17 +1433,17 @@ const putformData = () => {
</q-input> </q-input>
</template> </template>
</datepicker> </datepicker>
</div> </div> -->
<q-select <!-- <q-select
class="col-xs-12 col-sm-8" class="col-xs-12 col-sm-8"
dense dense
v-model="mentors[1].name" v-model="mentors[1].name"
outlined outlined
label="ผู้บังคับบัญชา" label="ผู้บังคับบัญชา"
disable disable
/> /> -->
<div class="col-xs-12 col-sm-4"> <!-- <div class="col-xs-12 col-sm-4">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
v-model="dateAutherise" v-model="dateAutherise"
@ -1477,8 +1483,65 @@ const putformData = () => {
</template> </template>
</q-input> </q-input>
</template> </template>
</datepicker> </datepicker> -->
</div> <!-- </div> -->
</div>
<div
class="col-12 row q-col-gutter-md q-mt-sm"
v-for="(mentor, index) in mentors"
>
<q-select
:key="index"
class="col-xs-12 col-sm-8"
hide-bottom-space
dense
v-model="mentors[index].name"
outlined
label="ผู้บังคับบัญชา"
disable
/>
<datepicker
class="col-xs-12 col-sm-4"
:readonly="!status"
menu-class-name="modalfix"
v-model="mentors[index].dated"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }">
{{ year + 543 }}
</template>
<template #year-overlay-value="{ value }">
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input
hide-bottom-space
outlined
dense
class="full-width datepicker col-3"
:model-value="
mentors[index].dated != null
? date2Thai(mentors[index].dated)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
</div> </div>
</div> </div>
</div> </div>

View file

@ -34,7 +34,7 @@ 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: "", dated: "" }]);
onMounted(() => { onMounted(() => {
fecthAssign(assignId.value); fecthAssign(assignId.value);
@ -44,6 +44,7 @@ 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) => {
console.log(res);
person.value = await res.data.data.person; person.value = await res.data.data.person;
assign.value = await res.data.data.assign; assign.value = await res.data.data.assign;
evaluate_no.value = await res.data.data.evaluate_no; evaluate_no.value = await res.data.data.evaluate_no;
@ -51,7 +52,12 @@ const fecthAssign = async (id: string) => {
date_finish.value = await res.data.data.end_date; date_finish.value = await res.data.data.end_date;
chairman.value = await res.data.data.chairman; chairman.value = await res.data.data.chairman;
commander.value = await res.data.data.commander; commander.value = await res.data.data.commander;
mentors.value = await res.data.data.mentors; mentors.value = res.data.data.mentors.map((e: any) => ({
name: e.name,
dated: e.dated,
}));
console.log(mentors.value);
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);
@ -337,9 +343,7 @@ const putformData = () => {
.post(config.API.createformChairman(assignId.value), data) .post(config.API.createformChairman(assignId.value), data)
.then((res: any) => { .then((res: any) => {
success($q, "บันทึกสำเร็จ"); success($q, "บันทึกสำเร็จ");
router.push( router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
`/probation/detail/${personalId.value}/${assignId.value}`
);
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
@ -351,14 +355,24 @@ const putformData = () => {
<template> <template>
<q-card class="my-card" flat bordered> <q-card class="my-card" flat bordered>
<q-toolbar> <q-toolbar>
<div class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md"> <div
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md"
@click="router.go(-1)" /> >
<q-btn
icon="mdi-arrow-left"
unelevated
round
dense
flat
color="primary"
class="q-mr-sm"
@click="router.go(-1)"
/>
การทดลองปฏหนาทราชการของ {{ person.name }} การทดลองปฏหนาทราชการของ {{ person.name }}
</div> </div>
</q-toolbar> </q-toolbar>
<q-separator /> <q-separator />
<q-card-section > <q-card-section>
<div class="row col-12 no-margin q-px-md q-pt-sm"> <div class="row col-12 no-margin q-px-md q-pt-sm">
<div class="toptitle text-dark col-12 row items-center"> <div class="toptitle text-dark col-12 row items-center">
<div>แบบประเมนผล (คณะกรรมการ)</div> <div>แบบประเมนผล (คณะกรรมการ)</div>
@ -379,7 +393,9 @@ 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">{{ `ครั้งที่ ${evaluate_no}` }}</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)
@ -407,11 +423,18 @@ const putformData = () => {
<q-item-section> <q-item-section>
<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.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 v-model="learn_level" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -440,11 +463,18 @@ 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.2. 1.2.
ความสามารถในการปรบใชความรบงานในหนาท</q-item-label> ความสามารถในการปรบใชความรบงานในหนาท</q-item-label
>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating v-model="apply_level" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -472,11 +502,18 @@ const putformData = () => {
<q-item-section> <q-item-section>
<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.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 v-model="success_level" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -505,30 +542,53 @@ 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 class="q-ml-sm" dense v-model="etc" @click=" <q-checkbox
(achievement_other.text = ''), class="q-ml-sm"
(achievement_other.level = 0) dense
" /></q-item-label> v-model="etc"
@click="
(achievement_other.text = ''),
(achievement_other.level = 0)
"
/></q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-card> </q-card>
<q-card v-if="etc" class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg"> <q-card
v-if="etc"
class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg"
>
<q-list dense> <q-list dense>
<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 v-model="achievement_other.text" label="กรอกอื่นๆ" dense lazy-rules <q-input
autogrow hide-bottom-space outlined class="bg-white" :rules="[ v-model="achievement_other.text"
label="กรอกอื่นๆ"
dense
lazy-rules
autogrow
hide-bottom-space
outlined
class="bg-white"
:rules="[
(val) => (val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ', (val && val.length > 0) || 'กรุณากรอกข้อความ',
]" /> ]"
/>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating v-model="achievement_other.level" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -551,7 +611,7 @@ const putformData = () => {
</q-card> </q-card>
<div class="text-top0 col-xs-12 col-sm-11 q-px-lg"> <div class="text-top0 col-xs-12 col-sm-11 q-px-lg">
<div class="row col-12 justify-between q-pa-sm "> <div class="row col-12 justify-between q-pa-sm">
<div class="text-black">คะแนนรวมผลสมฤทธของการทดลองฯ</div> <div class="text-black">คะแนนรวมผลสมฤทธของการทดลองฯ</div>
<div class="text-weight-bold text-black">{{ score1 }}</div> <div class="text-weight-bold text-black">{{ score1 }}</div>
</div> </div>
@ -570,15 +630,26 @@ const putformData = () => {
<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.1 ความประพฤต 2.1 ความประพฤต
</div> </div>
<q-card flat bordered class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"> <q-card
flat
bordered
class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
>
<q-list dense v-for="(list, i) in list2_1" :key="i"> <q-list dense v-for="(list, i) in list2_1" :key="i">
<q-item dense tag="label" v-ripple> <q-item dense tag="label" v-ripple>
<q-item-section> <q-item-section>
<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 v-model="conduct_level[i]" :val="list.id" max="5" size="sm" <q-rating
color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -606,15 +677,26 @@ const putformData = () => {
<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.2 ความมณธรรมจรยธรรม 2.2 ความมณธรรมจรยธรรม
</div> </div>
<q-card flat bordered class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"> <q-card
flat
bordered
class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
>
<q-list dense v-for="(list, i) in list2_2" :key="i"> <q-list dense v-for="(list, i) in list2_2" :key="i">
<q-item dense tag="label" v-ripple> <q-item dense tag="label" v-ripple>
<q-item-section> <q-item-section>
<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 v-model="moral_level[i]" :val="list.id" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -642,15 +724,26 @@ const putformData = () => {
<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.3 การรกษาว 2.3 การรกษาว
</div> </div>
<q-card flat bordered class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"> <q-card
flat
bordered
class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
>
<q-list dense v-for="(list, i) in list2_3" :key="i"> <q-list dense v-for="(list, i) in list2_3" :key="i">
<q-item dense tag="label" v-ripple> <q-item dense tag="label" v-ripple>
<q-item-section> <q-item-section>
<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 v-model="discipline_level[i]" :val="list.id" max="5" size="sm" <q-rating
color="grey" :color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -677,25 +770,50 @@ 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 class="q-ml-sm" dense v-model="etc2" @click=" <q-checkbox
(behavio_orther.text = ''), (behavio_orther.level = 0) class="q-ml-sm"
" /> dense
v-model="etc2"
@click="
(behavio_orther.text = ''), (behavio_orther.level = 0)
"
/>
</div> </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-list dense>
<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 v-model="behavio_orther.text" label="กรอกอื่นๆ" dense lazy-rules <q-input
autogrow hide-bottom-space outlined class="bg-white" :rules="[ v-model="behavio_orther.text"
label="กรอกอื่นๆ"
dense
lazy-rules
autogrow
hide-bottom-space
outlined
class="bg-white"
:rules="[
(val) => (val) =>
(val && val.length > 0) || 'กรุณากรอกข้อความ', (val && val.length > 0) || 'กรุณากรอกข้อความ',
]" /> ]"
/>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-rating v-model="behavio_orther.level" max="5" size="sm" color="grey" <q-rating
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม"> v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1> <template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก</q-tooltip> <q-tooltip>ำกวาความคาดหวงมาก</q-tooltip>
</template> </template>
@ -717,8 +835,10 @@ const putformData = () => {
</q-list> </q-list>
</q-card> </q-card>
</div> </div>
<div class="text-top0 col-xs-12 col-sm-11 q-pt-sm q-px-md q-my-none"> <div
<div class="row col-12 justify-between q-py-sm "> class="text-top0 col-xs-12 col-sm-11 q-pt-sm q-px-md q-my-none"
>
<div class="row col-12 justify-between q-py-sm">
<div class="text-black">คะแนนรวมพฤตกรรมการปฎราชการ</div> <div class="text-black">คะแนนรวมพฤตกรรมการปฎราชการ</div>
<div class="text-weight-bold text-black">{{ score2 }}</div> <div class="text-weight-bold text-black">{{ score2 }}</div>
</div> </div>
@ -740,7 +860,8 @@ 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" />
3.1. 3.1.
ผลสมฤทธของการทดลองปฏหนาทราชการ</q-item-label> ผลสมฤทธของการทดลองปฏหนาทราชการ</q-item-label
>
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label style="color: gray"> <q-item-label style="color: gray">
@ -773,7 +894,8 @@ 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" />
3.2. 3.2.
พฤตกรรมของผทดลองปฏหนาทราชการ</q-item-label> พฤตกรรมของผทดลองปฏหนาทราชการ</q-item-label
>
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label style="color: gray"> <q-item-label style="color: gray">
@ -838,7 +960,11 @@ const putformData = () => {
<q-avatar class="bg-grey-2 q-mr-sm" size="28px">4</q-avatar> <q-avatar class="bg-grey-2 q-mr-sm" size="28px">4</q-avatar>
การพฒนาผทดลองปฏหนาทราชการ การพฒนาผทดลองปฏหนาทราชการ
</div> </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"
>
<div class="col-xs-12 col-sm-11 col-md-11 q-my-sm"> <div class="col-xs-12 col-sm-11 col-md-11 q-my-sm">
<div class="row q-gutter-md q-pl-md"> <div class="row q-gutter-md q-pl-md">
<div class="col-8 text-weight-medium">วข</div> <div class="col-8 text-weight-medium">วข</div>
@ -850,30 +976,60 @@ 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 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 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 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 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 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 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" />
@ -882,10 +1038,20 @@ const putformData = () => {
4. การอบรมอ ตามทหนวยงานกำหนด (าม) 4. การอบรมอ ตามทหนวยงานกำหนด (าม)
</div> </div>
<div class="col"> <div class="col">
<q-input outlined 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 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>
@ -987,10 +1153,12 @@ const putformData = () => {
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> --> </q-list> -->
<q-separator class="q-my-xs" /> <q-separator class="q-my-xs" />
<div class="col-xs-12 col-sm-11 col-md-11 q-my-sm"> <div class="col-xs-12 col-sm-11 col-md-11 q-my-sm">
<div class="row q-gutter-md q-pl-sm"> <div class="row q-gutter-md q-pl-sm">
<div class="col-8 text-weight-medium"><q-item-label> ผลคะแนนรวม</q-item-label></div> <div class="col-8 text-weight-medium">
<q-item-label> ผลคะแนนรวม</q-item-label>
</div>
<div class="col q-pl-md">{{ score4 }}</div> <div class="col q-pl-md">{{ score4 }}</div>
<div class="col q-pl-md">{{ score5 }}</div> <div class="col q-pl-md">{{ score5 }}</div>
</div> </div>
@ -1000,29 +1168,47 @@ const putformData = () => {
</div> </div>
<div class="row col-12 q-gutter-lg no-margin justify-center"> <div class="row col-12 q-gutter-lg no-margin justify-center">
<div class=" col-xs-12 col-sm-11 row justify-center"> <div class="col-xs-12 col-sm-11 row justify-center">
<div class="col-12 text-top0 items-center"> <div class="col-12 text-top0 items-center">
<!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> --> <!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> -->
สรปผลการพฒนา สรปผลการพฒนา
</div> </div>
<div class="col-12"> <div class="col-12">
<q-select class="col-xs-12" dense v-model="develop_result" outlined <q-select
:options="develop_result_option" option-label="name" option-value="value" class="col-xs-12"
label="เลือกสรุปผลการพัฒนา" map-options emit-value /> dense
v-model="develop_result"
outlined
:options="develop_result_option"
option-label="name"
option-value="value"
label="เลือกสรุปผลการพัฒนา"
map-options
emit-value
/>
</div> </div>
</div> </div>
</div> </div>
<div class="row col-12 q-gutter-lg no-margin justify-center"> <div class="row col-12 q-gutter-lg no-margin justify-center">
<div class=" col-xs-12 col-sm-11 row justify-center"> <div class="col-xs-12 col-sm-11 row justify-center">
<div class="col-12 text-top0 items-center"> <div class="col-12 text-top0 items-center">
<!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> --> <!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> -->
สรปผล การประเมนผลทดลองปฎหนาทราชการ สรปผล การประเมนผลทดลองปฎหนาทราชการ
</div> </div>
<div class="col-12"> <div class="col-12">
<q-select class="col-xs-12" dense v-model="evaluate_result" outlined <q-select
:options="evaluate_result_option" option-label="name" option-value="value" class="col-xs-12"
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ" map-options emit-value /> dense
v-model="evaluate_result"
outlined
:options="evaluate_result_option"
option-label="name"
option-value="value"
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ"
map-options
emit-value
/>
</div> </div>
</div> </div>
</div> </div>
@ -1030,16 +1216,32 @@ const putformData = () => {
<!-- Footer --> <!-- Footer -->
<!-- <Footer /> --> <!-- <Footer /> -->
<div class="row col-12 q-gutter-lg no-margin justify-center"> <div class="row col-12 q-gutter-lg no-margin justify-center">
<div class="col-xs-12 col-sm-11 "> <div class="col-xs-12 col-sm-11">
<div class="col-12 text-top2 row items-center"> <div class="col-12 text-top2 row items-center">
งคบบญชาผมอบหมายงาน งคบบญชาผมอบหมายงาน
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select hide-bottom-space class="col-xs-12 col-sm-8" dense v-model="commander.name" outlined label="ผู้บังคับบัญชา" <q-select
disable /> hide-bottom-space
class="col-xs-12 col-sm-8"
dense
v-model="commander.name"
outlined
label="ผู้บังคับบัญชา"
disable
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless <datepicker
:enableTimePicker="false" week-start="0" :readonly="!status"> menu-class-name="modalfix"
v-model="commander.dated"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
:readonly="!status"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -1047,59 +1249,25 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input hide-bottom-space outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input
? date2Thai(dateAutherise) hide-bottom-space
: null outlined
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> dense
class="full-width datepicker col-3"
:model-value="
commander.dated != null
? date2Thai(commander.dated)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
</q-icon> name="event"
</template> class="cursor-pointer"
</q-input> style="color: var(--q-primary)"
</template> >
</datepicker>
</div>
<q-select hide-bottom-space class="col-xs-12 col-sm-8" dense v-model="mentors[0].name" outlined label="ผู้บังคับบัญชา"
disable />
<div class="col-xs-12 col-sm-4">
<datepicker :readonly="!status" menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'"
autoApply borderless :enableTimePicker="false" week-start="0">
<template #year="{ year }">
{{ year + 543 }}
</template>
<template #year-overlay-value="{ value }">
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input hide-bottom-space 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>
</template>
</q-input>
</template>
</datepicker>
</div>
<q-select hide-bottom-space class="col-xs-12 col-sm-8" dense v-model="mentors[1].name" outlined label="ผู้บังคับบัญชา" disable />
<div class="col-xs-12 col-sm-4">
<datepicker :readonly="!status" menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'"
autoApply borderless :enableTimePicker="false" week-start="0">
<template #year="{ year }">
{{ year + 543 }}
</template>
<template #year-overlay-value="{ value }">
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input hide-bottom-space 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> </q-icon>
</template> </template>
</q-input> </q-input>
@ -1107,17 +1275,90 @@ const putformData = () => {
</datepicker> </datepicker>
</div> </div>
</div> </div>
<div
class="col-12 row q-col-gutter-md q-mt-sm"
v-for="(mentor, index) in mentors"
>
<q-select
:key="index"
class="col-xs-12 col-sm-8"
hide-bottom-space
dense
v-model="mentors[index].name"
outlined
label="ผู้บังคับบัญชา"
disable
/>
<datepicker
class="col-xs-12 col-sm-4"
:readonly="!status"
menu-class-name="modalfix"
v-model="mentors[index].dated"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }">
{{ year + 543 }}
</template>
<template #year-overlay-value="{ value }">
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input
hide-bottom-space
outlined
dense
class="full-width datepicker col-3"
:model-value="
mentors[index].dated != null
? date2Thai(mentors[index].dated)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
</div>
</div> </div>
</div> </div>
<div class="row col-12 q-gutter-lg no-margin justify-center"> <div class="row col-12 q-gutter-lg no-margin justify-center">
<div class="col-xs-12 col-sm-11 "> <div class="col-xs-12 col-sm-11">
<div class="col-12 text-top2 row items-center">คณะกรรมการ</div> <div class="col-12 text-top2 row items-center">คณะกรรมการ</div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select class="col-xs-12 col-sm-8" dense v-model="chairman.name" outlined label="คณะกรรมการ" disable /> <div class="col-xs-12 col-sm-8">
<q-select
dense
v-model="chairman.name"
outlined
label="คณะกรรมการ"
disable
/>
</div>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker :readonly="!status" menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" <datepicker
autoApply borderless :enableTimePicker="false" week-start="0"> :readonly="!status"
menu-class-name="modalfix"
v-model="dateAutherise"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -1125,12 +1366,24 @@ const putformData = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null <q-input
? date2Thai(dateAutherise) outlined
: null dense
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> class="full-width datepicker col-3"
:model-value="
dateAutherise != null
? date2Thai(dateAutherise)
: null
"
:label="`${'ลงวันที่'}`"
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
>
<template v-slot:prepend> <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> </q-icon>
</template> </template>
</q-input> </q-input>

View file

@ -47,10 +47,11 @@ const fecthAssign = async (id: string) => {
await http await http
.get(config.API.evaluateReportcreate(id)) .get(config.API.evaluateReportcreate(id))
.then((res) => { .then((res) => {
assign.value = res.data.data.assign; console.log(res);
// assign.value = res.data.data.assign;
mentors.value = res.data.data.mentors; mentors.value = res.data.data.mentors;
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.chairman.name; director_id.value = res.data.data.chairman.name;
director_id2.value = res.data.data.commander.name; director_id2.value = res.data.data.commander.name;
@ -80,12 +81,12 @@ 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(async(res: any) => { .then(async (res: any) => {
if (res.data.data != null) { if (res.data.data != null) {
const data = await res.data.data.evaluate; const data = await res.data.data.evaluate;
console.log("data ===>", data); console.log("data ===>", data);
fullname.value = res.data.data.profile.name; // fullname.value = res.data.data.profile.name;
date_start.value = data.date_start; date_start.value = data.date_start;
date_finish.value = data.date_finish; date_finish.value = data.date_finish;
develop.value = await Number(data.develop_complete); develop.value = await Number(data.develop_complete);
@ -98,7 +99,7 @@ const fecthResult = async (id: string) => {
action.value = "edit"; action.value = "edit";
} }
}) })
.catch((e) => { }); .catch((e) => {});
}; };
// part new // part new
@ -189,16 +190,27 @@ 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 v-if="!status" size="12px" flat dense icon="mdi-download" color="primary"> <q-btn
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-icon color="red" name="mdi-file-pdf" /></q-item-section> <q-item-section avatar
><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-icon color="blue" name="mdi-file-word" /></q-item-section> <q-item-section avatar
><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>
@ -207,7 +219,14 @@ const selectRuslt = () => {
<div v-if="action == 'edit'"> <div v-if="action == 'edit'">
<div v-if="status == false"> <div v-if="status == false">
<q-btn dense flat round color="primary" @click="edit()" icon="mdi-pencil-outline"> <q-btn
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>
@ -215,8 +234,15 @@ 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 dense flat round class="q-ml-sm" color="public" @click="saveEdit(assignId)" <q-btn
icon="mdi-content-save-outline"> dense
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>
@ -226,8 +252,16 @@ 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 menu-class-name="modalfix" v-model="date_start" :locale="'th'" autoApply borderless <datepicker
:readonly="!status" :enableTimePicker="false" week-start="0"> menu-class-name="modalfix"
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>
@ -235,10 +269,23 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense :disable="!status" class="full-width datepicker" :model-value="date_start != null ? date2Thai(date_start) : null <q-input
" :label="`${'ระหว่างวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"> outlined
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 name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -246,8 +293,16 @@ const selectRuslt = () => {
</datepicker> </datepicker>
</div> </div>
<div class="col-xs-12 col-sm-6"> <div class="col-xs-12 col-sm-6">
<datepicker menu-class-name="modalfix" v-model="date_finish" :locale="'th'" autoApply :readonly="!status" <datepicker
borderless :enableTimePicker="false" week-start="0"> menu-class-name="modalfix"
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>
@ -255,10 +310,23 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense :disable="!status" class="full-width datepicker" :model-value="date_finish != null ? date2Thai(date_finish) : null <q-input
" :label="`${'ถึงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"> outlined
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 name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -271,35 +339,78 @@ 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 :rules="[ <q-select
(val) => :rules="[
!!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" ]"
label="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ" /> 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"
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 class="col-sm-12" :rules="[ <q-select
(val) => class="col-sm-12"
!!val || :rules="[
'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ', (val) =>
]" hide-bottom-space :options="optionsResult" :disable="!status" dense borderless emit-value !!val ||
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 outlined dense v-model="expand_month" label="จำนวนเดือน" <q-input
:rules="[(val) => !!val || 'กรุณากรอกจำนวนเดือน']" type="number" /> outlined
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 hide-bottom-space dense borderless outlined :disable="!status" class="bg-white" type="textarea" <q-input
v-model="reson" label="เหตุผล" :rules="[(val) => !!val || 'กรุณาระบุเหตุผล']" /> hide-bottom-space
dense
borderless
outlined
:disable="!status"
class="bg-white"
type="textarea"
v-model="reson"
label="เหตุผล"
:rules="[(val) => !!val || 'กรุณาระบุเหตุผล']"
/>
</div> </div>
</div> </div>
@ -313,11 +424,27 @@ const selectRuslt = () => {
ประธานคณะกรรมการประเมนผลการปฏหนาทราชการ ประธานคณะกรรมการประเมนผลการปฏหนาทราชการ
</div> </div>
<div class="col-12 row q-col-gutter-md"> <div class="col-12 row q-col-gutter-md">
<q-select class="col-xs-12 col-sm-8" dense v-model="director_id" outlined :options="commander" <q-select
label="ชื่อ-นามสกุล" option-label="name" disable /> class="col-xs-12 col-sm-8"
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 menu-class-name="modalfix" v-model="chairman_dated" :locale="'th'" :readonly="!status" autoApply <datepicker
borderless :enableTimePicker="false" week-start="0"> menu-class-name="modalfix"
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>
@ -325,10 +452,23 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="chairman_dated != null ? date2Thai(chairman_dated) : null <q-input
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> outlined
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 name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -344,11 +484,27 @@ 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 class="col-xs-12 col-sm-8" dense v-model="director_id2" outlined label="ชื่อ-นามสกุล" <q-select
disable :options="optionDirector" option-label="name" /> class="col-xs-12 col-sm-8"
dense
v-model="director_id2"
outlined
label="ชื่อ-นามสกุล"
disable
:options="optionDirector"
option-label="name"
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker menu-class-name="modalfix" v-model="director1_dated" :locale="'th'" autoApply borderless <datepicker
:readonly="!status" :enableTimePicker="false" week-start="0"> menu-class-name="modalfix"
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>
@ -356,12 +512,25 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="director1_dated != null <q-input
? date2Thai(director1_dated) outlined
: null dense
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> :disable="!status"
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 name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -377,11 +546,27 @@ 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 class="col-xs-12 col-sm-8" dense v-model="director_id3" outlined label="ชื่อ-นามสกุล" <q-select
:options="optionDirector" disable option-label="name" /> class="col-xs-12 col-sm-8"
dense
v-model="director_id3"
outlined
label="ชื่อ-นามสกุล"
:options="optionDirector"
disable
option-label="name"
/>
<div class="col-xs-12 col-sm-4"> <div class="col-xs-12 col-sm-4">
<datepicker menu-class-name="modalfix" v-model="director2_dated" :locale="'th'" autoApply <datepicker
:readonly="!status" borderless :enableTimePicker="false" week-start="0"> menu-class-name="modalfix"
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>
@ -389,12 +574,25 @@ const selectRuslt = () => {
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input outlined dense :disable="!status" class="full-width datepicker col-3" :model-value="director2_dated != null <q-input
? date2Thai(director2_dated) outlined
: null dense
" :label="`${'ลงวันที่'}`" :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"> :disable="!status"
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 name="event" class="cursor-pointer" style="color: var(--q-primary)"> <q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>