เพิ่่ม stroe เก็บ listDevelopment
This commit is contained in:
parent
563f3e1b16
commit
cc98d336d4
10 changed files with 182 additions and 578 deletions
|
|
@ -6,17 +6,20 @@ import { useRoute } from "vue-router";
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
import { uselistDevelopmentDataStore } from "@/modules/15_development/store/listDevelopment";
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
DataOptionTechnique,
|
DataOptionTechnique,
|
||||||
ProjectYearOp,
|
ProjectYearOp,
|
||||||
} from "@/modules/14_KPI/interface/index/Main";
|
} from "@/modules/14_KPI/interface/index/Main";
|
||||||
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
|
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
|
const itemsDevelopment = uselistDevelopmentDataStore();
|
||||||
const { showLoader, hideLoader, messageError } = mixin;
|
const { showLoader, hideLoader, messageError } = mixin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -42,68 +45,18 @@ const checkOtherBox13 = computed<boolean>(() => {
|
||||||
return development.value.includes("other3");
|
return development.value.includes("other3");
|
||||||
});
|
});
|
||||||
|
|
||||||
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
//70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
||||||
{
|
const projectTechniquesOp1 = ref<DataItemsDevelopment[]>(
|
||||||
value: "on_the_job_training",
|
itemsDevelopment.dataDevelopment70
|
||||||
label: "การฝึกปฏิบัติในงาน (On the job training)",
|
);
|
||||||
},
|
//20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
||||||
{
|
const projectTechniquesOp2 = ref<DataItemsDevelopment[]>(
|
||||||
value: "job_project_assignment",
|
itemsDevelopment.dataDevelopment20
|
||||||
label: "การมอบหมายงาน/โครงการ (Job/Project assignment)",
|
);
|
||||||
},
|
//10 การฝึกอบรมอื่นๆ
|
||||||
{
|
const projectTechniquesOp3 = ref<DataItemsDevelopment[]>(
|
||||||
value: "job_shadowing",
|
itemsDevelopment.dataDevelopment10
|
||||||
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 choice = ref<string>("MANUAL");
|
const choice = ref<string>("MANUAL");
|
||||||
const projectName = ref<any>("");
|
const projectName = ref<any>("");
|
||||||
|
|
@ -301,6 +254,7 @@ watch(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-dialog persistent v-model="modal">
|
<q-dialog persistent v-model="modal">
|
||||||
<q-card style="min-width: 90vw">
|
<q-card style="min-width: 90vw">
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,6 @@ import type {
|
||||||
} from "@/modules/04_registryPerson/interface/index/Main";
|
} from "@/modules/04_registryPerson/interface/index/Main";
|
||||||
import type { DataRequest } from "@/modules/04_registryPerson/interface/response/Main";
|
import type { DataRequest } from "@/modules/04_registryPerson/interface/response/Main";
|
||||||
|
|
||||||
/** importComponents*/
|
|
||||||
import DialogStatus from "@/modules/04_registryPerson/components/requestEdit/Dialog01_EditStatus.vue";
|
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
@ -28,8 +25,6 @@ const { showLoader, hideLoader, messageError, date2Thai } = useCounterMixin();
|
||||||
|
|
||||||
const routerName = ref<string>(route.name as string);
|
const routerName = ref<string>(route.name as string);
|
||||||
//Table
|
//Table
|
||||||
const idCard = ref<string>("");
|
|
||||||
const profileId = ref<string>("");
|
|
||||||
const rows = ref<DataRequest[]>([]); //รายการข้อมูลคำร้องขอแก้ไขทะเบียนประวัติ
|
const rows = ref<DataRequest[]>([]); //รายการข้อมูลคำร้องขอแก้ไขทะเบียนประวัติ
|
||||||
const page = ref<number>(1); //หน้า
|
const page = ref<number>(1); //หน้า
|
||||||
const pageSize = ref<number>(10); //จำนวนต่อหน้า
|
const pageSize = ref<number>(10); //จำนวนต่อหน้า
|
||||||
|
|
@ -119,8 +114,6 @@ const visibleColumns = ref<string[]>([
|
||||||
const status = ref<string>("PENDING"); //ค้นหาตามสถานะ
|
const status = ref<string>("PENDING"); //ค้นหาตามสถานะ
|
||||||
const keyword = ref<string>(""); //คำค้นหา
|
const keyword = ref<string>(""); //คำค้นหา
|
||||||
const statusOption = ref<DataOption[]>(store.optionStatus); //รายการสถานะ
|
const statusOption = ref<DataOption[]>(store.optionStatus); //รายการสถานะ
|
||||||
const modalStatus = ref<boolean>(false); //แก้ไขสถานะคำร้อง
|
|
||||||
const modalUpdate = ref<boolean>(false); //อัปเดตข้อมูลจากกรมการปกครอง
|
|
||||||
const requestId = ref<string>(""); //id รายการแก้ไข
|
const requestId = ref<string>(""); //id รายการแก้ไข
|
||||||
|
|
||||||
/** function fetch รายการคำร้องขอแก้ไขทะเบียนประวัติ*/
|
/** function fetch รายการคำร้องขอแก้ไขทะเบียนประวัติ*/
|
||||||
|
|
@ -402,12 +395,6 @@ onMounted(() => {
|
||||||
</d-table>
|
</d-table>
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
||||||
<DialogStatus
|
|
||||||
v-model:modal="modalStatus"
|
|
||||||
:fetch-data="fetchListRequset"
|
|
||||||
:request-id="requestId"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
|
||||||
|
|
@ -1,192 +0,0 @@
|
||||||
<script setup lang="ts">
|
|
||||||
import { reactive, ref, watch } from "vue";
|
|
||||||
import { useQuasar } from "quasar";
|
|
||||||
|
|
||||||
import http from "@/plugins/http";
|
|
||||||
import config from "@/app.config";
|
|
||||||
import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit";
|
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
|
||||||
|
|
||||||
import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main";
|
|
||||||
|
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
|
||||||
|
|
||||||
const $q = useQuasar();
|
|
||||||
const store = useRequestEditStore();
|
|
||||||
const { dialogConfirm, showLoader, hideLoader, messageError, success } =
|
|
||||||
useCounterMixin();
|
|
||||||
|
|
||||||
/** props*/
|
|
||||||
const modal = defineModel<boolean>("modal", { required: true }); //เปิด,ปิด popup แก้ไขสถานะคำร้อง
|
|
||||||
const requestId = defineModel<string>("requestId", { required: true }); // id ที่ต้องการแก้ไข
|
|
||||||
const props = defineProps({
|
|
||||||
fetchData: { type: Function, requied: true }, // ดึงข้อมูลรายการคำร้องขอแก้ไขทะเบียนประวัติ
|
|
||||||
});
|
|
||||||
const isReadOnly = ref<boolean>(false); //อ่ายได้อย่างเดียว
|
|
||||||
//ฟอร์มสถานะคำร้อง
|
|
||||||
const formData = reactive({
|
|
||||||
status: "", //สถานะ
|
|
||||||
remark: "", //หมายเหตุแ
|
|
||||||
});
|
|
||||||
//ข้อมูลรายการสถานะ
|
|
||||||
const statusOptionMain = ref<DataOption[]>(
|
|
||||||
store.optionStatus.filter((e) => e.id !== "")
|
|
||||||
);
|
|
||||||
const statusOption = ref<DataOption[]>(statusOptionMain.value); //ตัวเลือกรายการสถานะ
|
|
||||||
|
|
||||||
/** function บันทึกรายการคำร้อง*/
|
|
||||||
function onSubmit() {
|
|
||||||
dialogConfirm($q, async () => {
|
|
||||||
showLoader();
|
|
||||||
await http
|
|
||||||
.patch(config.API.requestEdit + `${requestId.value}`, {
|
|
||||||
status: formData.status,
|
|
||||||
remark: formData.remark,
|
|
||||||
})
|
|
||||||
.then(async () => {
|
|
||||||
await props.fetchData?.();
|
|
||||||
await success($q, "บันทึกข้อมูลสำเร็จ");
|
|
||||||
closeDialog();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
hideLoader();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** function ปิด popup*/
|
|
||||||
function closeDialog() {
|
|
||||||
modal.value = false;
|
|
||||||
formData.status = "";
|
|
||||||
formData.remark = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ค้นหาคำใน select สถานะคำร้อง
|
|
||||||
* @param val คำค้น
|
|
||||||
* @param update Function
|
|
||||||
*/
|
|
||||||
function filterOption(val: string, update: Function) {
|
|
||||||
update(() => {
|
|
||||||
statusOption.value = statusOptionMain.value.filter(
|
|
||||||
(v: any) => v.name.indexOf(val) > -1
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** function fetch ข้อมูลคำร้องแก้ไข*/
|
|
||||||
function fetchDataRequest() {
|
|
||||||
showLoader();
|
|
||||||
http
|
|
||||||
.get(config.API.requestEdit + `${requestId.value}`)
|
|
||||||
.then((res) => {
|
|
||||||
const data = res.data.result;
|
|
||||||
formData.status = data.status;
|
|
||||||
formData.remark = data.remark;
|
|
||||||
if (data.status !== "PENDING") {
|
|
||||||
isReadOnly.value = true;
|
|
||||||
} else {
|
|
||||||
isReadOnly.value = false;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
hideLoader();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* class inpui
|
|
||||||
* @param val ค่าสถานะ
|
|
||||||
*/
|
|
||||||
function classInput(val: boolean) {
|
|
||||||
return {
|
|
||||||
"full-width cursor-pointer ": val,
|
|
||||||
"full-width cursor-pointer inputgreen": !val,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ดูการเปลี่ยนแปลงของ modal
|
|
||||||
* เมื่อ modal เป็น true ทำการดึงข้อมูลคำร้องแก้ไข
|
|
||||||
*/
|
|
||||||
watch(
|
|
||||||
() => modal.value,
|
|
||||||
() => {
|
|
||||||
modal.value && fetchDataRequest();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<q-dialog v-model="modal" persistent>
|
|
||||||
<q-card style="width: 700px; max-width: 80vw">
|
|
||||||
<q-form greedy @submit.prevent @validation-success="onSubmit">
|
|
||||||
<DialogHeader tittle="แก้ไขสถานะคำร้อง" :close="closeDialog" />
|
|
||||||
<q-separator />
|
|
||||||
|
|
||||||
<q-card-section>
|
|
||||||
<div class="row q-col-gutter-sm">
|
|
||||||
<div class="col-xs-12 col-md-12">
|
|
||||||
<q-select
|
|
||||||
:class="classInput(isReadOnly)"
|
|
||||||
:readonly="isReadOnly"
|
|
||||||
v-model="formData.status"
|
|
||||||
label="สถานะ"
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
emit-value
|
|
||||||
map-options
|
|
||||||
:options="statusOption"
|
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือกสถานะ'}`]"
|
|
||||||
lazy-rules
|
|
||||||
hide-bottom-space
|
|
||||||
use-input
|
|
||||||
option-label="name"
|
|
||||||
option-value="id"
|
|
||||||
@filter="(inputValue:string,
|
|
||||||
doneFn:Function) => filterOption(inputValue, doneFn
|
|
||||||
) "
|
|
||||||
>
|
|
||||||
<template v-slot:no-option>
|
|
||||||
<q-item>
|
|
||||||
<q-item-section class="text-grey">
|
|
||||||
ไม่มีข้อมูล
|
|
||||||
</q-item-section>
|
|
||||||
</q-item>
|
|
||||||
</template>
|
|
||||||
</q-select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-xs-12 col-md-12">
|
|
||||||
<q-input
|
|
||||||
:class="classInput(isReadOnly)"
|
|
||||||
:readonly="isReadOnly"
|
|
||||||
v-model="formData.remark"
|
|
||||||
label="หมายเหตุ"
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
type="textarea"
|
|
||||||
hide-bottom-space
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-card-section>
|
|
||||||
<q-separator />
|
|
||||||
|
|
||||||
<q-card-actions align="right" v-if="!isReadOnly">
|
|
||||||
<q-btn label="บันทึก" color="secondary" type="submit"
|
|
||||||
><q-tooltip>บันทึก</q-tooltip></q-btn
|
|
||||||
>
|
|
||||||
</q-card-actions>
|
|
||||||
</q-form>
|
|
||||||
</q-card>
|
|
||||||
</q-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
@ -5,14 +5,13 @@ import { useRouter, useRoute } from "vue-router";
|
||||||
|
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit";
|
import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit";
|
||||||
|
import { uselistDevelopmentDataStore } from "@/modules/15_development/store/listDevelopment";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
|
|
||||||
import type {
|
import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main";
|
||||||
DataOption,
|
|
||||||
DataItemsDevelopment,
|
|
||||||
} from "@/modules/04_registryPerson/interface/index/Main";
|
|
||||||
import type { FormDataIDP } from "@/modules/04_registryPerson/interface/request/Main";
|
import type { FormDataIDP } from "@/modules/04_registryPerson/interface/request/Main";
|
||||||
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
|
|
||||||
import Workflow from "@/components/Workflow/Main.vue";
|
import Workflow from "@/components/Workflow/Main.vue";
|
||||||
|
|
||||||
|
|
@ -21,6 +20,7 @@ const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const routerName = ref<string>(route.name as string);
|
const routerName = ref<string>(route.name as string);
|
||||||
const store = useRequestEditStore();
|
const store = useRequestEditStore();
|
||||||
|
const itemsDevelopment = uselistDevelopmentDataStore();
|
||||||
const {
|
const {
|
||||||
dialogConfirm,
|
dialogConfirm,
|
||||||
showLoader,
|
showLoader,
|
||||||
|
|
@ -58,88 +58,17 @@ const isCheckData = computed(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
//70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
//70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
||||||
const itemsDevelopment70 = ref<DataItemsDevelopment[]>([
|
const itemsDevelopment70 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment70
|
||||||
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: "อื่น ๆ (ระบุ)",
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
//20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
//20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
||||||
const itemsDevelopment20 = ref<DataItemsDevelopment[]>([
|
const itemsDevelopment20 = ref<DataItemsDevelopment[]>(
|
||||||
{ value: "coaching", label: "การสอนงาน (Coaching)" },
|
itemsDevelopment.dataDevelopment20
|
||||||
{ value: "mentoring", label: "การเป็นพี่เลี้ยง (Mentoring)" },
|
);
|
||||||
{ value: "team_meeting", label: "การประชุมทีม (Team meeting)" },
|
|
||||||
{ value: "consulting", label: "การให้คำปรึกษา (Consulting)" },
|
|
||||||
{ value: "feedback", label: "การให้ข้อคิดเห็น/เสนอแนะ (Feedback)" },
|
|
||||||
{ value: "other2", label: "อื่น ๆ (ระบุ)" },
|
|
||||||
]);
|
|
||||||
//10 การฝึกอบรมอื่นๆ
|
//10 การฝึกอบรมอื่นๆ
|
||||||
const itemsDevelopment10 = ref<DataItemsDevelopment[]>([
|
const itemsDevelopment10 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment10
|
||||||
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 statusOptionMain = ref<DataOption[]>(
|
const statusOptionMain = ref<DataOption[]>(
|
||||||
store.optionStatusIDP.filter((e: DataOption) => e.id !== "")
|
store.optionStatusIDP.filter((e: DataOption) => e.id !== "")
|
||||||
|
|
|
||||||
|
|
@ -67,11 +67,6 @@ interface ItemTab {
|
||||||
label: string;
|
label: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface DataItemsDevelopment {
|
|
||||||
value: string;
|
|
||||||
label: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Request {
|
interface Request {
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
createdFullName: string;
|
createdFullName: string;
|
||||||
|
|
@ -100,6 +95,5 @@ export type {
|
||||||
ItemTab,
|
ItemTab,
|
||||||
DataOptionEducation,
|
DataOptionEducation,
|
||||||
DataOptionEducationLevel,
|
DataOptionEducationLevel,
|
||||||
DataItemsDevelopment,
|
|
||||||
Request,
|
Request,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ 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 { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
import { uselistDevelopmentDataStore } from "@/modules/15_development/store/listDevelopment";
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
DataOptionTechnique,
|
DataOptionTechnique,
|
||||||
ProjectYearOp,
|
ProjectYearOp,
|
||||||
} from "@/modules/14_KPI/interface/index/Main";
|
} from "@/modules/14_KPI/interface/index/Main";
|
||||||
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
|
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
|
|
||||||
|
|
@ -20,6 +22,7 @@ const props = defineProps({
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
|
const itemsDevelopment = uselistDevelopmentDataStore();
|
||||||
const {
|
const {
|
||||||
showLoader,
|
showLoader,
|
||||||
hideLoader,
|
hideLoader,
|
||||||
|
|
@ -61,70 +64,17 @@ const isDevelopment10 = computed(() => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
const projectTechniquesOp1 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment70
|
||||||
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[]>([
|
const projectTechniquesOp2 = ref<DataItemsDevelopment[]>(
|
||||||
{ value: "coaching", label: "การสอนงาน (Coaching)" },
|
itemsDevelopment.dataDevelopment20
|
||||||
{ 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[]>([
|
const projectTechniquesOp3 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment10
|
||||||
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 choice = ref<string>("MANUAL");
|
const choice = ref<string>("MANUAL");
|
||||||
const projectName = ref<any>("");
|
const projectName = ref<any>("");
|
||||||
|
|
@ -361,6 +311,7 @@ watch(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-dialog persistent v-model="modal">
|
<q-dialog persistent v-model="modal">
|
||||||
<q-card style="min-width: 90vw">
|
<q-card style="min-width: 90vw">
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,17 @@ 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 { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
import { uselistDevelopmentDataStore } from "@/modules/15_development/store/listDevelopment";
|
||||||
|
|
||||||
import type { DataOptionTechnique } from "@/modules/14_KPI/interface/index/Main";
|
/** importType*/
|
||||||
/**
|
import type { DataAchievement } from "@/modules/14_KPI/interface/index/Main";
|
||||||
* importType
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
*/
|
|
||||||
import type {
|
|
||||||
OptionCheckbox,
|
|
||||||
DataAchievement,
|
|
||||||
} from "@/modules/14_KPI/interface/index/Main";
|
|
||||||
|
|
||||||
/**
|
/** importComponents*/
|
||||||
* importComponents
|
|
||||||
*/
|
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
|
const itemsDevelopment = uselistDevelopmentDataStore();
|
||||||
const { showLoader, messageError, hideLoader } = useCounterMixin();
|
const { showLoader, messageError, hideLoader } = useCounterMixin();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -42,69 +37,18 @@ const checkOtherBox13 = computed<boolean>(() => {
|
||||||
return development.value.includes("other3");
|
return development.value.includes("other3");
|
||||||
});
|
});
|
||||||
|
|
||||||
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
// 70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
||||||
{
|
const projectTechniquesOp1 = ref<DataItemsDevelopment[]>(
|
||||||
value: "on_the_job_training",
|
itemsDevelopment.dataDevelopment70
|
||||||
label: "การฝึกปฏิบัติในงาน (On the job training)",
|
);
|
||||||
},
|
// 20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
||||||
{
|
const projectTechniquesOp2 = ref<DataItemsDevelopment[]>(
|
||||||
value: "job_project_assignment",
|
itemsDevelopment.dataDevelopment20
|
||||||
label: "การมอบหมายงาน/โครงการ (Job/Project assignment)",
|
);
|
||||||
},
|
// 10 การฝึกอบรมอื่นๆ
|
||||||
{
|
const projectTechniquesOp3 = ref<DataItemsDevelopment[]>(
|
||||||
value: "job_shadowing",
|
itemsDevelopment.dataDevelopment10
|
||||||
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: "อื่น ๆ (ระบุ)" },
|
|
||||||
]);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* props
|
* props
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
|
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
|
||||||
|
import { uselistDevelopmentDataStore } from "@/modules/15_development/store/listDevelopment";
|
||||||
|
|
||||||
/**importType*/
|
/**importType*/
|
||||||
import type {
|
import type {
|
||||||
|
|
@ -16,11 +17,12 @@ import type {
|
||||||
StrategyNode,
|
StrategyNode,
|
||||||
} from "@/modules/15_development/interface/index/Main";
|
} from "@/modules/15_development/interface/index/Main";
|
||||||
import type { DataStrategic } from "@/modules/15_development/interface/response/Main";
|
import type { DataStrategic } from "@/modules/15_development/interface/response/Main";
|
||||||
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const store = useDevelopmentDataStore();
|
const store = useDevelopmentDataStore();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const projectId = ref<string>(route.params.id.toLocaleString());
|
const itemsDevelopment = uselistDevelopmentDataStore();
|
||||||
const { showLoader, hideLoader, messageError, date2Thai, diffDay, success } =
|
const { showLoader, hideLoader, messageError, date2Thai, diffDay, success } =
|
||||||
useCounterMixin();
|
useCounterMixin();
|
||||||
|
|
||||||
|
|
@ -31,6 +33,7 @@ const props = defineProps({
|
||||||
onCheckChangeData: { type: Function, required: true },
|
onCheckChangeData: { type: Function, required: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const projectId = ref<string>(route.params.id.toLocaleString());
|
||||||
const step = ref<string>("");
|
const step = ref<string>("");
|
||||||
const reasonPlanned70 = ref<string>(""); //การเรียนรู้และการพัฒนาจากการลงมือทำ 70 เทคนิควิธีการที่ใช้ในการพัฒนา
|
const reasonPlanned70 = ref<string>(""); //การเรียนรู้และการพัฒนาจากการลงมือทำ 70 เทคนิควิธีการที่ใช้ในการพัฒนา
|
||||||
const reasonPlanned20 = ref<string>(""); // การเรียนรู้และการพัฒนาจากบุคคลอื่น 20 เทคนิควิธีการที่ใช้ในการพัฒนา
|
const reasonPlanned20 = ref<string>(""); // การเรียนรู้และการพัฒนาจากบุคคลอื่น 20 เทคนิควิธีการที่ใช้ในการพัฒนา
|
||||||
|
|
@ -62,7 +65,7 @@ const checkOtherBox23 = computed<boolean>(() => {
|
||||||
const checkRoutePermission = ref<boolean>(
|
const checkRoutePermission = ref<boolean>(
|
||||||
route.name == "developmentDetailPage"
|
route.name == "developmentDetailPage"
|
||||||
);
|
);
|
||||||
const projectTypeOp = ref<any[]>([
|
const projectTypeOp = ref<DataOptionTechnique[]>([
|
||||||
{ label: "โครงการตามยุทธศาสตร์", value: "โครงการตามยุทธศาสตร์" },
|
{ label: "โครงการตามยุทธศาสตร์", value: "โครงการตามยุทธศาสตร์" },
|
||||||
{
|
{
|
||||||
label: "โครงการตามภารกิจประจำของหน่วยงาน",
|
label: "โครงการตามภารกิจประจำของหน่วยงาน",
|
||||||
|
|
@ -72,89 +75,18 @@ const projectTypeOp = ref<any[]>([
|
||||||
{ label: "โครงการต่อเนื่อง", value: "โครงการต่อเนื่อง" },
|
{ label: "โครงการต่อเนื่อง", value: "โครงการต่อเนื่อง" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** option */
|
//70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
||||||
const projectTechniquesOp1 = ref<DataOptionTechnique[]>([
|
const projectTechniquesOp1 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment70
|
||||||
value: "on_the_job_training",
|
);
|
||||||
label: "การฝึกปฏิบัติในงาน (On the job training)",
|
//20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
||||||
},
|
const projectTechniquesOp2 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment20
|
||||||
value: "job_project_assignment",
|
);
|
||||||
label: "การมอบหมายงาน/โครงการ (Job/Project assignment)",
|
//10 การฝึกอบรมอื่นๆ
|
||||||
},
|
const projectTechniquesOp3 = ref<DataItemsDevelopment[]>(
|
||||||
{
|
itemsDevelopment.dataDevelopment10
|
||||||
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 formData = reactive<FormProjectDetail>({
|
const formData = reactive<FormProjectDetail>({
|
||||||
developmentProjectTypes: [],
|
developmentProjectTypes: [],
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,12 @@ interface StrategyNode {
|
||||||
name: string;
|
name: string;
|
||||||
children: StrategyNode[];
|
children: StrategyNode[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface DataItemsDevelopment {
|
||||||
|
value: string;
|
||||||
|
label: string;
|
||||||
|
}
|
||||||
|
|
||||||
export type {
|
export type {
|
||||||
DataOption,
|
DataOption,
|
||||||
DataOptionCheckBox,
|
DataOptionCheckBox,
|
||||||
|
|
@ -174,4 +180,5 @@ export type {
|
||||||
OrgTree,
|
OrgTree,
|
||||||
PersonData,
|
PersonData,
|
||||||
StrategyNode,
|
StrategyNode,
|
||||||
|
DataItemsDevelopment,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
98
src/modules/15_development/store/listDevelopment.ts
Normal file
98
src/modules/15_development/store/listDevelopment.ts
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
import { defineStore } from "pinia";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
import type { DataItemsDevelopment } from "@/modules/15_development/interface/index/Main";
|
||||||
|
|
||||||
|
export const uselistDevelopmentDataStore = defineStore(
|
||||||
|
"listDevelopmentDataStore",
|
||||||
|
() => {
|
||||||
|
//70 การลงมือปฏิบัติ (โดยผู้บังคับบัญชามอบหมาย)
|
||||||
|
const dataDevelopment70 = ref<DataItemsDevelopment[]>([
|
||||||
|
{
|
||||||
|
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: "อื่น ๆ (ระบุ)",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
//20 การเรียนรู้จากผู้อื่น (Coach/Mentor/Consulting)
|
||||||
|
const dataDevelopment20 = ref<DataItemsDevelopment[]>([
|
||||||
|
{ 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: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
//10 การฝึกอบรมอื่นๆ
|
||||||
|
const dataDevelopment10 = ref<DataItemsDevelopment[]>([
|
||||||
|
{
|
||||||
|
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: "อื่น ๆ (ระบุ)" },
|
||||||
|
]);
|
||||||
|
return {
|
||||||
|
dataDevelopment70,
|
||||||
|
dataDevelopment20,
|
||||||
|
dataDevelopment10,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue