Merge branch 'develop' of https://github.com/Frappet/bma-ehr-frontend into develop
This commit is contained in:
commit
b3ba722e5a
3 changed files with 413 additions and 22 deletions
|
|
@ -1,19 +1,113 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
import { ref, reactive, watch } from "vue";
|
import { ref, reactive, watch, computed } from "vue";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
|
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
import type { DataOptionTechnique } from "@/modules/14_KPI/interface/index/Main";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
getAll: Function,
|
getAll: Function,
|
||||||
});
|
});
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const idKpi = ref<string>(route.params.id.toLocaleString());
|
const idKpi = ref<string>(route.params.id.toLocaleString());
|
||||||
|
|
||||||
|
const development = ref<any[]>([]);
|
||||||
|
const reasonDevelopment70 = ref<string>("");
|
||||||
|
const reasonDevelopment20 = ref<string>("");
|
||||||
|
const reasonDevelopment10 = ref<string>("");
|
||||||
|
const checkOtherBox11 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other1");
|
||||||
|
});
|
||||||
|
const checkOtherBox12 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other2");
|
||||||
|
});
|
||||||
|
const checkOtherBox13 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other3");
|
||||||
|
});
|
||||||
|
|
||||||
|
const isDevelopment70 = computed(() => {
|
||||||
|
return projectTechniquesOp1.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
const isDevelopment20 = computed(() => {
|
||||||
|
return projectTechniquesOp2.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
const isDevelopment10 = computed(() => {
|
||||||
|
return projectTechniquesOp3.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
||||||
|
{
|
||||||
|
value: "on_the_job_training",
|
||||||
|
label: "การฝึกปฏิบัติในงาน (On the job training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_project_assignment",
|
||||||
|
label: "การมอบหมายงาน/โครงการ (Job/Project assignment)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_shadowing",
|
||||||
|
label: "การติดตามเรียนรู้รูปแบบการทำงานของผู้บริหาร (Job shadowing)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_enlargement",
|
||||||
|
label: "การมอบหมายงานเพิ่มขึ้น (Job enlargement)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "internal_trainer",
|
||||||
|
label: "การเป็นวิทยากรภายในหน่วยงาน (Internal trainer)",
|
||||||
|
},
|
||||||
|
{ value: "rotation", label: "การหมุนเวียนงาน (Rotation)" },
|
||||||
|
{ value: "activity", label: "การทำกิจกรรม (Activity)" },
|
||||||
|
{ value: "site_visit", label: "การศึกษาดูงานนอกสถานที่ (Site visit)" },
|
||||||
|
{
|
||||||
|
value: "benchmarking",
|
||||||
|
label: "การแลกเปลี่ยน เทียบเคียงความรู้ ประสมการณ์ (Benchmarking)",
|
||||||
|
},
|
||||||
|
{ value: "problem_solving", label: "การแก้ปัญหา (Problem-solving)" },
|
||||||
|
{ value: "team_working", label: "การทำงานเป็นทีม (Team working)" },
|
||||||
|
{ value: "other1", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
const projectTechniquesOp2 = ref<DataOptionTechnique[]>([
|
||||||
|
{ value: "coaching", label: "การสอนงาน (Coaching)" },
|
||||||
|
{ value: "mentoring", label: "การเป็นพี่เลี้ยง (Mentoring)" },
|
||||||
|
{ value: "team_meeting", label: "การประชุมทีม (Team meeting)" },
|
||||||
|
{ value: "consulting", label: "การให้คำปรึกษา (Consulting)" },
|
||||||
|
{ value: "feedback", label: "การให้ข้อคิดเห็น/เสนอแนะ (Feedback)" },
|
||||||
|
{ value: "other2", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const projectTechniquesOp3 = ref<DataOptionTechnique[]>([
|
||||||
|
{
|
||||||
|
value: "self_learning",
|
||||||
|
label: "การเรียนรู้ด้วยตนเอง แบบ online/offline (Self – learning)",
|
||||||
|
},
|
||||||
|
{ value: "classroom_training", label: "การฝึกอบรม (Classroom training)" },
|
||||||
|
{
|
||||||
|
value: "in_house_training",
|
||||||
|
label: "การฝึกอบรมภายในองค์กร (In – house training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "public_training",
|
||||||
|
label: "การฝึกอบรมจากองค์กรภายนอก (Public training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "e_training",
|
||||||
|
label: "การฝึกอบรมผ่าน online (e – training / e – learning)",
|
||||||
|
},
|
||||||
|
{ value: "meeting", label: "การประชุม (Meeting)" },
|
||||||
|
{ value: "seminar", label: "การสัมมนา (Seminar)" },
|
||||||
|
{ value: "other3", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const {
|
const {
|
||||||
|
|
@ -59,9 +153,9 @@ function close() {
|
||||||
|
|
||||||
function onSubmit() {
|
function onSubmit() {
|
||||||
if (
|
if (
|
||||||
formData.isDevelopment70 == false &&
|
isDevelopment70.value == false &&
|
||||||
formData.isDevelopment20 == false &&
|
isDevelopment20.value == false &&
|
||||||
formData.isDevelopment10 == false
|
isDevelopment10.value == false
|
||||||
) {
|
) {
|
||||||
dialogMessageNotify($q, "กรุณาเลือกวิธีการพัฒนา อย่างน้อย 1 ตัวเลือก");
|
dialogMessageNotify($q, "กรุณาเลือกวิธีการพัฒนา อย่างน้อย 1 ตัวเลือก");
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -75,10 +169,15 @@ function onSubmit() {
|
||||||
achievement10: formData.achievement10,
|
achievement10: formData.achievement10,
|
||||||
achievement5: formData.achievement5,
|
achievement5: formData.achievement5,
|
||||||
achievement0: formData.achievement0,
|
achievement0: formData.achievement0,
|
||||||
isDevelopment70: formData.isDevelopment70,
|
isDevelopment70: isDevelopment70.value,
|
||||||
isDevelopment20: formData.isDevelopment20,
|
isDevelopment20: isDevelopment20.value,
|
||||||
isDevelopment10: formData.isDevelopment10,
|
isDevelopment10: isDevelopment10.value,
|
||||||
kpiUserEvaluationId: idKpi.value,
|
kpiUserEvaluationId: idKpi.value,
|
||||||
|
developmentProjects: development.value,
|
||||||
|
reasonDevelopment70:checkOtherBox11 ? reasonDevelopment70.value:'',
|
||||||
|
reasonDevelopment20:checkOtherBox12 ? reasonDevelopment20.value:'',
|
||||||
|
reasonDevelopment10:checkOtherBox13 ? reasonDevelopment10.value:'',
|
||||||
|
|
||||||
};
|
};
|
||||||
showLoader();
|
showLoader();
|
||||||
http[id.value ? "put" : "post"](url, body)
|
http[id.value ? "put" : "post"](url, body)
|
||||||
|
|
@ -113,6 +212,10 @@ watch(
|
||||||
formData.achievement10 = data.achievement10;
|
formData.achievement10 = data.achievement10;
|
||||||
formData.achievement5 = data.achievement5;
|
formData.achievement5 = data.achievement5;
|
||||||
formData.achievement0 = data.achievement0;
|
formData.achievement0 = data.achievement0;
|
||||||
|
development.value = data.developmentProjects;
|
||||||
|
reasonDevelopment70.value = data.developmentProjects.includes("other1") ? data.reasonDevelopment70:'';
|
||||||
|
reasonDevelopment20.value = data.developmentProjects.includes("other2") ? data.reasonDevelopment20:'';
|
||||||
|
reasonDevelopment10.value = data.developmentProjects.includes("other3") ? data.reasonDevelopment10:'';
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
messageError($q, e);
|
messageError($q, e);
|
||||||
|
|
@ -126,7 +229,7 @@ watch(
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<q-dialog persistent v-model="modal">
|
<q-dialog persistent v-model="modal">
|
||||||
<q-card style="width: 80%">
|
<q-card style="min-width: 90vw">
|
||||||
<q-form greedy @submit.prevent @validation-success="onSubmit">
|
<q-form greedy @submit.prevent @validation-success="onSubmit">
|
||||||
<DialogHeader
|
<DialogHeader
|
||||||
:tittle="`${id ? 'แก้ไข' : 'เพิ่ม'}การพัฒนาตนเอง`"
|
:tittle="`${id ? 'แก้ไข' : 'เพิ่ม'}การพัฒนาตนเอง`"
|
||||||
|
|
@ -151,8 +254,88 @@ watch(
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<span class="text-weight-medium">วิธีการพัฒนา</span>
|
<span class="text-weight-medium">วิธีการพัฒนา</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="row q-col-gutter-md full-width">
|
||||||
<q-checkbox
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-medium"
|
||||||
|
>70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)</span
|
||||||
|
>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp1"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox11">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment70"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-medium"
|
||||||
|
>20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)</span
|
||||||
|
>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp2"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox12">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment20"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-medium">10 การฝึกอบรมอื่นๆ</span>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp3"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox13">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment10"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <q-checkbox
|
||||||
v-model="formData.isDevelopment70"
|
v-model="formData.isDevelopment70"
|
||||||
label="70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)"
|
label="70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)"
|
||||||
/>
|
/>
|
||||||
|
|
@ -163,7 +346,7 @@ watch(
|
||||||
<q-checkbox
|
<q-checkbox
|
||||||
v-model="formData.isDevelopment10"
|
v-model="formData.isDevelopment10"
|
||||||
label="10 การฝึกอบรมอื่นๆ"
|
label="10 การฝึกอบรมอื่นๆ"
|
||||||
/>
|
/> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
|
|
@ -256,3 +439,14 @@ watch(
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
<style scoped>
|
||||||
|
:deep(.check_box .q-checkbox) {
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.other_custom_input {
|
||||||
|
position: absolute;
|
||||||
|
top: -25px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, watch } from "vue";
|
import { ref, watch, computed } from "vue";
|
||||||
import { useQuasar, type QTableProps } from "quasar";
|
import { useQuasar, type QTableProps } from "quasar";
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
|
import type { DataOptionTechnique } from "@/modules/14_KPI/interface/index/Main";
|
||||||
/**
|
/**
|
||||||
* importType
|
* importType
|
||||||
*/
|
*/
|
||||||
|
|
@ -25,6 +25,102 @@ import { useCounterMixin } from "@/stores/mixin";
|
||||||
/**
|
/**
|
||||||
* use
|
* use
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const development = ref<any[]>([]);
|
||||||
|
const reasonDevelopment70 = ref<string>("");
|
||||||
|
const reasonDevelopment20 = ref<string>("");
|
||||||
|
const reasonDevelopment10 = ref<string>("");
|
||||||
|
|
||||||
|
const checkOtherBox11 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other1");
|
||||||
|
});
|
||||||
|
const checkOtherBox12 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other2");
|
||||||
|
});
|
||||||
|
const checkOtherBox13 = computed<boolean>(() => {
|
||||||
|
return development.value.includes("other3");
|
||||||
|
});
|
||||||
|
|
||||||
|
const isDevelopment70 = computed(() => {
|
||||||
|
return projectTechniquesOp1.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
const isDevelopment20 = computed(() => {
|
||||||
|
return projectTechniquesOp2.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
const isDevelopment10 = computed(() => {
|
||||||
|
return projectTechniquesOp3.value.some((txt) =>
|
||||||
|
development.value.includes(txt.value)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
||||||
|
{
|
||||||
|
value: "on_the_job_training",
|
||||||
|
label: "การฝึกปฏิบัติในงาน (On the job training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_project_assignment",
|
||||||
|
label: "การมอบหมายงาน/โครงการ (Job/Project assignment)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_shadowing",
|
||||||
|
label: "การติดตามเรียนรู้รูปแบบการทำงานของผู้บริหาร (Job shadowing)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "job_enlargement",
|
||||||
|
label: "การมอบหมายงานเพิ่มขึ้น (Job enlargement)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "internal_trainer",
|
||||||
|
label: "การเป็นวิทยากรภายในหน่วยงาน (Internal trainer)",
|
||||||
|
},
|
||||||
|
{ value: "rotation", label: "การหมุนเวียนงาน (Rotation)" },
|
||||||
|
{ value: "activity", label: "การทำกิจกรรม (Activity)" },
|
||||||
|
{ value: "site_visit", label: "การศึกษาดูงานนอกสถานที่ (Site visit)" },
|
||||||
|
{
|
||||||
|
value: "benchmarking",
|
||||||
|
label: "การแลกเปลี่ยน เทียบเคียงความรู้ ประสมการณ์ (Benchmarking)",
|
||||||
|
},
|
||||||
|
{ value: "problem_solving", label: "การแก้ปัญหา (Problem-solving)" },
|
||||||
|
{ value: "team_working", label: "การทำงานเป็นทีม (Team working)" },
|
||||||
|
{ value: "other1", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
const projectTechniquesOp2 = ref<DataOptionTechnique[]>([
|
||||||
|
{ value: "coaching", label: "การสอนงาน (Coaching)" },
|
||||||
|
{ value: "mentoring", label: "การเป็นพี่เลี้ยง (Mentoring)" },
|
||||||
|
{ value: "team_meeting", label: "การประชุมทีม (Team meeting)" },
|
||||||
|
{ value: "consulting", label: "การให้คำปรึกษา (Consulting)" },
|
||||||
|
{ value: "feedback", label: "การให้ข้อคิดเห็น/เสนอแนะ (Feedback)" },
|
||||||
|
{ value: "other2", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const projectTechniquesOp3 = ref<DataOptionTechnique[]>([
|
||||||
|
{
|
||||||
|
value: "self_learning",
|
||||||
|
label: "การเรียนรู้ด้วยตนเอง แบบ online/offline (Self – learning)",
|
||||||
|
},
|
||||||
|
{ value: "classroom_training", label: "การฝึกอบรม (Classroom training)" },
|
||||||
|
{
|
||||||
|
value: "in_house_training",
|
||||||
|
label: "การฝึกอบรมภายในองค์กร (In – house training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "public_training",
|
||||||
|
label: "การฝึกอบรมจากองค์กรภายนอก (Public training)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "e_training",
|
||||||
|
label: "การฝึกอบรมผ่าน online (e – training / e – learning)",
|
||||||
|
},
|
||||||
|
{ value: "meeting", label: "การประชุม (Meeting)" },
|
||||||
|
{ value: "seminar", label: "การสัมมนา (Seminar)" },
|
||||||
|
{ value: "other3", label: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { showLoader, messageError, hideLoader } = useCounterMixin();
|
const { showLoader, messageError, hideLoader } = useCounterMixin();
|
||||||
|
|
||||||
|
|
@ -96,6 +192,11 @@ function fetchDetailIndividual() {
|
||||||
.map((key) => `isDevelopment${key}`);
|
.map((key) => `isDevelopment${key}`);
|
||||||
|
|
||||||
target.value = data.target;
|
target.value = data.target;
|
||||||
|
development.value = data.developmentProjects;
|
||||||
|
reasonDevelopment70.value = data.developmentProjects.includes("other1") ? data.reasonDevelopment70:'';
|
||||||
|
reasonDevelopment20.value = data.developmentProjects.includes("other2") ? data.reasonDevelopment20:'';
|
||||||
|
reasonDevelopment10.value = data.developmentProjects.includes("other3") ? data.reasonDevelopment10:'';
|
||||||
|
|
||||||
const achievements = ["10", "5", "0"];
|
const achievements = ["10", "5", "0"];
|
||||||
rows.value = achievements.map((i) => ({
|
rows.value = achievements.map((i) => ({
|
||||||
achievement: i,
|
achievement: i,
|
||||||
|
|
@ -130,13 +231,13 @@ watch(
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-dialog v-model="modal" persistent>
|
<q-dialog v-model="modal" persistent>
|
||||||
<q-card style="width: 500px; max-width: 60vw">
|
<q-card style="min-width: 90vw" class="no-scroll">
|
||||||
<DialogHeader
|
<DialogHeader
|
||||||
:tittle="'รายละเอียดแผนพัฒนาการปฏิบัติราชการรายบุคคล'"
|
:tittle="'รายละเอียดแผนพัฒนาการปฏิบัติราชการรายบุคคล'"
|
||||||
:close="onCloseDialoh"
|
:close="onCloseDialoh"
|
||||||
/>
|
/>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section>
|
<q-card-section class="scroll" style="max-height: 90vh">
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
|
|
@ -158,6 +259,91 @@ watch(
|
||||||
disable
|
disable
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row q-col-gutter-md full-width">
|
||||||
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-bold"
|
||||||
|
>70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)</span
|
||||||
|
>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
disable
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp1"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox11">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment70"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-bold"
|
||||||
|
>20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)</span
|
||||||
|
>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
disable
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp2"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox12">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment20"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-6 col-md-6 col-lg-4">
|
||||||
|
<span class="text-weight-bold">10 การฝึกอบรมอื่นๆ</span>
|
||||||
|
<q-option-group
|
||||||
|
class="check_box q-mt-sm"
|
||||||
|
keep-color
|
||||||
|
color="primary"
|
||||||
|
dense
|
||||||
|
disable
|
||||||
|
v-model="development"
|
||||||
|
:options="projectTechniquesOp3"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<div class="row q-pb-md" v-if="checkOtherBox13">
|
||||||
|
<div class="offset-4 col-8 q-mt-sm relative-position">
|
||||||
|
<div class="other_custom_input">
|
||||||
|
<q-input
|
||||||
|
v-model="reasonDevelopment10"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
class="inputgreen"
|
||||||
|
label="กรุณาระบุ"
|
||||||
|
></q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
|
|
@ -219,11 +405,6 @@ watch(
|
||||||
</q-td>
|
</q-td>
|
||||||
</q-tr>
|
</q-tr>
|
||||||
</template>
|
</template>
|
||||||
<!-- <template v-slot:no-data="{ icon, message }">
|
|
||||||
<div class="q-pa-md text-weight-bold full-width text-center">
|
|
||||||
<span style="font-size: 16px">ไม่พบข้อมูลสมรรถนะ</span>
|
|
||||||
</div>
|
|
||||||
</template> -->
|
|
||||||
</q-table>
|
</q-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -232,4 +413,14 @@ watch(
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped>
|
||||||
|
:deep(.check_box .q-checkbox) {
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.other_custom_input {
|
||||||
|
position: absolute;
|
||||||
|
top: -25px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ interface ItemsTab {
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface DataOptionTechnique {
|
||||||
|
label: string;
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
|
||||||
interface ItemsMenu {
|
interface ItemsMenu {
|
||||||
label: string;
|
label: string;
|
||||||
value: string;
|
value: string;
|
||||||
|
|
@ -84,4 +89,5 @@ export type {
|
||||||
ItemsTab,
|
ItemsTab,
|
||||||
OptionCheckbox,
|
OptionCheckbox,
|
||||||
DataAchievement,
|
DataAchievement,
|
||||||
|
DataOptionTechnique
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue