fix bug ฟอร์มทดลองงาน
This commit is contained in:
parent
ed516e72a0
commit
b922e198dd
15 changed files with 2137 additions and 3995 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1,127 +0,0 @@
|
|||
<!-- card ข้อมูลส่วนตัว -->
|
||||
<template>
|
||||
<div class="q-pb-md">
|
||||
<!-- <div class="toptitle text-dark col-12 row items-center">
|
||||
<q-btn
|
||||
icon="mdi-arrow-left"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
flat
|
||||
color="primary"
|
||||
class="q-mr-sm"
|
||||
@click="router.go(-1)"
|
||||
/>
|
||||
ฟอร์มแบบประเมินสำหรับผู้ดูแล
|
||||
</div> -->
|
||||
<div class="col-12 text-dark">
|
||||
<div class="row col-12 q-gutter-lg q-pa-lg">
|
||||
<div class="col-12 row">
|
||||
<div class="col-12 text-top0 row items-center">
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
วันเริ่มทดลองปฎิบัติหน้าที่ราชการ ตั้งแต่วันที่
|
||||
<span class="text-black q-px-sm">{{ date2Thai(dateToday) }}</span>
|
||||
ถึงวันที
|
||||
<span class="text-black q-px-sm">{{ date2Thai(dateEnd) }}</span>
|
||||
</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-black q-px-sm">{{ "ครั้งที่" + period }}</span>
|
||||
ระหว่างวันที่
|
||||
<span class="text-black q-px-sm">{{ date2Thai(dateToday) }}</span>
|
||||
ถึงวันที่
|
||||
<span class="text-black q-px-sm">{{ date2Thai(dateEnd) }}</span>
|
||||
</div>
|
||||
<div class="col-12 q-pt-md">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
</div>
|
||||
<!--------------------- 1 --------------------->
|
||||
<FormEva1 />
|
||||
<div class="col-12">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
|
||||
<!--------------------- 2 --------------------->
|
||||
<FormEva2 />
|
||||
<div class="col-12">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
|
||||
<!--------------------- 3 --------------------->
|
||||
<FormEva3 />
|
||||
<div class="col-12">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
<!--------------------- ผู้บังคับบัญชาผู้มอบหมายงาน --------------------->
|
||||
<FormEvaOrder />
|
||||
</div>
|
||||
|
||||
<q-separator />
|
||||
<div class="flex justify-end q-px-sm q-pt-sm">
|
||||
<q-footer class="bg-white q-px-lg q-py-sm flex justify-end">
|
||||
<q-btn
|
||||
dense
|
||||
class="q-px-md"
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
/>
|
||||
</q-footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, defineAsyncComponent } from "vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useRoute } from "vue-router";
|
||||
import { useQuasar } from "quasar";
|
||||
import router from "@/router";
|
||||
|
||||
const FormEva1 = defineAsyncComponent(
|
||||
() => import("@/modules/05_placement/components/probation/form/formEva1.vue")
|
||||
);
|
||||
const FormEva2 = defineAsyncComponent(
|
||||
() => import("@/modules/05_placement/components/probation/form/formEva2.vue")
|
||||
);
|
||||
const FormEva3 = defineAsyncComponent(
|
||||
() => import("@/modules/05_placement/components/probation/form/formEva3.vue")
|
||||
);
|
||||
const FormEvaOrder = defineAsyncComponent(
|
||||
() =>
|
||||
import("@/modules/05_placement/components/probation/form/formEvaOrder.vue")
|
||||
);
|
||||
|
||||
const $q = useQuasar();
|
||||
|
||||
const mixin = useCounterMixin();
|
||||
const { date2Thai } = mixin;
|
||||
const dateToday = ref<Date>(new Date("10-10-2023"));
|
||||
const dateEnd = ref<Date>(new Date("12-10-2023"));
|
||||
const period = ref<number>(1);
|
||||
|
||||
const onSubmit = () => {
|
||||
$q.notify({
|
||||
color: "green-4",
|
||||
textColor: "white",
|
||||
icon: "cloud_done",
|
||||
message: "ส่งแบบประเมินเเล้ว",
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.text-top2 {
|
||||
font-weight: 500;
|
||||
padding-bottom: 8px;
|
||||
color: rgb(70, 68, 68);
|
||||
}
|
||||
|
||||
.text-top0 {
|
||||
font-weight: 600;
|
||||
padding-bottom: 8px;
|
||||
color: rgb(70, 68, 68);
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, defineAsyncComponent, onMounted } from "vue";
|
||||
import { ref, onMounted, watch } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useProbationDataStore } from "@/modules/05_placement/store";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -7,7 +7,6 @@ import { useRouter, useRoute } from "vue-router";
|
|||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
|
||||
const router = useRouter();
|
||||
const routeName = router.currentRoute.value.name;
|
||||
|
||||
|
|
@ -27,27 +26,35 @@ const {
|
|||
} = mixin;
|
||||
const route = useRoute();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const saveEdit = (id:string) => {
|
||||
dialogConfirm($q,() => console.log("save"))
|
||||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
|
||||
const saveEdit = (id: string) => {
|
||||
dialogConfirm($q, () => console.log("save"))
|
||||
}
|
||||
|
||||
const edit = () => {
|
||||
status.value = true;
|
||||
console.log(status.value);
|
||||
// console.log(status.value);
|
||||
};
|
||||
|
||||
const cancel = () => {
|
||||
status.value = false;
|
||||
};
|
||||
|
||||
const person = ref<any>([]);
|
||||
const assign = ref<any>([]);
|
||||
const evaluate_no = ref<string>("");
|
||||
const evaluate_no = ref<number>();
|
||||
const evaluate_id = ref<string>("");
|
||||
const start_date = ref<Date>(new Date());
|
||||
const date_finish = ref<Date>(new Date());
|
||||
const commander = ref<any>([]);
|
||||
const round = ref<any>();
|
||||
const status = ref<boolean>(true);
|
||||
const dataArr = ref<any>();
|
||||
|
||||
const props = defineProps({
|
||||
tab: String,
|
||||
data: Object,
|
||||
action: String
|
||||
});
|
||||
|
||||
const list2_1 = [
|
||||
|
|
@ -95,103 +102,133 @@ const list2_3 = [
|
|||
label: "ปฏิบัติบัติหน้าที่อย่างตรงไปตรงมาโดยยึกหลักจรรยาบรรณวิชาชีพ",
|
||||
},
|
||||
];
|
||||
|
||||
onMounted(async () => {
|
||||
if (props.tab !== undefined) {
|
||||
round.value = props.tab.charAt(4);
|
||||
// fetchEvaluate(assignId.value, round.value);
|
||||
// if (props.action == 'add') {
|
||||
// fecthFormdata();
|
||||
// }
|
||||
// console.log("props===>", props)
|
||||
if (props.tab && props.action == 'edit') {
|
||||
evaluate_no.value = Number(props.tab.charAt(4));
|
||||
dataArr.value = await props.data;
|
||||
fecthAssign();
|
||||
}
|
||||
fecthAssign(assignId.value);
|
||||
// console.log(round.value);
|
||||
// console.log(assignId.value);
|
||||
});
|
||||
const fecthAssign = async (id: string) => {
|
||||
|
||||
watch(props, async () => {
|
||||
if (props.tab && props.action == 'edit') {
|
||||
evaluate_no.value = Number(props.tab.charAt(4));
|
||||
dataArr.value = await props.data;
|
||||
fecthAssign();
|
||||
// console.log("props===>", props);
|
||||
}
|
||||
})
|
||||
|
||||
// onMounted(async () => {
|
||||
// if (props.tab !== undefined) {
|
||||
// round.value = props.tab.charAt(4);
|
||||
// // fetchEvaluate(assignId.value, round.value);
|
||||
// }
|
||||
// fecthAssign(assignId.value);
|
||||
// // console.log(round.value);
|
||||
// // console.log(assignId.value);
|
||||
// });
|
||||
const fecthAssign = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluateCreate(id))
|
||||
.get(config.API.evaluateCreate(assignId.value))
|
||||
.then(async (res: any) => {
|
||||
person.value = res.data.data.person;
|
||||
assign.value = res.data.data.assign;
|
||||
commander.value = res.data.data.commander;
|
||||
option.value.push(commander.value);
|
||||
Autherise.value = commander.value.name;
|
||||
evaluate_no.value = res.data.data.evaluate_no;
|
||||
start_date.value = res.data.data.start_date;
|
||||
date_finish.value = res.data.data.end_date;
|
||||
console.log(props.tab, res.data.data.evaluate_no);
|
||||
if (props.action == 'add') {
|
||||
person.value = res.data.data.person;
|
||||
assign.value = res.data.data.assign;
|
||||
commander.value = res.data.data.commander;
|
||||
option.value.push(commander.value);
|
||||
|
||||
Autherise.value = commander.value.name;
|
||||
evaluate_no.value = res.data.data.evaluate_no;
|
||||
start_date.value = res.data.data.start_date;
|
||||
date_finish.value = res.data.data.end_date;
|
||||
|
||||
if (res.data.data.evaluate_no > round.value) {
|
||||
await fetchEvaluate(assignId.value, round.value);
|
||||
}
|
||||
// console.log(props.tab, res.data.data.evaluate_no);
|
||||
|
||||
// if (res.data.data.evaluate_no > evaluate_no.value) {
|
||||
// await fetchEvaluate(assignId.value, evaluate_no.value);
|
||||
// }
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
}).finally(() => {
|
||||
if (props.action == 'edit') {
|
||||
fetchEvaluate();
|
||||
}
|
||||
hideLoader();
|
||||
});
|
||||
};
|
||||
const fetchEvaluate = async (id: string, round: string) => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluatecommader(id, round))
|
||||
.then((res: any) => {
|
||||
console.log(res);
|
||||
let data = res.data.data.evaluate;
|
||||
console.log(data);
|
||||
start_date.value = data.date_start;
|
||||
date_finish.value = data.date_finish;
|
||||
knowledge_level.value = data.knowledge_level;
|
||||
skill_level.value = data.skill_level;
|
||||
competency_level.value = data.competency_level;
|
||||
learn_level.value = data.learn_level;
|
||||
apply_level.value = data.apply_level;
|
||||
success_level.value = data.success_level;
|
||||
achievement_other.value.text = data.achievement_other_desc;
|
||||
achievement_other.value.level = data.achievement_other_level;
|
||||
conduct_level.value[0] = data.conduct1_level;
|
||||
conduct_level.value[1] = data.conduct2_level;
|
||||
conduct_level.value[2] = data.conduct3_level;
|
||||
conduct_level.value[3] = data.conduct4_level;
|
||||
moral_level.value[0] = data.moral1_level;
|
||||
moral_level.value[1] = data.moral2_level;
|
||||
moral_level.value[2] = data.moral3_level;
|
||||
discipline_level.value[0] = data.discipline1_level;
|
||||
discipline_level.value[1] = data.discipline2_level;
|
||||
discipline_level.value[2] = data.discipline3_level;
|
||||
discipline_level.value[3] = data.discipline4_level;
|
||||
discipline_level.value[4] = data.discipline5_level;
|
||||
behavio_orther.value.text = data.behavior_other_desc;
|
||||
behavio_orther.value.level = data.behavior_other_level;
|
||||
behavio_strength_desc.value = data.behavior_strength_desc;
|
||||
behavior_improve_desc.value = data.behavior_improve_desc;
|
||||
orientation.value = data.orientation.toString();
|
||||
self_learning.value = data.self_learning.toString();
|
||||
training_seminar.value = data.training_seminar.toString();
|
||||
other_training.value = data.other_training.toString();
|
||||
if (
|
||||
data.achievement_other_desc !== "" &&
|
||||
data.achievement_other_level !== null
|
||||
) {
|
||||
etc.value = true;
|
||||
}
|
||||
if (
|
||||
data.behavior_other_desc !== "" &&
|
||||
data.behavior_other_level !== null
|
||||
) {
|
||||
etc2.value = true;
|
||||
}
|
||||
status.value = false;
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
const fetchEvaluate = async () => {
|
||||
// showLoader();
|
||||
// await http
|
||||
// .get(config.API.evaluatecommader(assignId.value, evaluate_no.value))
|
||||
// .then((res: any) => {
|
||||
// console.log(res);
|
||||
// let data = res.data.data.evaluate;
|
||||
// console.log(data);
|
||||
let data = await dataArr.value;
|
||||
evaluate_id.value = data.id;
|
||||
start_date.value = data.date_start;
|
||||
date_finish.value = data.date_finish;
|
||||
knowledge_level.value = data.knowledge_level;
|
||||
skill_level.value = data.skill_level;
|
||||
competency_level.value = data.competency_level;
|
||||
learn_level.value = data.learn_level;
|
||||
apply_level.value = data.apply_level;
|
||||
success_level.value = data.success_level;
|
||||
achievement_other.value.text = data.achievement_other_desc;
|
||||
achievement_other.value.level = data.achievement_other_level;
|
||||
conduct_level.value[0] = data.conduct1_level;
|
||||
conduct_level.value[1] = data.conduct2_level;
|
||||
conduct_level.value[2] = data.conduct3_level;
|
||||
conduct_level.value[3] = data.conduct4_level;
|
||||
moral_level.value[0] = data.moral1_level;
|
||||
moral_level.value[1] = data.moral2_level;
|
||||
moral_level.value[2] = data.moral3_level;
|
||||
discipline_level.value[0] = data.discipline1_level;
|
||||
discipline_level.value[1] = data.discipline2_level;
|
||||
discipline_level.value[2] = data.discipline3_level;
|
||||
discipline_level.value[3] = data.discipline4_level;
|
||||
discipline_level.value[4] = data.discipline5_level;
|
||||
behavio_orther.value.text = data.behavior_other_desc;
|
||||
behavio_orther.value.level = data.behavior_other_level;
|
||||
behavio_strength_desc.value = data.behavior_strength_desc;
|
||||
behavior_improve_desc.value = data.behavior_improve_desc;
|
||||
orientation.value = data.orientation.toString();
|
||||
self_learning.value = data.self_learning.toString();
|
||||
training_seminar.value = data.training_seminar.toString();
|
||||
other_training.value = data.other_training.toString();
|
||||
if (
|
||||
data.achievement_other_desc !== "" &&
|
||||
data.achievement_other_level !== null
|
||||
) {
|
||||
etc.value = true;
|
||||
}
|
||||
if (
|
||||
data.behavior_other_desc !== "" &&
|
||||
data.behavior_other_level !== null
|
||||
) {
|
||||
etc2.value = true;
|
||||
}
|
||||
status.value = false;
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// console.log(e);
|
||||
|
||||
if (e.data.message !== "Data not found!") {
|
||||
messageError($q, e);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
// if (e.data.message !== "Data not found!") {
|
||||
// messageError($q, e);
|
||||
// }
|
||||
// })
|
||||
// .finally(() => {
|
||||
// hideLoader();
|
||||
// });
|
||||
};
|
||||
|
||||
// const dateToday = ref<Date>(new Date("10-10-2023"));
|
||||
|
|
@ -229,9 +266,9 @@ const behavio_strengthRules = [
|
|||
(val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลจุดเด่น",
|
||||
];
|
||||
const behavio_inproveRef = ref<any>(null);
|
||||
const behavio_inproveRules = [
|
||||
(val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลสิ่งที่ควรปรับปรุง",
|
||||
];
|
||||
// const behavio_inproveRules = [
|
||||
// (val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลสิ่งที่ควรปรับปรุง",
|
||||
// ];
|
||||
|
||||
const savaForm = () => {
|
||||
let hasError = false;
|
||||
|
|
@ -248,7 +285,7 @@ const savaForm = () => {
|
|||
moral_level.value.length < 3 ||
|
||||
discipline_level.value.length < 5 ||
|
||||
behavio_strength_desc.value === "" ||
|
||||
behavior_improve_desc.value === "" ||
|
||||
// behavior_improve_desc.value === "" ||
|
||||
orientation.value === null ||
|
||||
self_learning.value === null ||
|
||||
training_seminar.value === null
|
||||
|
|
@ -267,13 +304,13 @@ const savaForm = () => {
|
|||
behavio_orther.value.level == 0))
|
||||
) {
|
||||
hasError = true;
|
||||
} else putformData();
|
||||
} else save();
|
||||
|
||||
if (hasError === true) {
|
||||
notifyError($q, "กรุณากรอกข้อมูลให้ครบ");
|
||||
}
|
||||
};
|
||||
const putformData = () => {
|
||||
const save = () => {
|
||||
const data = {
|
||||
evaluate_no: evaluate_no.value,
|
||||
start_date: start_date.value,
|
||||
|
|
@ -309,16 +346,17 @@ const putformData = () => {
|
|||
|
||||
dialogConfirm($q, async () => {
|
||||
await http
|
||||
.post(config.API.createformCommader(assignId.value), data)
|
||||
.put(config.API.editFormEvaluateCommader(assignId.value, evaluate_id.value), data)
|
||||
.then((res: any) => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
status.value = false;
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e);
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -327,31 +365,19 @@ const putformData = () => {
|
|||
<div>แบบประเมินผล (ผู้บังคับบัญชา)</div>
|
||||
<q-space />
|
||||
<div v-if="status == false">
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
@click="edit()"
|
||||
icon="mdi-pencil-outline"
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-btn flat round color="red" @click="cancel()" icon="mdi-undo">
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="public"
|
||||
@click="saveEdit(assignId)"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<q-btn flat round color="primary" @click="edit()" icon="mdi-pencil-outline">
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-btn flat round color="red" @click="cancel()" icon="mdi-undo">
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn flat round color="public" @click="savaForm()" icon="mdi-content-save-outline">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-12 row">
|
||||
|
|
@ -368,7 +394,7 @@ const putformData = () => {
|
|||
</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-black q-px-sm">{{ "ครั้งที่" + round }}</span>
|
||||
<span class="text-black q-px-sm">{{ "ครั้งที่" + evaluate_no }}</span>
|
||||
ระหว่างวันที่
|
||||
<span class="text-black q-px-sm">{{ date2Thai(start_date) }}</span>
|
||||
ถึงวันที่
|
||||
|
|
@ -392,19 +418,11 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<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 side>
|
||||
<q-rating
|
||||
v-model="knowledge_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="knowledge_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -432,19 +450,11 @@ const putformData = () => {
|
|||
<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="skill_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="skill_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -472,19 +482,11 @@ const putformData = () => {
|
|||
<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="competency_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="competency_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -512,19 +514,11 @@ const putformData = () => {
|
|||
<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="learn_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="learn_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -552,19 +546,11 @@ const putformData = () => {
|
|||
<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="apply_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="apply_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -592,19 +578,11 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
1.6. ความสำเร็จของงานที่ได้รับมอบหมาย</q-item-label
|
||||
>
|
||||
1.6. ความสำเร็จของงานที่ได้รับมอบหมาย</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="ระดับการประเมินพฤติกรรม"
|
||||
:disable="!status"
|
||||
>
|
||||
<q-rating v-model="success_level" max="5" size="sm" color="grey" :color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม" :disable="!status">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -633,15 +611,9 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
1.7 อื่นๆ
|
||||
<q-checkbox
|
||||
class="q-ml-sm"
|
||||
:disable="!status"
|
||||
dense
|
||||
v-model="etc"
|
||||
@click="
|
||||
(achievement_other.text = ''), (achievement_other.level = 0)
|
||||
"
|
||||
/></q-item-label>
|
||||
<q-checkbox class="q-ml-sm" :disable="!status" dense v-model="etc" @click="
|
||||
(achievement_other.text = ''), (achievement_other.level = 0)
|
||||
" /></q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
|
|
@ -652,32 +624,15 @@ const putformData = () => {
|
|||
<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
|
||||
:disable="!status"
|
||||
lazy-rules
|
||||
autogrow
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input v-model="achievement_other.text" label="กรอกอื่นๆ" dense :disable="!status" 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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="achievement_other.level" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -712,27 +667,15 @@ const putformData = () => {
|
|||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="conduct_level[i]" :val="list.id" max="5" :disable="!status" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -760,27 +703,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="moral_level[i]" :val="list.id" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -808,27 +739,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="discipline_level[i]" :val="list.id" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -855,50 +774,23 @@ const putformData = () => {
|
|||
<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"
|
||||
:disable="!status"
|
||||
@click="(behavio_orther.text = ''), (behavio_orther.level = 0)"
|
||||
/>
|
||||
<q-checkbox class="q-ml-sm" dense v-model="etc2" :disable="!status"
|
||||
@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
|
||||
:disable="!status"
|
||||
lazy-rules
|
||||
autogrow
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input v-model="behavio_orther.text" label="กรอกอื่นๆ" dense :disable="!status" 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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="behavio_orther.level" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -927,40 +819,18 @@ const putformData = () => {
|
|||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
จุดเด่น (ไม่เกิน 5 บรรทัด)
|
||||
</div>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
v-model="behavio_strength_desc"
|
||||
class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
|
||||
lazy-rules
|
||||
type="textarea"
|
||||
:disable="!status"
|
||||
label="กรอกจุดเด่น"
|
||||
hide-bottom-space
|
||||
:row="5"
|
||||
:rules="behavio_strengthRules"
|
||||
ref="behavio_strengthRef"
|
||||
/>
|
||||
<q-input outlined dense v-model="behavio_strength_desc" class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
|
||||
lazy-rules type="textarea" :disable="!status" 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"
|
||||
lazy-rules
|
||||
type="textarea"
|
||||
hide-bottom-space
|
||||
label="กรอกสิ่งที่ควรปรับปรุง"
|
||||
:disable="!status"
|
||||
:row="5"
|
||||
:rules="behavio_inproveRules"
|
||||
ref="behavio_inproveRef"
|
||||
/>
|
||||
<q-input outlined dense v-model="behavior_improve_desc" class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
|
||||
lazy-rules type="textarea" hide-bottom-space label="กรอกสิ่งที่ควรปรับปรุง" :disable="!status" :row="5"
|
||||
ref="behavio_inproveRef" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -973,11 +843,7 @@ const putformData = () => {
|
|||
<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>
|
||||
<q-item-section>
|
||||
|
|
@ -985,22 +851,10 @@ const putformData = () => {
|
|||
</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="ดำเนินการเเล้ว"
|
||||
:disable="!status"
|
||||
/>
|
||||
<q-radio
|
||||
checked-icon="task_alt"
|
||||
unchecked-icon="panorama_fish_eye"
|
||||
v-model="orientation"
|
||||
:disable="!status"
|
||||
val="0"
|
||||
label=" ยังไม่ได้ดำเนินการ"
|
||||
/>
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="orientation" val="1"
|
||||
label="ดำเนินการเเล้ว" :disable="!status" />
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="orientation"
|
||||
:disable="!status" val="0" label=" ยังไม่ได้ดำเนินการ" />
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
|
@ -1011,22 +865,10 @@ const putformData = () => {
|
|||
</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"
|
||||
:disable="!status"
|
||||
val="1"
|
||||
label="ดำเนินการเเล้ว"
|
||||
/>
|
||||
<q-radio
|
||||
checked-icon="task_alt"
|
||||
unchecked-icon="panorama_fish_eye"
|
||||
:disable="!status"
|
||||
v-model="self_learning"
|
||||
val="0"
|
||||
label=" ยังไม่ได้ดำเนินการ"
|
||||
/>
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="self_learning"
|
||||
:disable="!status" val="1" label="ดำเนินการเเล้ว" />
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :disable="!status"
|
||||
v-model="self_learning" val="0" label=" ยังไม่ได้ดำเนินการ" />
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
|
@ -1037,50 +879,24 @@ const putformData = () => {
|
|||
</q-item-section>
|
||||
<q-item-section side>
|
||||
<div class="row">
|
||||
<q-radio
|
||||
checked-icon="task_alt"
|
||||
:disable="!status"
|
||||
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"
|
||||
:disable="!status"
|
||||
val="0"
|
||||
label=" ยังไม่ได้ดำเนินการ"
|
||||
/>
|
||||
<q-radio checked-icon="task_alt" :disable="!status" 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"
|
||||
:disable="!status" 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"
|
||||
:disable="!status"
|
||||
label="ดำเนินการเเล้ว"
|
||||
/>
|
||||
<q-radio
|
||||
checked-icon="task_alt"
|
||||
unchecked-icon="panorama_fish_eye"
|
||||
v-model="other_training"
|
||||
:disable="!status"
|
||||
val="0"
|
||||
label=" ยังไม่ได้ดำเนินการ"
|
||||
/>
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="other_training" val="1"
|
||||
:disable="!status" label="ดำเนินการเเล้ว" />
|
||||
<q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" v-model="other_training"
|
||||
:disable="!status" val="0" label=" ยังไม่ได้ดำเนินการ" />
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
|
@ -1094,26 +910,11 @@ const putformData = () => {
|
|||
<div class="col-12 row">
|
||||
<div class="col-12 text-top2 row items-center">ผู้บังคับบัญชา</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="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="Autherise" outlined :options="option" label="ผู้บังคับบัญชา"
|
||||
disable />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="dateAutherise"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
:readonly="!status"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" :readonly="!status" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1121,23 +922,10 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:disable="!status"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense class="full-width datepicker col-3" :model-value="dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
" :label="`${'ลงวันที่'}`" :disable="!status" :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>
|
||||
|
|
@ -1152,7 +940,7 @@ const putformData = () => {
|
|||
<q-space />
|
||||
<q-btn v-if="routeName == 'FormEvaluateAdd'" label="บันทึก" color="secondary" @click="savaForm" />
|
||||
</q-toolbar>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ const {
|
|||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const personalId = ref<string>(route.params.id.toString());
|
||||
|
||||
const person = ref<any>([]);
|
||||
const assign = ref<any>([]);
|
||||
|
|
@ -222,8 +223,11 @@ const putformData = () => {
|
|||
await http
|
||||
.post(config.API.createformCommader(assignId.value), data)
|
||||
.then((res: any) => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
router.push(
|
||||
`/probation/detail/${personalId.value}/${assignId.value}`
|
||||
);
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, defineAsyncComponent, computed, onMounted } from "vue";
|
||||
import { ref, watch, computed, onMounted } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useProbationDataStore } from "@/modules/05_placement/store";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -25,123 +25,158 @@ const {
|
|||
} = mixin;
|
||||
const route = useRoute();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const saveEdit = (id:string) => {
|
||||
dialogConfirm($q,() => console.log("save"))
|
||||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
const saveEdit = (id: string) => {
|
||||
dialogConfirm($q, () => console.log("save"))
|
||||
}
|
||||
const edit = () => {
|
||||
status.value = true;
|
||||
console.log(status.value);
|
||||
// console.log(status.value);
|
||||
};
|
||||
const cancel = () => {
|
||||
status.value = false;
|
||||
};
|
||||
// const person = ref<any>([]);
|
||||
const assign = ref<any>([]);
|
||||
const evaluate_no = ref<string>("");
|
||||
const evaluate_no = ref<number>();
|
||||
const evaluate_id = ref<string>("");
|
||||
const start_date = ref<Date>(new Date());
|
||||
const date_finish = ref<Date>(new Date());
|
||||
const status = ref<boolean>(true);
|
||||
const chairman = ref<any>([]);
|
||||
const commander = ref<any>([]);
|
||||
const mentors = ref<any>([{ name: "" }, { name: "" }]);
|
||||
const dataArr = ref<any>();
|
||||
|
||||
const round = ref<any>();
|
||||
|
||||
const props = defineProps({
|
||||
tab: String,
|
||||
data: Object,
|
||||
action: String
|
||||
});
|
||||
onMounted(() => {
|
||||
if (props.tab !== undefined) {
|
||||
round.value = props.tab.charAt(4);
|
||||
// fetchEvaluate(assignId.value, round.value);
|
||||
|
||||
onMounted(async () => {
|
||||
// if (props.action == 'add') {
|
||||
// fecthFormdata();
|
||||
// }
|
||||
// console.log("props===>", props)
|
||||
if (props.tab && props.action == 'edit') {
|
||||
evaluate_no.value = Number(props.tab.charAt(4));
|
||||
dataArr.value = await props.data;
|
||||
fecthAssign();
|
||||
}
|
||||
fecthAssign(assignId.value);
|
||||
});
|
||||
const fecthAssign = async (id: string) => {
|
||||
|
||||
watch(props, async () => {
|
||||
if (props.tab && props.action == 'edit') {
|
||||
evaluate_no.value = Number(props.tab.charAt(4));
|
||||
dataArr.value = await props.data;
|
||||
fecthAssign();
|
||||
// console.log("props===>", props);
|
||||
}
|
||||
})
|
||||
|
||||
// onMounted(() => {
|
||||
// if (props.tab !== undefined) {
|
||||
// round.value = props.tab.charAt(4);
|
||||
// // fetchEvaluate(assignId.value, round.value);
|
||||
// }
|
||||
// fecthAssign(assignId.value);
|
||||
// });
|
||||
|
||||
const fecthAssign = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluateChairman(id))
|
||||
.get(config.API.evaluateChairman(assignId.value))
|
||||
.then(async (res: any) => {
|
||||
// console.log(res);
|
||||
assign.value = res.data.data.assign;
|
||||
evaluate_no.value = res.data.data.evaluate_no;
|
||||
start_date.value = res.data.data.start_date;
|
||||
date_finish.value = res.data.data.end_date;
|
||||
chairman.value = res.data.data.chairman;
|
||||
commander.value = res.data.data.commander;
|
||||
mentors.value = res.data.data.mentors;
|
||||
|
||||
if (res.data.data.evaluate_no > round.value) {
|
||||
await fetchEvaluate(assignId.value, round.value);
|
||||
if (props.action == 'add') {
|
||||
assign.value = res.data.data.assign;
|
||||
evaluate_no.value = res.data.data.evaluate_no;
|
||||
start_date.value = res.data.data.start_date;
|
||||
date_finish.value = res.data.data.end_date;
|
||||
chairman.value = res.data.data.chairman;
|
||||
commander.value = res.data.data.commander;
|
||||
mentors.value = res.data.data.mentors;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
if (props.action == 'edit') {
|
||||
fetchEvaluate();
|
||||
}
|
||||
hideLoader();
|
||||
});
|
||||
};
|
||||
const fetchEvaluate = async (id: string, round: string) => {
|
||||
|
||||
const fetchEvaluate = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluateRoundChairman(id, round))
|
||||
.then((res: any) => {
|
||||
let data = res.data.data.evaluate;
|
||||
console.log(data);
|
||||
start_date.value = data.date_start;
|
||||
date_finish.value = data.date_finish;
|
||||
learn_level.value = data.knowledge_level;
|
||||
apply_level.value = data.apply_level;
|
||||
success_level.value = data.success_level;
|
||||
achievement_other.value.text = data.achievement_other_desc;
|
||||
achievement_other.value.level = data.achievement_other_level;
|
||||
conduct_level.value[0] = data.conduct1_level;
|
||||
conduct_level.value[1] = data.conduct2_level;
|
||||
conduct_level.value[2] = data.conduct3_level;
|
||||
conduct_level.value[3] = data.conduct4_level;
|
||||
moral_level.value[0] = data.moral1_level;
|
||||
moral_level.value[1] = data.moral2_level;
|
||||
moral_level.value[2] = data.moral3_level;
|
||||
discipline_level.value[0] = data.discipline1_level;
|
||||
discipline_level.value[1] = data.discipline2_level;
|
||||
discipline_level.value[2] = data.discipline3_level;
|
||||
discipline_level.value[3] = data.discipline4_level;
|
||||
discipline_level.value[4] = data.discipline5_level;
|
||||
behavio_orther.value.text = data.behavior_other_desc;
|
||||
behavio_orther.value.level = data.behavior_other_level;
|
||||
orientation.value = data.develop_orientation_score;
|
||||
self_learning.value = data.develop_self_learning_score;
|
||||
training_seminar.value = data.develop_training_seminar_score;
|
||||
other_training.value = data.develop_other_training_score;
|
||||
orientation_percent.value = data.develop_orientation_percent;
|
||||
self_learning_percent.value = data.develop_self_learning_percent;
|
||||
training_seminar_percent.value = data.develop_training_seminar_percent;
|
||||
other_training_percent.value = data.develop_other_training_percent;
|
||||
// await http
|
||||
// .get(config.API.evaluateRoundChairman(assignId.value, evaluate_no.value))
|
||||
// .then((res: any) => {
|
||||
// let data = res.data.data.evaluate;
|
||||
// console.log(data);
|
||||
let data = await dataArr.value;
|
||||
evaluate_id.value = data.id;
|
||||
|
||||
if (
|
||||
data.achievement_other_desc !== "" &&
|
||||
data.achievement_other_level !== null
|
||||
) {
|
||||
etc.value = true;
|
||||
}
|
||||
if (
|
||||
data.behavior_other_desc !== "" &&
|
||||
data.behavior_other_level !== null
|
||||
) {
|
||||
etc2.value = true;
|
||||
}
|
||||
start_date.value = data.date_start;
|
||||
date_finish.value = data.date_finish;
|
||||
learn_level.value = data.knowledge_level;
|
||||
apply_level.value = data.apply_level;
|
||||
success_level.value = data.success_level;
|
||||
achievement_other.value.text = data.achievement_other_desc;
|
||||
achievement_other.value.level = data.achievement_other_level;
|
||||
conduct_level.value[0] = data.conduct1_level;
|
||||
conduct_level.value[1] = data.conduct2_level;
|
||||
conduct_level.value[2] = data.conduct3_level;
|
||||
conduct_level.value[3] = data.conduct4_level;
|
||||
moral_level.value[0] = data.moral1_level;
|
||||
moral_level.value[1] = data.moral2_level;
|
||||
moral_level.value[2] = data.moral3_level;
|
||||
discipline_level.value[0] = data.discipline1_level;
|
||||
discipline_level.value[1] = data.discipline2_level;
|
||||
discipline_level.value[2] = data.discipline3_level;
|
||||
discipline_level.value[3] = data.discipline4_level;
|
||||
discipline_level.value[4] = data.discipline5_level;
|
||||
behavio_orther.value.text = data.behavior_other_desc;
|
||||
behavio_orther.value.level = data.behavior_other_level;
|
||||
orientation.value = data.develop_orientation_score;
|
||||
self_learning.value = data.develop_self_learning_score;
|
||||
training_seminar.value = data.develop_training_seminar_score;
|
||||
other_training.value = data.develop_other_training_score;
|
||||
orientation_percent.value = data.develop_orientation_percent;
|
||||
self_learning_percent.value = data.develop_self_learning_percent;
|
||||
training_seminar_percent.value = data.develop_training_seminar_percent;
|
||||
other_training_percent.value = data.develop_other_training_percent;
|
||||
develop_result.value = data.develop_result;
|
||||
evaluate_result.value = data.evaluate_result;
|
||||
|
||||
status.value = false;
|
||||
})
|
||||
.catch((e) => {
|
||||
if (e.data.message !== "Data not found!") {
|
||||
messageError($q, e);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
if (
|
||||
data.achievement_other_desc !== "" &&
|
||||
data.achievement_other_level !== null
|
||||
) {
|
||||
etc.value = true;
|
||||
}
|
||||
if (
|
||||
data.behavior_other_desc !== "" &&
|
||||
data.behavior_other_level !== null
|
||||
) {
|
||||
etc2.value = true;
|
||||
}
|
||||
|
||||
status.value = false;
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// if (e.data.message !== "Data not found!") {
|
||||
// messageError($q, e);
|
||||
// }
|
||||
// })
|
||||
// .finally(() => {
|
||||
// hideLoader();
|
||||
// });
|
||||
};
|
||||
|
||||
const list2_1 = [
|
||||
|
|
@ -190,9 +225,6 @@ const list2_3 = [
|
|||
},
|
||||
];
|
||||
|
||||
const dateToday = ref<Date>(new Date("10-10-2023"));
|
||||
const dateEnd = ref<Date>(new Date("12-10-2023"));
|
||||
const period = ref<number>(1);
|
||||
// part 1
|
||||
const learn_level = ref<number>(0);
|
||||
const apply_level = ref<number>(0);
|
||||
|
|
@ -216,9 +248,15 @@ const self_learning_percent = ref<number>(0);
|
|||
const training_seminar_percent = ref<number>(0);
|
||||
const other_training_percent = ref<number>(0);
|
||||
const develop_result = ref<any>();
|
||||
const evaluate_result = ref<any>();
|
||||
const evaluate_result_option = ref<any>([
|
||||
{ name: "ผ่าน", value: 1 },
|
||||
{ name: "ไม่ผ่าน", value: 0 },
|
||||
]);
|
||||
|
||||
const develop_result_option = ref<any>([
|
||||
{ name: "ไม่ผ่านการทดลองงาน", value: 0 },
|
||||
{ name: "ผ่านการทดลองงาน", value: 1 },
|
||||
{ name: "ผ่าน (สูงกว่าร้อยละ 60)", value: 1 },
|
||||
{ name: "ไม่ผ่าน (ต่ำกว่าร้อยละ 60)", value: 0 },
|
||||
]);
|
||||
// footer
|
||||
const Autherise = ref<any>(null);
|
||||
|
|
@ -365,6 +403,7 @@ const savaForm = () => {
|
|||
notifyError($q, "กรุณากรอกข้อมูลให้ครบ");
|
||||
}
|
||||
};
|
||||
|
||||
const putformData = () => {
|
||||
const data = {
|
||||
evaluate_no: evaluate_no.value,
|
||||
|
|
@ -406,14 +445,21 @@ const putformData = () => {
|
|||
sum_score: Number(score1.value) + Number(score2.value),
|
||||
sum_percent: Number(percent_score1.value) + Number(percent_score2.value),
|
||||
chairman_dated: dateToISO(dateAutherise.value),
|
||||
develop_result: develop_result.value,
|
||||
develop_result: Number(develop_result.value),
|
||||
evaluate_result: Number(evaluate_result.value),
|
||||
};
|
||||
|
||||
dialogConfirm($q, async () => {
|
||||
console.log("data==>", data);
|
||||
await http
|
||||
.post(config.API.createformChairman(assignId.value), data)
|
||||
.then((res: any) => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
status.value = false;
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
router.push(
|
||||
`/probation/detail/${personalId.value}/${assignId.value}`
|
||||
);
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -454,31 +500,19 @@ const putformData = () => {
|
|||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<div>แบบประเมินผล (คณะกรรมการ)</div>
|
||||
<q-space />
|
||||
<div v-if="status == false">
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
@click="edit()"
|
||||
icon="mdi-pencil-outline"
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-btn flat round color="red" @click="cancel()" icon="mdi-undo">
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="public"
|
||||
@click="saveEdit(assignId)"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="status == false">
|
||||
<q-btn flat round color="primary" @click="edit()" icon="mdi-pencil-outline">
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-btn flat round color="red" @click="cancel()" icon="mdi-undo">
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn flat round color="public" @click="savaForm()" icon="mdi-content-save-outline">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -496,7 +530,7 @@ const putformData = () => {
|
|||
</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-black q-px-sm">{{ "ครั้งที่" + round }}</span>
|
||||
<span class="text-black q-px-sm">{{ "ครั้งที่" + evaluate_no }}</span>
|
||||
ระหว่างวันที่
|
||||
<span class="text-black q-px-sm">{{ date2Thai(start_date) }}</span>
|
||||
ถึงวันที่
|
||||
|
|
@ -520,19 +554,11 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<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 side>
|
||||
<q-rating
|
||||
v-model="learn_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="learn_level" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -560,19 +586,11 @@ const putformData = () => {
|
|||
<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="apply_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:disable="!status"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="apply_level" max="5" size="sm" color="grey" :disable="!status"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -600,19 +618,11 @@ const putformData = () => {
|
|||
<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="success_level"
|
||||
max="5"
|
||||
:disable="!status"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="success_level" max="5" :disable="!status" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -641,15 +651,9 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
1.4 อื่นๆ
|
||||
<q-checkbox
|
||||
class="q-ml-sm"
|
||||
dense
|
||||
:disable="!status"
|
||||
v-model="etc"
|
||||
@click="
|
||||
(achievement_other.text = ''), (achievement_other.level = 0)
|
||||
"
|
||||
/></q-item-label>
|
||||
<q-checkbox class="q-ml-sm" dense :disable="!status" v-model="etc" @click="
|
||||
(achievement_other.text = ''), (achievement_other.level = 0)
|
||||
" /></q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
|
|
@ -660,32 +664,15 @@ const putformData = () => {
|
|||
<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
|
||||
:disable="!status"
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input v-model="achievement_other.text" label="กรอกอื่นๆ" dense lazy-rules autogrow :disable="!status"
|
||||
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"
|
||||
:disable="!status"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="achievement_other.level" max="5" size="sm" color="grey" :disable="!status"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -738,27 +725,15 @@ const putformData = () => {
|
|||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="conduct_level[i]" :val="list.id" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -786,27 +761,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="moral_level[i]" :val="list.id" :disable="!status" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -834,27 +797,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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"
|
||||
:disable="!status"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="discipline_level[i]" :val="list.id" :disable="!status" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -881,50 +832,23 @@ const putformData = () => {
|
|||
<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"
|
||||
:disable="!status"
|
||||
@click="(behavio_orther.text = ''), (behavio_orther.level = 0)"
|
||||
/>
|
||||
<q-checkbox class="q-ml-sm" dense v-model="etc2" :disable="!status"
|
||||
@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
|
||||
:disable="!status"
|
||||
autogrow
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input v-model="behavio_orther.text" label="กรอกอื่นๆ" dense lazy-rules :disable="!status" 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"
|
||||
:disable="!status"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating v-model="behavio_orther.level" max="5" size="sm" :disable="!status" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -982,8 +906,7 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
3.1. ผลสัมฤทธิ์ของการทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label
|
||||
>
|
||||
3.1. ผลสัมฤทธิ์ของการทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label style="color: gray">
|
||||
|
|
@ -1015,8 +938,7 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
3.2. พฤติกรรมของผู้ทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label
|
||||
>
|
||||
3.2. พฤติกรรมของผู้ทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label style="color: gray">
|
||||
|
|
@ -1088,11 +1010,7 @@ const putformData = () => {
|
|||
<div class="col">ร้อยละ</div>
|
||||
</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="row q-gutter-md align-center">
|
||||
<div class="col-8">1. การปฐมนิเทศ</div>
|
||||
<div class="col">
|
||||
|
|
@ -1109,14 +1027,14 @@ const putformData = () => {
|
|||
<q-input dense type="number" :disable="!status" v-model="self_learning" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input dense type="number" :disable="!status" v-model="self_learning_percent" />
|
||||
<q-input dense type="number" :disable="!status" v-model="self_learning_percent" />
|
||||
</div>
|
||||
</div>
|
||||
<q-separator class="q-my-xs" />
|
||||
<div class="row q-gutter-md align-center">
|
||||
<div class="col-8">3. การอบรมสัมนาร่วมกัน</div>
|
||||
<div class="col">
|
||||
<q-input dense type="number" :disable="!status" v-model="training_seminar" />
|
||||
<q-input dense type="number" :disable="!status" v-model="training_seminar" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input dense type="number" :disable="!status" v-model="training_seminar_percent" />
|
||||
|
|
@ -1246,6 +1164,20 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row col-12 q-gutter-lg no-margin">
|
||||
<div class="col-12 row justify-center">
|
||||
<div class="col-12 text-top0 items-center">
|
||||
<!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> -->
|
||||
สรุปผลการพัฒนา
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-select :disable="!status" class="col-xs-12" 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 class="row col-12 q-gutter-lg no-margin">
|
||||
<div class="col-12 row justify-center">
|
||||
<div class="col-12 text-top0 items-center">
|
||||
|
|
@ -1253,19 +1185,9 @@ const putformData = () => {
|
|||
สรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-select
|
||||
class="col-xs-12"
|
||||
dense
|
||||
v-model="develop_result"
|
||||
outlined
|
||||
:disable="!status"
|
||||
:options="develop_result_option"
|
||||
option-label="name"
|
||||
option-value="value"
|
||||
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ"
|
||||
map-options
|
||||
emit-value
|
||||
/>
|
||||
<q-select :disable="!status" class="col-xs-12" dense v-model="evaluate_result" outlined
|
||||
:options="evaluate_result_option" option-label="name" option-value="value"
|
||||
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ" map-options emit-value />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1278,25 +1200,10 @@ const putformData = () => {
|
|||
ผู้บังคับบัญชาผู้มอบหมายงาน
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="commander.name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="commander.name" outlined label="ผู้บังคับบัญชา" disable />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="dateAutherise"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="!status"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:readonly="!status" :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1304,23 +1211,10 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
:disable="!status"
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense :disable="!status" 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>
|
||||
|
|
@ -1329,25 +1223,10 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="mentors[0].name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select 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
|
||||
menu-class-name="modalfix"
|
||||
v-model="dateAutherise"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="!status"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:readonly="!status" :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1355,23 +1234,10 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
:disable="!status"
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined :disable="!status" 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>
|
||||
|
|
@ -1380,25 +1246,10 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="mentors[1].name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select 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
|
||||
menu-class-name="modalfix"
|
||||
v-model="dateAutherise"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="!status"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:readonly="!status" :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1406,23 +1257,10 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
:disable="!status"
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense :disable="!status" 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>
|
||||
|
|
@ -1437,25 +1275,10 @@ const putformData = () => {
|
|||
<div class="col-12 row">
|
||||
<div class="col-12 text-top2 row items-center">คณะกรรมการ</div>
|
||||
<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
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="chairman.name" outlined label="คณะกรรมการ" disable />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="dateAutherise"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
:readonly="!status"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" :readonly="!status" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1463,23 +1286,10 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
:disable="!status"
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null ? date2Thai(dateAutherise) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined :disable="!status" 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>
|
||||
|
|
@ -1492,7 +1302,7 @@ const putformData = () => {
|
|||
|
||||
<q-toolbar class="text-primary">
|
||||
<q-space />
|
||||
<q-btn v-if="routeName == 'probationFormAddevaluascore'" label="บันทึก" color="secondary" @click="savaForm" />
|
||||
<q-btn v-if="routeName == 'probationFormAddevaluascore'" label="บันทึก" color="secondary" @click="savaForm" />
|
||||
</q-toolbar>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -1501,8 +1311,10 @@ const putformData = () => {
|
|||
.align-center {
|
||||
display: flex;
|
||||
|
||||
align-items: center; /* จัดเนื้อหาให้อยู่กลางแนวตั้ง */
|
||||
align-items: center;
|
||||
/* จัดเนื้อหาให้อยู่กลางแนวตั้ง */
|
||||
}
|
||||
|
||||
.text-top2 {
|
||||
font-weight: 500;
|
||||
padding-bottom: 8px;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ const {
|
|||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const personalId = ref<string>(route.params.id.toString());
|
||||
|
||||
const person = ref<any>([]);
|
||||
const assign = ref<any>([]);
|
||||
|
|
@ -138,10 +139,16 @@ const orientation_percent = ref<number>(0);
|
|||
const self_learning_percent = ref<number>(0);
|
||||
const training_seminar_percent = ref<number>(0);
|
||||
const other_training_percent = ref<number>(0);
|
||||
const evaluate_result = ref<any>();
|
||||
const evaluate_result_option = ref<any>([
|
||||
{ name: "ผ่าน", value: 1 },
|
||||
{ name: "ไม่ผ่าน", value: 0 },
|
||||
]);
|
||||
|
||||
const develop_result = ref<any>();
|
||||
const develop_result_option = ref<any>([
|
||||
{ name: "ไม่ผ่านการทดลองงาน", value: 0 },
|
||||
{ name: "ผ่านการทดลองงาน", value: 1 },
|
||||
{ name: "ผ่าน (สูงกว่าร้อยละ 60)", value: 1 },
|
||||
{ name: "ไม่ผ่าน (ต่ำกว่าร้อยละ 60)", value: 0 },
|
||||
]);
|
||||
// footer
|
||||
const Autherise = ref<any>(null);
|
||||
|
|
@ -329,14 +336,18 @@ const putformData = () => {
|
|||
sum_score: Number(score1.value) + Number(score2.value),
|
||||
sum_percent: Number(percent_score1.value) + Number(percent_score2.value),
|
||||
chairman_dated: dateToISO(dateAutherise.value),
|
||||
develop_result: develop_result.value,
|
||||
develop_result: Number(develop_result.value),
|
||||
evaluate_result: Number(evaluate_result.value),
|
||||
};
|
||||
dialogConfirm($q, async () => {
|
||||
await http
|
||||
.post(config.API.createformChairman(assignId.value), data)
|
||||
.then((res: any) => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
router.push(
|
||||
`/probation/detail/${personalId.value}/${assignId.value}`
|
||||
);
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -350,19 +361,9 @@ const putformData = () => {
|
|||
<q-item>
|
||||
<q-item-section>
|
||||
<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>
|
||||
|
|
@ -419,19 +420,11 @@ const putformData = () => {
|
|||
<q-item-section>
|
||||
<q-item-label>
|
||||
<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 side>
|
||||
<q-rating
|
||||
:disable="!status"
|
||||
v-model="learn_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" v-model="learn_level" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -460,19 +453,11 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
1.2.
|
||||
ความสามารถในการปรับใช้ความรู้กับงานในหน้าที่</q-item-label
|
||||
>
|
||||
ความสามารถในการปรับใช้ความรู้กับงานในหน้าที่</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side>
|
||||
<q-rating
|
||||
:disable="!status"
|
||||
v-model="apply_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" v-model="apply_level" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -500,19 +485,11 @@ const putformData = () => {
|
|||
<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
|
||||
:disable="!status"
|
||||
v-model="success_level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" v-model="success_level" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -541,16 +518,10 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
1.4 อื่นๆ
|
||||
<q-checkbox
|
||||
:disable="!status"
|
||||
class="q-ml-sm"
|
||||
dense
|
||||
v-model="etc"
|
||||
@click="
|
||||
(achievement_other.text = ''),
|
||||
(achievement_other.level = 0)
|
||||
"
|
||||
/></q-item-label>
|
||||
<q-checkbox :disable="!status" 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>
|
||||
|
|
@ -561,33 +532,16 @@ const putformData = () => {
|
|||
<q-item dense tag="label" v-ripple>
|
||||
<q-item-section class="q-ml-md">
|
||||
<q-item-label>
|
||||
<q-input
|
||||
:disable="!status"
|
||||
v-model="achievement_other.text"
|
||||
label="กรอกอื่นๆ"
|
||||
dense
|
||||
lazy-rules
|
||||
autogrow
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input :disable="!status" 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
|
||||
:disable="!status"
|
||||
v-model="achievement_other.level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" v-model="achievement_other.level" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -640,27 +594,15 @@ const putformData = () => {
|
|||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
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"
|
||||
>
|
||||
<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-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
|
||||
:disable="!status"
|
||||
v-model="conduct_level[i]"
|
||||
:val="list.id"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" 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>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -688,27 +630,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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
|
||||
:disable="!status"
|
||||
v-model="moral_level[i]"
|
||||
:val="list.id"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" 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>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -736,27 +666,15 @@ const putformData = () => {
|
|||
<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"
|
||||
>
|
||||
<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-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
|
||||
:disable="!status"
|
||||
v-model="discipline_level[i]"
|
||||
:val="list.id"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" 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>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -783,53 +701,25 @@ const putformData = () => {
|
|||
<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
|
||||
:disable="!status"
|
||||
class="q-ml-sm"
|
||||
dense
|
||||
v-model="etc2"
|
||||
@click="
|
||||
(behavio_orther.text = ''), (behavio_orther.level = 0)
|
||||
"
|
||||
/>
|
||||
<q-checkbox :disable="!status" 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
|
||||
:disable="!status"
|
||||
v-model="behavio_orther.text"
|
||||
label="กรอกอื่นๆ"
|
||||
dense
|
||||
lazy-rules
|
||||
autogrow
|
||||
hide-bottom-space
|
||||
outlined
|
||||
class="bg-white"
|
||||
:rules="[
|
||||
<q-input :disable="!status" 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
|
||||
:disable="!status"
|
||||
v-model="behavio_orther.level"
|
||||
max="5"
|
||||
size="sm"
|
||||
color="grey"
|
||||
:color-selected="ratingColors"
|
||||
label="ระดับการประเมินพฤติกรรม"
|
||||
>
|
||||
<q-rating :disable="!status" v-model="behavio_orther.level" max="5" size="sm" color="grey"
|
||||
:color-selected="ratingColors" label="ระดับการประเมินพฤติกรรม">
|
||||
<template v-slot:tip-1>
|
||||
<q-tooltip>ต่ำกว่าความคาดหวังมาก</q-tooltip>
|
||||
</template>
|
||||
|
|
@ -857,8 +747,7 @@ const putformData = () => {
|
|||
<q-item dense tag="label" v-ripple>
|
||||
<q-item-section>
|
||||
<q-item-label>
|
||||
คะแนนรวมพฤติกรรมการปฎิบัติราชการ</q-item-label
|
||||
>
|
||||
คะแนนรวมพฤติกรรมการปฎิบัติราชการ</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side>
|
||||
<q-field dense>
|
||||
|
|
@ -890,8 +779,7 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
3.1.
|
||||
ผลสัมฤทธิ์ของการทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label
|
||||
>
|
||||
ผลสัมฤทธิ์ของการทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label style="color: gray">
|
||||
|
|
@ -924,8 +812,7 @@ const putformData = () => {
|
|||
<q-item-label>
|
||||
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
|
||||
3.2.
|
||||
พฤติกรรมของผู้ทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label
|
||||
>
|
||||
พฤติกรรมของผู้ทดลองปฏิบัติบัติหน้าที่ราชการ</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label style="color: gray">
|
||||
|
|
@ -997,23 +884,14 @@ const putformData = () => {
|
|||
<div class="col">ร้อยละ</div>
|
||||
</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="row q-gutter-md align-center">
|
||||
<div class="col-8">1. การปฐมนิเทศ</div>
|
||||
<div class="col">
|
||||
<q-input :disable="!status" dense type="number" v-model="orientation" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input
|
||||
:disable="!status"
|
||||
dense
|
||||
type="number"
|
||||
v-model="orientation_percent"
|
||||
/>
|
||||
<q-input :disable="!status" dense type="number" v-model="orientation_percent" />
|
||||
</div>
|
||||
</div>
|
||||
<q-separator class="q-my-xs" />
|
||||
|
|
@ -1023,12 +901,7 @@ const putformData = () => {
|
|||
<q-input :disable="!status" dense type="number" v-model="self_learning" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input
|
||||
:disable="!status"
|
||||
dense
|
||||
type="number"
|
||||
v-model="self_learning_percent"
|
||||
/>
|
||||
<q-input :disable="!status" dense type="number" v-model="self_learning_percent" />
|
||||
</div>
|
||||
</div>
|
||||
<q-separator class="q-my-xs" />
|
||||
|
|
@ -1038,12 +911,7 @@ const putformData = () => {
|
|||
<q-input :disable="!status" dense type="number" v-model="training_seminar" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input
|
||||
:disable="!status"
|
||||
dense
|
||||
type="number"
|
||||
v-model="training_seminar_percent"
|
||||
/>
|
||||
<q-input :disable="!status" dense type="number" v-model="training_seminar_percent" />
|
||||
</div>
|
||||
</div>
|
||||
<q-separator class="q-my-xs" />
|
||||
|
|
@ -1055,12 +923,7 @@ const putformData = () => {
|
|||
<q-input :disable="!status" dense type="number" v-model="other_training" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<q-input
|
||||
:disable="!status"
|
||||
dense
|
||||
type="number"
|
||||
v-model="other_training_percent"
|
||||
/>
|
||||
<q-input :disable="!status" dense type="number" v-model="other_training_percent" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- <q-list dense>
|
||||
|
|
@ -1177,6 +1040,20 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row col-12 q-gutter-lg no-margin">
|
||||
<div class="col-12 row justify-center">
|
||||
<div class="col-12 text-top0 items-center">
|
||||
<!-- <q-avatar class="bg-grey-2 q-mr-sm" size="28px">5</q-avatar> -->
|
||||
สรุปผลการพัฒนา
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-select :disable="!status" class="col-xs-12" 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 class="row col-12 q-gutter-lg no-margin">
|
||||
<div class="col-12 row justify-center">
|
||||
<div class="col-12 text-top0 items-center">
|
||||
|
|
@ -1184,19 +1061,9 @@ const putformData = () => {
|
|||
สรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-select
|
||||
:disable="!status"
|
||||
class="col-xs-12"
|
||||
dense
|
||||
v-model="develop_result"
|
||||
outlined
|
||||
:options="develop_result_option"
|
||||
option-label="name"
|
||||
option-value="value"
|
||||
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ"
|
||||
map-options
|
||||
emit-value
|
||||
/>
|
||||
<q-select :disable="!status" class="col-xs-12" dense v-model="evaluate_result" outlined
|
||||
:options="evaluate_result_option" option-label="name" option-value="value"
|
||||
label="เลือกสรุปผล การประเมินผลทดลองปฎิบัติหน้าที่ราชการ" map-options emit-value />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1209,25 +1076,11 @@ const putformData = () => {
|
|||
ผู้บังคับบัญชาผู้มอบหมายงาน
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="commander.name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="commander.name" outlined label="ผู้บังคับบัญชา"
|
||||
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"
|
||||
:readonly="!status"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="dateAutherise" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0" :readonly="!status">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -1235,25 +1088,12 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
:disable="!status"
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null
|
||||
? date2Thai(dateAutherise)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined :disable="!status" 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>
|
||||
|
|
@ -1262,25 +1102,11 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="mentors[0].name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select 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"
|
||||
>
|
||||
<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>
|
||||
|
|
@ -1288,25 +1114,12 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
:disable="!status"
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null
|
||||
? date2Thai(dateAutherise)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input :disable="!status" 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>
|
||||
|
|
@ -1315,25 +1128,11 @@ const putformData = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="mentors[1].name"
|
||||
outlined
|
||||
label="ผู้บังคับบัญชา"
|
||||
disable
|
||||
/>
|
||||
<q-select 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"
|
||||
>
|
||||
<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>
|
||||
|
|
@ -1341,25 +1140,12 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
:disable="!status"
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null
|
||||
? date2Thai(dateAutherise)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input :disable="!status" 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>
|
||||
|
|
@ -1374,25 +1160,10 @@ const putformData = () => {
|
|||
<div class="col-12 row">
|
||||
<div class="col-12 text-top2 row items-center">คณะกรรมการ</div>
|
||||
<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
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="chairman.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"
|
||||
>
|
||||
<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>
|
||||
|
|
@ -1400,25 +1171,12 @@ const putformData = () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
:disable="!status"
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
dateAutherise != null
|
||||
? date2Thai(dateAutherise)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input :disable="!status" 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>
|
||||
|
|
@ -1431,12 +1189,7 @@ const putformData = () => {
|
|||
|
||||
<q-toolbar class="text-primary">
|
||||
<q-space />
|
||||
<q-btn
|
||||
label="บันทึก"
|
||||
color="secondary"
|
||||
@click="savaForm"
|
||||
v-if="status"
|
||||
/>
|
||||
<q-btn label="บันทึก" color="secondary" @click="savaForm" v-if="status" />
|
||||
</q-toolbar>
|
||||
</div>
|
||||
</q-card-section>
|
||||
|
|
@ -1448,8 +1201,10 @@ const putformData = () => {
|
|||
.align-center {
|
||||
display: flex;
|
||||
|
||||
align-items: center; /* จัดเนื้อหาให้อยู่กลางแนวตั้ง */
|
||||
align-items: center;
|
||||
/* จัดเนื้อหาให้อยู่กลางแนวตั้ง */
|
||||
}
|
||||
|
||||
.text-top2 {
|
||||
font-weight: 500;
|
||||
padding-bottom: 8px;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import config from "@/app.config";
|
|||
const $q = useQuasar();
|
||||
const myForm = ref<QForm>();
|
||||
const mixin = useCounterMixin();
|
||||
const router = useRouter();
|
||||
const {
|
||||
date2Thai,
|
||||
notifyError,
|
||||
|
|
@ -20,7 +21,8 @@ const {
|
|||
} = mixin;
|
||||
const route = useRoute();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const saveData = ref<boolean>(true)
|
||||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
const action = ref<string>('add')
|
||||
const assign = ref<any>([]);
|
||||
const mentors = ref<any>([]);
|
||||
const commander = ref<any>([]);
|
||||
|
|
@ -31,7 +33,7 @@ const saveEdit = (id: string) => {
|
|||
};
|
||||
const edit = () => {
|
||||
status.value = true;
|
||||
console.log(status.value);
|
||||
// console.log(status.value);
|
||||
};
|
||||
const cancel = () => {
|
||||
status.value = false;
|
||||
|
|
@ -40,6 +42,7 @@ onMounted(() => {
|
|||
fecthAssign(assignId.value);
|
||||
fecthResult(assignId.value);
|
||||
});
|
||||
|
||||
const fecthAssign = async (id: string) => {
|
||||
showLoader();
|
||||
await http
|
||||
|
|
@ -74,6 +77,7 @@ const reson = ref<string>("");
|
|||
const chairman_dated = ref<string>("");
|
||||
const director1_dated = ref<any>("");
|
||||
const director2_dated = ref<any>("");
|
||||
|
||||
const fecthResult = async (id: string) => {
|
||||
await http
|
||||
.get(config.API.createformReport(id))
|
||||
|
|
@ -89,7 +93,7 @@ const fecthResult = async (id: string) => {
|
|||
director1_dated.value = data.director1_dated;
|
||||
director2_dated.value = data.director2_dated;
|
||||
status.value = false;
|
||||
saveData.value = false;
|
||||
action.value = 'edit';
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
|
|
@ -138,6 +142,9 @@ const postData = async () => {
|
|||
.post(config.API.createformReport(assignId.value), data)
|
||||
.then(() => {
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
router.push(
|
||||
`/probation/detail/${personalId.value}/${assignId.value}`
|
||||
);
|
||||
})
|
||||
.catch((e: any) => {
|
||||
console.log(e);
|
||||
|
|
@ -148,17 +155,12 @@ const postData = async () => {
|
|||
|
||||
<template>
|
||||
<div class="row col-12 q-ma-xs">
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<div>แบบรายงานการประเมินฯ</div>
|
||||
<q-space />
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<div>แบบรายงานการประเมินฯ</div>
|
||||
<q-space />
|
||||
<div v-if="action == 'edit'">
|
||||
<div v-if="status == false">
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
@click="edit()"
|
||||
icon="mdi-pencil-outline"
|
||||
>
|
||||
<q-btn flat round color="primary" @click="edit()" icon="mdi-pencil-outline">
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
|
@ -166,30 +168,103 @@ const postData = async () => {
|
|||
<q-btn flat round color="red" @click="cancel()" icon="mdi-undo">
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="public"
|
||||
@click="saveEdit(assignId)"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-btn flat round color="public" @click="saveEdit(assignId)" icon="mdi-content-save-outline">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-12">
|
||||
</div>
|
||||
<div class="row col-12">
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker menu-class-name="modalfix" v-model="date_start" :locale="'th'" autoApply borderless
|
||||
:readonly="!status" :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
<template #year-overlay-value="{ value }">
|
||||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input 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>
|
||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker menu-class-name="modalfix" v-model="date_finish" :locale="'th'" autoApply :readonly="!status"
|
||||
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 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>
|
||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-select :rules="[
|
||||
(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="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-select :rules="[
|
||||
(val) =>
|
||||
!!val || 'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ',
|
||||
]" hide-bottom-space :options="optionsResult" class="col-xs-12 col-sm-6" :disable="!status" dense borderless
|
||||
emit-value map-options option-label="label" option-value="value" outlined v-model="result"
|
||||
label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<div class="col-12">
|
||||
<q-input hide-bottom-space dense borderless outlined :disable="!status" class="bg-white" type="textarea"
|
||||
v-model="reson" label="เหตุผล" :rules="[(val) => !!val || 'กรุณาระบุเหตุผล']" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 q-mt-lg">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
|
||||
<div class="row col-12 q-gutter-lg q-mt-sm">
|
||||
<div class="col-12 row">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
ประธานคณะกรรมการประเมินผลการปฏิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="date_start"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly ="!status"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<q-select 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">
|
||||
<datepicker menu-class-name="modalfix" v-model="chairman_dated" :locale="'th'" :readonly="!status" autoApply
|
||||
borderless :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -197,64 +272,10 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
:disable="!status"
|
||||
class="full-width datepicker"
|
||||
:model-value="
|
||||
date_start != null ? date2Thai(date_start) : null
|
||||
"
|
||||
:label="`${'ระหว่างวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"
|
||||
>
|
||||
<q-input 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>
|
||||
<q-icon
|
||||
name="event"
|
||||
class="cursor-pointer"
|
||||
style="color: var(--q-primary)"
|
||||
>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="date_finish"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
:readonly="!status"
|
||||
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
|
||||
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>
|
||||
<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>
|
||||
|
|
@ -265,271 +286,76 @@ const postData = async () => {
|
|||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
คณะกรรมการ
|
||||
<!-- ความเห็นของผู้มีอำนาจสั่งบรรจุตามมาตรา 52 -->
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-select
|
||||
:rules="[
|
||||
(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="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ"
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="director_id2" outlined :disable="!status"
|
||||
:options="optionDirector" label="" option-label="name" />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker menu-class-name="modalfix" v-model="director1_dated" :locale="'th'" autoApply borderless
|
||||
:readonly="!status" :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
<template #year-overlay-value="{ value }">
|
||||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input outlined dense :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>
|
||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
คณะกรรมการ
|
||||
<!-- ผู้มีอำนาจสั่งบรรจุตามมาตรา 52 -->
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="director_id3" outlined :options="optionDirector"
|
||||
:disable="!status" label="" option-label="name" />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker menu-class-name="modalfix" v-model="director2_dated" :locale="'th'" autoApply :readonly="!status"
|
||||
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 outlined dense :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>
|
||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-select
|
||||
:rules="[
|
||||
(val) =>
|
||||
!!val || 'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ',
|
||||
]"
|
||||
hide-bottom-space
|
||||
:options="optionsResult"
|
||||
class="col-xs-12 col-sm-6"
|
||||
:disable="!status"
|
||||
dense
|
||||
borderless
|
||||
emit-value
|
||||
map-options
|
||||
option-label="label"
|
||||
option-value="value"
|
||||
outlined
|
||||
v-model="result"
|
||||
label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<div class="col-12">
|
||||
<q-input
|
||||
hide-bottom-space
|
||||
dense
|
||||
borderless
|
||||
outlined
|
||||
:disable="!status"
|
||||
class="bg-white"
|
||||
type="textarea"
|
||||
|
||||
v-model="reson"
|
||||
label="เหตุผล"
|
||||
:rules="[(val) => !!val || 'กรุณาระบุเหตุผล']"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 q-mt-lg">
|
||||
<q-separator size="3px" color="grey-2" />
|
||||
</div>
|
||||
|
||||
<div class="row col-12 q-gutter-lg q-mt-sm">
|
||||
<div class="col-12 row">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
ประธานคณะกรรมการประเมินผลการปฏิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
<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"
|
||||
label=""
|
||||
option-label="name"
|
||||
disable
|
||||
/>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="chairman_dated"
|
||||
:locale="'th'"
|
||||
:readonly="!status"
|
||||
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
|
||||
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>
|
||||
<q-icon
|
||||
name="event"
|
||||
class="cursor-pointer"
|
||||
style="color: var(--q-primary)"
|
||||
>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
คณะกรรมการ
|
||||
<!-- ความเห็นของผู้มีอำนาจสั่งบรรจุตามมาตรา 52 -->
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="director_id2"
|
||||
outlined
|
||||
:disable="!status"
|
||||
:options="optionDirector"
|
||||
label=""
|
||||
option-label="name"
|
||||
/>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="director1_dated"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="!status"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
<template #year-overlay-value="{ value }">
|
||||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
: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>
|
||||
<q-icon
|
||||
name="event"
|
||||
class="cursor-pointer"
|
||||
style="color: var(--q-primary)"
|
||||
>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<div class="col-12 text-top2 row items-center">
|
||||
คณะกรรมการ
|
||||
<!-- ผู้มีอำนาจสั่งบรรจุตามมาตรา 52 -->
|
||||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
class="col-xs-12 col-sm-8"
|
||||
dense
|
||||
v-model="director_id3"
|
||||
outlined
|
||||
:options="optionDirector"
|
||||
:disable="!status"
|
||||
label=""
|
||||
option-label="name"
|
||||
/>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="director2_dated"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
:readonly="!status"
|
||||
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
|
||||
outlined
|
||||
dense
|
||||
: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>
|
||||
<q-icon
|
||||
name="event"
|
||||
class="cursor-pointer"
|
||||
style="color: var(--q-primary)"
|
||||
>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-toolbar class="text-primary">
|
||||
<q-space />
|
||||
<q-btn
|
||||
label="บันทึก"
|
||||
color="secondary"
|
||||
@click="savaForm"
|
||||
v-if="!saveData"
|
||||
/>
|
||||
</q-toolbar>
|
||||
<q-toolbar class="text-primary">
|
||||
<q-space />
|
||||
<q-btn label="บันทึก" color="secondary" @click="savaForm" v-if="action == 'add'" />
|
||||
</q-toolbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -54,6 +54,9 @@ const fecthFormdata = async (id: string) => {
|
|||
Autherise.value = res.data.data.director.name;
|
||||
|
||||
list1_1.value = res.data.data.assign_output;
|
||||
res.data.data.assign_output.forEach((e: any) => {
|
||||
list1_2.push({ id: "", label: "" })
|
||||
});
|
||||
evaluate_expenct_level.value = res.data.data.assign_output.map((e) => ({
|
||||
id: e.id,
|
||||
labal: e.output_desc,
|
||||
|
|
@ -76,13 +79,7 @@ const list1_1 = ref<any>([
|
|||
// { id: "4", label: "ผลผลิตของงานที่คาดหวัง 4" },
|
||||
// { id: "5", label: "ผลผลิตของงานที่คาดหวัง 5" },
|
||||
]);
|
||||
const list1_2 = [
|
||||
{ id: "1", label: "ผลผลิตของงานที่เกิดขึ้น 1" },
|
||||
// { id: "2", label: "ผลผลิตของงานที่เกิดขึ้น 2" },
|
||||
// { id: "3", label: "ผลผลิตของงานที่เกิดขึ้น 3" },
|
||||
// { id: "4", label: "ผลผลิตของงานที่เกิดขึ้น 4" },
|
||||
// { id: "5", label: "ผลผลิตของงานที่เกิดขึ้น 5" },
|
||||
];
|
||||
const list1_2 = [{ id: "", label: "" }];
|
||||
const list2_1 = [
|
||||
{ id: "1", label: "ให้บริการประชาชนหรือผู้รับบริการด้วยอัธยาศัยดี" },
|
||||
{ id: "2", label: "มีความรับผิดชอบในการปฏิบัติบัติงาน" },
|
||||
|
|
@ -303,6 +300,7 @@ const putformData = () => {
|
|||
};
|
||||
dialogConfirm($q, async () => await saveformdata(data));
|
||||
};
|
||||
|
||||
const saveformdata = async (data: any) => {
|
||||
await http
|
||||
.post(config.API.createformevaluate(assignId.value), data)
|
||||
|
|
@ -718,8 +716,7 @@ const saveformdata = async (data: any) => {
|
|||
สิ่งที่ควรปรับปรุง (ไม่เกิน 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"
|
||||
/>
|
||||
type="textarea" hide-bottom-space label="กรอกสิ่งที่ควรปรับปรุง" :row="5" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -899,8 +896,7 @@ const saveformdata = async (data: any) => {
|
|||
สิ่งที่ควรปรับปรุง (ไม่เกิน 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"
|
||||
/>
|
||||
type="textarea" hide-bottom-space label="กรอกสิ่งที่ควรปรับปรุง" :row="5" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@
|
|||
import { ref, watch, onMounted } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const assignId = ref<string>(route.params.form.toString());
|
||||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
|
||||
const tabHead = ref<string>("save1");
|
||||
const props = defineProps({
|
||||
|
|
@ -24,12 +21,12 @@ const props = defineProps({
|
|||
return "Default function";
|
||||
},
|
||||
},
|
||||
activeTab: String,
|
||||
});
|
||||
|
||||
watch(tabHead, () => {
|
||||
props.changeTab(tabHead.value);
|
||||
});
|
||||
|
||||
const nextPage = () => {
|
||||
props.addData();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,17 +3,15 @@ import { ref, defineAsyncComponent, watch, onMounted, onUpdated } from "vue";
|
|||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
const Header = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/Header.vue"
|
||||
)
|
||||
const Header = defineAsyncComponent(() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/Header.vue"
|
||||
)
|
||||
);
|
||||
const FormSaveResult = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue"
|
||||
)
|
||||
const FormSaveResult = defineAsyncComponent(() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue"
|
||||
)
|
||||
);
|
||||
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -28,24 +26,22 @@ const assignId = ref<string>(route.params.form.toString());
|
|||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
|
||||
const evaluate = ref<any>([]);
|
||||
const tabHead = ref<string>("save1");
|
||||
const tabs = ref<any>([]);
|
||||
const tab = ref<string>("save1");
|
||||
const activeTab = ref<string>("tab2");
|
||||
const dataArrayNumber = ref<number>();
|
||||
|
||||
onMounted(async () => {
|
||||
await fecthAssign(assignId.value);
|
||||
tab.value = "save1";
|
||||
});
|
||||
|
||||
const fecthAssign = async (id: string) => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.formevaluate(id))
|
||||
.then((res: any) => {
|
||||
.then(async (res: any) => {
|
||||
evaluate.value = res.data.data.evaluate;
|
||||
tabs.value = evaluate.value;
|
||||
// console.log(tabs.value);
|
||||
dataArrayNumber.value = 1;
|
||||
})
|
||||
.catch((e: any) => {
|
||||
// console.log(e);
|
||||
|
|
@ -57,8 +53,8 @@ const fecthAssign = async (id: string) => {
|
|||
};
|
||||
|
||||
const changeTab = (tabVal: string) => {
|
||||
console.log("tabVal===>", tabVal);
|
||||
tab.value = tabVal;
|
||||
dataArrayNumber.value = Number(tabVal.charAt(4));
|
||||
};
|
||||
const addData = () => {
|
||||
router.push(
|
||||
|
|
@ -68,28 +64,15 @@ const addData = () => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<Header
|
||||
:change-tab="changeTab"
|
||||
:activeTab="activeTab"
|
||||
:add-data="addData"
|
||||
:loop="tabs.length"
|
||||
v-if="tabs.length > 0"
|
||||
/>
|
||||
<Header v-if="tabs.length > 0" :change-tab="changeTab" :add-data="addData" :loop="tabs.length" />
|
||||
|
||||
<q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel
|
||||
v-for="tabName in tabs"
|
||||
:key="tabName"
|
||||
:name="'save' + tabName.no"
|
||||
>
|
||||
<FormSaveResult :tab="tab" />
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
<q-page-container v-if="tabs.length > 0">
|
||||
<FormSaveResult :tab="tab" :data="evaluate.find((x: any) => x.no === dataArrayNumber)" action="edit" />
|
||||
</q-page-container>
|
||||
<div class="q-gutter-md" v-if="tabs.length === 0">
|
||||
|
||||
<div class="q-gutter-md" v-else-if="tabs.length == 0">
|
||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||
<q-btn outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
||||
<q-btn outline color="primary" label="สร้างแบบบันทึกผล" @click="addData" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -5,18 +5,9 @@ import config from "@/app.config";
|
|||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
const Header = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/Header.vue"
|
||||
)
|
||||
);
|
||||
const FormEvaluate = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue"
|
||||
)
|
||||
);
|
||||
|
||||
const Header = defineAsyncComponent(() => import("@/modules/05_placement/components/probation/FormEvaluation/Header.vue"));
|
||||
const FormEvaluate = defineAsyncComponent(() => import("@/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue"));
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
|
|
@ -28,10 +19,12 @@ const personalId = ref<string>(route.params.personalId.toString());
|
|||
|
||||
const tab = ref<string>("save1");
|
||||
const tabs = ref<any>([]);
|
||||
const activeTab = ref<string>("tab2");
|
||||
const dataArrayNumber = ref<number>(1);
|
||||
const evaluate = ref<any>([]);
|
||||
|
||||
const changeTab = (tabVal: string) => {
|
||||
tab.value = tabVal;
|
||||
dataArrayNumber.value = Number(tabVal.charAt(4));
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
|
|
@ -43,9 +36,9 @@ const fecthAssign = async (id: string) => {
|
|||
await http
|
||||
.get(config.API.createformCommader(id))
|
||||
.then((res: any) => {
|
||||
if (res.data.data.evaluate_no > 0) {
|
||||
tabs.value = res.data.data.evaluate;
|
||||
}
|
||||
evaluate.value = res.data.data.evaluate;
|
||||
tabs.value = evaluate.value;
|
||||
dataArrayNumber.value = 1;
|
||||
})
|
||||
.catch((e: any) => {
|
||||
// console.log(e);
|
||||
|
|
@ -63,38 +56,13 @@ const addData = () => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<Header
|
||||
:change-tab="changeTab"
|
||||
:activeTab="activeTab"
|
||||
:loop="tabs.length"
|
||||
:add-data="addData"
|
||||
v-if="tabs.length > 0"
|
||||
/>
|
||||
<Header v-if="tabs.length > 0" :change-tab="changeTab" :loop="tabs.length" :add-data="addData" />
|
||||
|
||||
<!-- <q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel name="save1">
|
||||
<FormEvaluate :tab="tab" />
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="save2">
|
||||
<FormEvaluate :tab="tab"/>
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</q-page-container> -->
|
||||
<q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel
|
||||
v-for="tabName in tabs"
|
||||
:key="tabName"
|
||||
:name="'save' + tabName.no"
|
||||
>
|
||||
<FormEvaluate :tab="tab" />
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
<q-page-container v-if="tabs.length > 0">
|
||||
<FormEvaluate :tab="tab" :data="evaluate.find((x: any) => x.no === dataArrayNumber)" action="edit" />
|
||||
</q-page-container>
|
||||
|
||||
<div class="q-gutter-md" v-if="tabs.length === 0">
|
||||
<div v-else class="q-gutter-md">
|
||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||
<q-btn outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,18 +5,9 @@ import config from "@/app.config";
|
|||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
const Header = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/Header.vue"
|
||||
)
|
||||
);
|
||||
const FormEvaluateScore = defineAsyncComponent(
|
||||
() =>
|
||||
import(
|
||||
"@/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue"
|
||||
)
|
||||
);
|
||||
|
||||
const Header = defineAsyncComponent(() => import("@/modules/05_placement/components/probation/FormEvaluation/Header.vue"));
|
||||
const FormEvaluateScore = defineAsyncComponent(() => import("@/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue"));
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
|
|
@ -28,7 +19,8 @@ const personalId = ref<string>(route.params.personalId.toString());
|
|||
|
||||
const tab = ref<string>("save1");
|
||||
const tabs = ref<any>([]);
|
||||
const activeTab = ref<string>("tab2");
|
||||
const dataArrayNumber = ref<number>(1);
|
||||
const evaluate = ref<any>([]);
|
||||
|
||||
onMounted(() => {
|
||||
fecthAssign(assignId.value);
|
||||
|
|
@ -39,9 +31,9 @@ const fecthAssign = async (id: string) => {
|
|||
await http
|
||||
.get(config.API.createformChairman(id))
|
||||
.then((res: any) => {
|
||||
if (res.data.data.evaluate_no > 0) {
|
||||
tabs.value = res.data.data.evaluate;
|
||||
}
|
||||
evaluate.value = res.data.data.evaluate;
|
||||
tabs.value = evaluate.value;
|
||||
dataArrayNumber.value = 1;
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -55,42 +47,20 @@ const addData = () => {
|
|||
`/probation/detail/addevaluascore/${personalId.value}/${assignId.value}`
|
||||
);
|
||||
};
|
||||
|
||||
const changeTab = (tabVal: string) => {
|
||||
tab.value = tabVal;
|
||||
dataArrayNumber.value = Number(tabVal.charAt(4));
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Header
|
||||
:change-tab="changeTab"
|
||||
:activeTab="activeTab"
|
||||
:loop="tabs.length"
|
||||
:add-data="addData"
|
||||
v-if="tabs.length > 0"
|
||||
/>
|
||||
<Header v-if="tabs.length > 0" :change-tab="changeTab" :loop="tabs.length" :add-data="addData" />
|
||||
|
||||
<!-- <q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel name="save1">
|
||||
<FormEvaluateScore :tab="tab" />
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="save2">
|
||||
<FormEvaluateScore :tab="tab" />
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</q-page-container> -->
|
||||
<q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel
|
||||
v-for="tabName in tabs"
|
||||
:key="tabName"
|
||||
:name="'save' + tabName.no"
|
||||
>
|
||||
<FormEvaluateScore :tab="tab" />
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
<q-page-container v-if="tabs.length > 0">
|
||||
<FormEvaluateScore :tab="tab" :data="evaluate.find((x: any) => x.no === dataArrayNumber)" action="edit" />
|
||||
</q-page-container>
|
||||
|
||||
<div class="q-gutter-md" v-if="tabs.length === 0">
|
||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||
<q-btn outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { useRouter } from "vue-router";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { ref, defineAsyncComponent } from "vue";
|
||||
|
||||
const ProbationFormAssign = defineAsyncComponent(
|
||||
|
|
@ -18,9 +18,16 @@ const TabsTemplate3 = defineAsyncComponent(
|
|||
() => import("@/modules/05_placement/components/probation/FormEvaluation/Template3.vue")
|
||||
);
|
||||
|
||||
const SummaryScore = defineAsyncComponent(
|
||||
() => import("@/modules/05_placement/components/probation/SummaryScore.vue")
|
||||
);
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const drawer = ref<boolean>(true);
|
||||
const activeTab = ref<string>("tab1");
|
||||
const personalId = ref<string>(route.params.personalId.toString());
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -31,8 +38,8 @@ const activeTab = ref<string>("tab1");
|
|||
<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)" />
|
||||
การทดลองปฏิบัติหน้าที่ราชการของ นายสมคิด ยอดใจ
|
||||
@click="router.push(`/probation/detail/${personalId}`)" />
|
||||
การทดลองปฏิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
</q-toolbar>
|
||||
<q-separator />
|
||||
|
|
@ -92,7 +99,8 @@ const activeTab = ref<string>("tab1");
|
|||
แบบรายงาน<br />การประเมินฯ
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item>
|
||||
<q-item active-class="text-primary bg-teal-1 text-weight-medium" clickable class="q-py-sm" dense v-ripple
|
||||
:active="activeTab == 'tab6'" @click="activeTab = 'tab6'">
|
||||
<q-item-section>
|
||||
ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ
|
||||
</q-item-section>
|
||||
|
|
@ -123,6 +131,11 @@ const activeTab = ref<string>("tab1");
|
|||
<q-tab-panel name="tab5">
|
||||
<TabsTemplate3 />
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="tab6">
|
||||
<SummaryScore />
|
||||
</q-tab-panel>
|
||||
|
||||
</q-tab-panels>
|
||||
</q-layout>
|
||||
</q-page-container>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { QForm, useQuasar } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
const $q = useQuasar();
|
||||
const myForm = ref<QForm>();
|
||||
const mixin = useCounterMixin();
|
||||
const router = useRouter();
|
||||
const {
|
||||
date2Thai,
|
||||
notifyError,
|
||||
messageError,
|
||||
success,
|
||||
showLoader,
|
||||
hideLoader,
|
||||
dialogConfirm,
|
||||
} = mixin;
|
||||
const route = useRoute();
|
||||
|
||||
onMounted(() => {
|
||||
// fecthResult(assignId.value);
|
||||
});
|
||||
|
||||
// const fecthResult = async (id: string) => {
|
||||
// await http
|
||||
// .get(config.API.createformReport(id))
|
||||
// .then((res: any) => {
|
||||
// let data = res.data.data.evaluate;
|
||||
// console.log(data);
|
||||
// date_start.value = data.date_start;
|
||||
// date_finish.value = data.date_finish;
|
||||
// develop.value = Number(data.develop_complete);
|
||||
// result.value = Number(data.pass_result);
|
||||
// reson.value = data.reson;
|
||||
// chairman_dated.value = data.chairman_dated;
|
||||
// director1_dated.value = data.director1_dated;
|
||||
// director2_dated.value = data.director2_dated;
|
||||
// status.value = false;
|
||||
// action.value = 'edit';
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// console.log(e);
|
||||
// });
|
||||
// };
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="row col-12 q-ma-xs">
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<div> ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ </div>
|
||||
<q-space />
|
||||
</div>
|
||||
<div class="row col-12">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.text-top2 {
|
||||
font-weight: 500;
|
||||
padding-bottom: 8px;
|
||||
color: rgb(70, 68, 68);
|
||||
}
|
||||
|
||||
.text-top0 {
|
||||
font-weight: 600;
|
||||
padding-bottom: 8px;
|
||||
color: rgb(70, 68, 68);
|
||||
}
|
||||
|
||||
.q-rating__icon {
|
||||
text-shadow: transparent !important;
|
||||
}
|
||||
|
||||
.q-card {
|
||||
box-shadow: 0px 0px 0px 0px !important;
|
||||
}
|
||||
</style>
|
||||
Loading…
Add table
Add a link
Reference in a new issue