เเก้get list ผู้ดูแล, ผู้บังคับบัญา และประธานกรรมการ || disable input ผู้บังคับบัญชา คณะกรรมการ

This commit is contained in:
setthawutttty 2023-08-21 11:34:56 +07:00
parent 7dbbfd5fcf
commit 614356c063
4 changed files with 143 additions and 48 deletions

View file

@ -161,7 +161,7 @@
<div class="col-12 row q-col-gutter-md">
<q-select
:rules="[(val) => !!val || 'กรุณาเลือกผู้ดูเเล']"
option-value="personal_id"
option-value="id"
:options="filtermantor(OPcaretaker, [caretaker2])"
class="col-xs-12 col-sm-6"
:readonly="routeName != 'probationWorkAdd'"
@ -171,13 +171,13 @@
:outlined="routeName == 'probationWorkAdd'"
v-model="caretaker1"
:label="`ผู้ดูแลคนที่ 1`"
option-label="name"
option-label="fullName"
/>
<q-select
:rules="[(val) => !!val || 'กรุณาเลือกผู้ดูเเล']"
:options="filtermantor(OPcaretaker, [caretaker1])"
option-value="personal_id"
option-label="name"
option-value="id"
option-label="fullName"
hide-bottom-space
class="col-xs-12 col-sm-6"
:readonly="routeName != 'probationWorkAdd'"
@ -1306,8 +1306,8 @@
<div class="col-12 row q-col-gutter-md">
<q-select
:options="filtermantor(OPcaretaker, [caretaker2])"
option-value="personal_id"
option-label="name"
option-value="id"
option-label="fullName"
class="col-xs-12 col-sm-8"
:readonly="routeName != 'probationWorkAdd'"
dense
@ -1359,8 +1359,8 @@
</div>
<q-select
:options="filtermantor(OPcaretaker, [caretaker1])"
option-value="personal_id"
option-label="name"
option-value="id"
option-label="fullName"
class="col-xs-12 col-sm-8"
:readonly="routeName != 'probationWorkAdd'"
dense
@ -1421,8 +1421,8 @@
<div class="col-12 row q-col-gutter-md">
<q-select
:options="OPcommander"
option-value="personal_id"
option-label="name"
option-value="id"
option-label="fullName"
class="col-xs-12 col-sm-8"
:readonly="routeName != 'probationWorkAdd'"
dense
@ -1482,8 +1482,8 @@
<div class="col-12 row q-col-gutter-md">
<q-select
:options="OPchairman"
option-value="personal_id"
option-label="name"
option-value="id"
option-label="fullName"
class="col-xs-12 col-sm-8"
:readonly="routeName != 'probationWorkAdd'"
dense
@ -1551,7 +1551,7 @@ const filtermantor = (options: any[], excludedGroups: any[]) => {
return options.filter(
(item) =>
!excludedGroups.some(
(group) => group && group.personal_id === item.personal_id
(group) => group && group.id === item.id
)
);
};
@ -1636,35 +1636,38 @@ const monthSelect = ref<number | string>();
const caretaker1 = ref<string>("");
const caretaker2 = ref<string>("");
const OPcaretaker = ref<
{
personal_id: string;
name: string;
PositionId: string;
PositionLevelId: string;
PositionLineId: string;
OrganizationOrganization: string;
}[]
Array<{
id: string,
prefix: string,
firstName: string,
lastName: string,
fullName:string,
citizenId: number,
isDirector: boolean
}>[]
>([]);
const OPcommander = ref<
{
personal_id: string;
name: string;
PositionId: string;
PositionLevelId: string;
PositionLineId: string;
OrganizationOrganization: string;
}[]
Array<{
id: string,
prefix: string,
firstName: string,
lastName: string,
fullName:string,
citizenId: number,
isDirector: boolean
}>[]
>([]);
const OPchairman = ref<
{
personal_id: string;
name: string;
PositionId: string;
PositionLevelId: string;
PositionLineId: string;
OrganizationOrganization: string;
}[]
Array<{
id: string,
prefix: string,
firstName: string,
lastName: string,
fullName:string,
citizenId: number,
isDirector: boolean
}>[]
>([]);
interface MonthOption {
value: number;
@ -1752,6 +1755,44 @@ interface CheckboxItem {
}
const checkRule = ref<CheckboxItem[]>([]);
const getUser = async () => {
await http.get(config.API.userPlacement(personalId))
.then((res:any) => {
const data = res.data.result
OPcaretaker.value = data.caregiver.map((item:any) => ({
id: item.id,
prefix:item.prefix,
firstName:item.firstName,
lastName:item.lastName,
fullName:item.prefix + "" + item.firstName + " " + item.lastName,
citizenId:item.citizenId,
isDirector:item.isDirector
}));
OPcommander.value = data.commander.map((item:any) => ({
id: item.id,
prefix:item.prefix,
firstName:item.firstName,
lastName:item.lastName,
fullName:item.prefix + "" + item.firstName + " " + item.lastName,
citizenId:item.citizenId,
isDirector:item.isDirector
}));
OPchairman.value = data.chairman.map((item:any) => ({
id: item.id,
prefix:item.prefix,
firstName:item.firstName,
lastName:item.lastName,
fullName:item.prefix + "" + item.firstName + " " + item.lastName,
citizenId:item.citizenId,
isDirector:item.isDirector
}));
console.log("🚀 ~ file: FormAssign.vue:1760 ~ .then ~ OPcaretaker:", OPcaretaker.value)
console.log("user==",data)
})
}
const getAssignNew = async (id: string) => {
await http.get(config.API.newAssign(id)).then((res: any) => {
const data = res.data.data;
@ -1762,9 +1803,9 @@ const getAssignNew = async (id: string) => {
console.log("Assign-New", data);
monthOp.push(monthOption);
monthSelect.value = `${data.assign_month} เดือน`;
OPcaretaker.value = data.mentors;
OPcommander.value = [data.commander];
OPchairman.value = [data.chairman];
// OPcaretaker.value = data.mentors;
// OPcommander.value = [data.commander];
// OPchairman.value = [data.chairman];
fullname.value = data.person.name;
position.value = data.person.OrganizationOrganization;
});
@ -1883,22 +1924,22 @@ const putData = (id: string) => {
const assign_director = [
{
personal_id: caretaker1.value.personal_id,
personal_id: caretaker1.value.id,
role: "mentor",
dated: date2.value instanceof Date ? dateToISO(date2.value) : null,
},
{
personal_id: caretaker2.value.personal_id,
personal_id: caretaker2.value.id,
role: "mentor",
dated: date3.value instanceof Date ? dateToISO(date3.value) : null,
},
{
personal_id: commander.value.personal_id,
personal_id: commander.value.id,
role: "commander",
dated: date4.value instanceof Date ? dateToISO(date4.value) : null,
},
{
personal_id: chairman.value.personal_id,
personal_id: chairman.value.id,
role: "chairman"
},
];
@ -2065,6 +2106,7 @@ const getAssign = async () => {
})
};
onMounted(async() => {
await getUser();
await getLaw(personalId);
await getcompetency(personalId);
await getCompetencyGroup(personalId);

View file

@ -334,6 +334,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="knowledge_level"
max="5"
size="sm"
@ -373,6 +374,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="skill_level"
max="5"
size="sm"
@ -412,6 +414,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="competency_level"
max="5"
size="sm"
@ -451,6 +454,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="learn_level"
max="5"
size="sm"
@ -491,6 +495,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="apply_level"
max="5"
size="sm"
@ -530,6 +535,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="success_level"
max="5"
size="sm"
@ -566,6 +572,7 @@ const putformData = () => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
1.7 นๆ
<q-checkbox
:disable="!status"
class="q-ml-sm"
dense
v-model="etc"
@ -585,6 +592,7 @@ const putformData = () => {
<q-item-section class="q-ml-md">
<q-item-label>
<q-input
:disable="!status"
v-model="achievement_other.text"
label="กรอกอื่นๆ"
dense
@ -602,6 +610,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="achievement_other.level"
max="5"
size="sm"
@ -655,6 +664,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="conduct_level[i]"
:val="list.id"
max="5"
@ -702,6 +712,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="moral_level[i]"
:val="list.id"
max="5"
@ -749,6 +760,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="discipline_level[i]"
:val="list.id"
max="5"
@ -784,6 +796,7 @@ const putformData = () => {
<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"
@ -803,6 +816,7 @@ const putformData = () => {
<q-item-section>
<q-item-label>
<q-input
:disable="!status"
v-model="behavio_orther.text"
label="กรอกอื่นๆ"
dense
@ -820,6 +834,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="behavio_orther.level"
max="5"
size="sm"
@ -856,6 +871,7 @@ const putformData = () => {
ดเด (ไมเก 5 บรรท)
</div>
<q-input
:disable="!status"
outlined
dense
v-model="behavio_strength_desc"
@ -875,6 +891,7 @@ const putformData = () => {
งทควรปรบปร (ไมเก 5 บรรท)
</div>
<q-input
:disable="!status"
outlined
dense
v-model="behavior_improve_desc"
@ -912,6 +929,7 @@ const putformData = () => {
<q-item-section side>
<div class="row">
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="orientation"
@ -919,6 +937,7 @@ const putformData = () => {
label="ดำเนินการเเล้ว"
/>
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="orientation"
@ -936,6 +955,7 @@ const putformData = () => {
<q-item-section side>
<div class="row">
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="self_learning"
@ -943,6 +963,7 @@ const putformData = () => {
label="ดำเนินการเเล้ว"
/>
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="self_learning"
@ -960,6 +981,7 @@ const putformData = () => {
<q-item-section side>
<div class="row">
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="training_seminar"
@ -967,6 +989,7 @@ const putformData = () => {
label="ดำเนินการเเล้ว"
/>
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="training_seminar"
@ -987,6 +1010,7 @@ const putformData = () => {
<q-item-section side>
<div class="row">
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="other_training"
@ -994,6 +1018,7 @@ const putformData = () => {
label="ดำเนินการเเล้ว"
/>
<q-radio
:disable="!status"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
v-model="other_training"
@ -1033,6 +1058,7 @@ const putformData = () => {
borderless
:enableTimePicker="false"
week-start="0"
:readonly="!status"
>
<template #year="{ year }">
{{ year + 543 }}
@ -1042,6 +1068,7 @@ const putformData = () => {
</template>
<template #trigger>
<q-input
:disable="!status"
outlined
dense
class="full-width datepicker col-3"

View file

@ -424,6 +424,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="learn_level"
max="5"
size="sm"
@ -464,6 +465,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="apply_level"
max="5"
size="sm"
@ -503,6 +505,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="success_level"
max="5"
size="sm"
@ -539,6 +542,7 @@ const putformData = () => {
<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"
@ -558,6 +562,7 @@ const putformData = () => {
<q-item-section class="q-ml-md">
<q-item-label>
<q-input
:disable="!status"
v-model="achievement_other.text"
label="กรอกอื่นๆ"
dense
@ -575,6 +580,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="achievement_other.level"
max="5"
size="sm"
@ -646,6 +652,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="conduct_level[i]"
:val="list.id"
max="5"
@ -693,6 +700,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="moral_level[i]"
:val="list.id"
max="5"
@ -740,6 +748,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="discipline_level[i]"
:val="list.id"
max="5"
@ -775,6 +784,7 @@ const putformData = () => {
<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"
@ -794,6 +804,7 @@ const putformData = () => {
<q-item-section>
<q-item-label>
<q-input
:disable="!status"
v-model="behavio_orther.text"
label="กรอกอื่นๆ"
dense
@ -811,6 +822,7 @@ const putformData = () => {
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="behavio_orther.level"
max="5"
size="sm"
@ -993,10 +1005,11 @@ const putformData = () => {
<div class="row q-gutter-md align-center">
<div class="col-8">1. การปฐมนเทศ</div>
<div class="col">
<q-input dense type="number" v-model="orientation" />
<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"
@ -1007,10 +1020,11 @@ const putformData = () => {
<div class="row q-gutter-md align-center">
<div class="col-8">2. การเรยนรวยตนเอง</div>
<div class="col">
<q-input dense type="number" v-model="self_learning" />
<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"
@ -1021,10 +1035,11 @@ const putformData = () => {
<div class="row q-gutter-md align-center">
<div class="col-8">3. การอบรมสมนารวมก</div>
<div class="col">
<q-input dense type="number" v-model="training_seminar" />
<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"
@ -1037,10 +1052,11 @@ const putformData = () => {
4. การอบรมอ ตามทหนวยงานกำหนด (าม)
</div>
<div class="col">
<q-input dense type="number" v-model="other_training" />
<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"
@ -1169,6 +1185,7 @@ const putformData = () => {
</div>
<div class="col-12">
<q-select
:disable="!status"
class="col-xs-12"
dense
v-model="develop_result"
@ -1209,6 +1226,7 @@ const putformData = () => {
borderless
:enableTimePicker="false"
week-start="0"
:readonly="!status"
>
<template #year="{ year }">
{{ year + 543 }}
@ -1219,6 +1237,7 @@ const putformData = () => {
<template #trigger>
<q-input
outlined
:disable="!status"
dense
class="full-width datepicker col-3"
:model-value="
@ -1253,6 +1272,7 @@ const putformData = () => {
/>
<div class="col-xs-12 col-sm-4">
<datepicker
:readonly="!status"
menu-class-name="modalfix"
v-model="dateAutherise"
:locale="'th'"
@ -1269,6 +1289,7 @@ const putformData = () => {
</template>
<template #trigger>
<q-input
:disable="!status"
outlined
dense
class="full-width datepicker col-3"
@ -1304,6 +1325,7 @@ const putformData = () => {
/>
<div class="col-xs-12 col-sm-4">
<datepicker
:readonly="!status"
menu-class-name="modalfix"
v-model="dateAutherise"
:locale="'th'"
@ -1320,6 +1342,7 @@ const putformData = () => {
</template>
<template #trigger>
<q-input
:disable="!status"
outlined
dense
class="full-width datepicker col-3"
@ -1361,6 +1384,7 @@ const putformData = () => {
/>
<div class="col-xs-12 col-sm-4">
<datepicker
:readonly="!status"
menu-class-name="modalfix"
v-model="dateAutherise"
:locale="'th'"
@ -1377,6 +1401,7 @@ const putformData = () => {
</template>
<template #trigger>
<q-input
:disable="!status"
outlined
dense
class="full-width datepicker col-3"