Merge branch 'develop' of github.com:Frappet/bma-ehr-frontend into me
This commit is contained in:
commit
a3eabec197
12 changed files with 362 additions and 375 deletions
|
|
@ -150,4 +150,5 @@ export default {
|
|||
otherReport: (id: string) => `${placemenOther}/report/${id}`,
|
||||
otherByid: (id: string) => `${placemenOther}/${id}`,
|
||||
|
||||
userPlacement:(id:string) => `${placement}/user/${id}`
|
||||
};
|
||||
|
|
|
|||
|
|
@ -41,17 +41,17 @@ export default {
|
|||
//แบบประเมินผล (ผู้บังคับบัญชา)
|
||||
evaluateCreate: (id: string) => `${evaluate}/evaluate/create?assign_id=${id}`,
|
||||
evaluatecommader: (id: string, no: string) => `${evaluate}/evaluate?assign_id=${id}&evaluate_no=${no}`,
|
||||
createformCommader: (id: string) => `${evaluate}/evaluate?id=${id}`,
|
||||
createformCommader: (id: string) => `${evaluate}/evaluate?assign_id=${id}`,
|
||||
|
||||
//แบบประเมินผล (คณะกรรมการ)
|
||||
evaluateChairman: (id: string) => `${evaluate}/evaluate-chairman/create?assign_id=${id}`,
|
||||
evaluateRoundChairman: (id: string, no: string) => `${evaluate}/evaluate-chairman?assign_id=${id}&evaluate_no=${no}`,
|
||||
createformChairman: (id: string) => `${evaluate}/evaluate-chairman?id=${id}`,
|
||||
createformChairman: (id: string) => `${evaluate}/evaluate-chairman?assign_id=${id}`,
|
||||
|
||||
//แบบรายงาน
|
||||
evaluateReportcreate: (id: string) => `${evaluate}/evaluate-result/create?assign_id=${id}`,
|
||||
evaluateReport: (id: string) => `${evaluate}/evaluate-result?assign_id=${id}`,
|
||||
createformReport: (id: string) => `${evaluate}/evaluate-result?id=${id}`,
|
||||
createformReport: (id: string) => `${evaluate}/evaluate-result?assign_id=${id}`,
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
@click="router.go(-1)"
|
||||
v-if="routeName == 'probationWorkAdd'"
|
||||
/>
|
||||
<div v-if="routeName == 'probationWorkAdd'">
|
||||
<div v-if="routeName !== 'probationWorkAdd'">
|
||||
เพิ่มแบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ
|
||||
</div>
|
||||
<div v-else>แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ</div>
|
||||
|
|
@ -117,7 +117,9 @@
|
|||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:readonly="isDatePicker2Readonly|| routeName !== 'probationWorkAdd'"
|
||||
:readonly="
|
||||
isDatePicker2Readonly || routeName !== 'probationWorkAdd'
|
||||
"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
|
|
@ -158,10 +160,40 @@
|
|||
ผู้ดูแลการทดลองปฏิบัติหน้าที่ราชการ (อาจมีได้มากกว่า 1 คน)
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<div v-if="status == true" 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'"
|
||||
dense
|
||||
hide-bottom-space
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="caretaker1"
|
||||
:label="`ผู้ดูแลคนที่ 1`"
|
||||
option-label="fullName"
|
||||
/>
|
||||
<q-select
|
||||
:rules="[(val) => !!val || 'กรุณาเลือกผู้ดูเเล']"
|
||||
:options="filtermantor(OPcaretaker, [caretaker1])"
|
||||
option-value="id"
|
||||
option-label="fullName"
|
||||
hide-bottom-space
|
||||
class="col-xs-12 col-sm-6"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="caretaker2"
|
||||
:label="`ผู้ดูแลคนที่ 2`"
|
||||
/>
|
||||
</div>
|
||||
<div v-else class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
:rules="[(val) => !!val || 'กรุณาเลือกผู้ดูเเล']"
|
||||
option-value="id"
|
||||
:options="filtermantor(OPcaretaker, [caretaker2])"
|
||||
class="col-xs-12 col-sm-6"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
|
|
@ -176,7 +208,7 @@
|
|||
<q-select
|
||||
:rules="[(val) => !!val || 'กรุณาเลือกผู้ดูเเล']"
|
||||
:options="filtermantor(OPcaretaker, [caretaker1])"
|
||||
option-value="personal_id"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
hide-bottom-space
|
||||
class="col-xs-12 col-sm-6"
|
||||
|
|
@ -300,7 +332,9 @@
|
|||
>
|
||||
<div class="col-11 q-my-xs">
|
||||
<q-select
|
||||
:option-label="(item) => `${item.title}-${item.description}`"
|
||||
:option-label="
|
||||
(item) => `${item.title}-${item.description}`
|
||||
"
|
||||
option-value="id"
|
||||
map-options
|
||||
:rules="
|
||||
|
|
@ -322,17 +356,16 @@
|
|||
/>
|
||||
</div>
|
||||
<div
|
||||
v-if="index > 2"
|
||||
v-if="index > 2"
|
||||
class="col-xs-12 col-sm-1 flex justify-center items-center"
|
||||
>
|
||||
<q-btn
|
||||
v-if="routeName == 'probationWorkAdd'"
|
||||
v-if="routeName == 'probationWorkAdd'"
|
||||
flat
|
||||
round
|
||||
color="red"
|
||||
icon="mdi-trash-can-outline"
|
||||
@click="deleteknowledge(index)"
|
||||
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -371,13 +404,11 @@
|
|||
v-if="item.status_select === 1"
|
||||
v-model="item.checked"
|
||||
dense
|
||||
|
||||
:disable="routeName != 'probationWorkAdd'"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="index === 0" class="col-11" >
|
||||
<div v-if="index === 0" class="col-11">
|
||||
{{ item.description }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -911,7 +942,6 @@
|
|||
</template></q-select
|
||||
>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1147,7 +1177,7 @@
|
|||
<li>
|
||||
อื่นๆ (ถ้ามี)
|
||||
<q-input
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
|
|
@ -1305,8 +1335,22 @@
|
|||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
:options="filtermantor(OPcaretaker, [caretaker2])"
|
||||
option-value="personal_id"
|
||||
v-if="status == true"
|
||||
:options="filtermantor(OPcaretaker, [caretaker2])"
|
||||
option-value="id"
|
||||
option-label="fullName"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="caretaker1"
|
||||
label="ผู้ดูแลคนที่ 1"
|
||||
/>
|
||||
<q-select
|
||||
v-else
|
||||
:options="filtermantor(OPcaretaker, [caretaker2])"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
|
|
@ -1358,8 +1402,22 @@
|
|||
</datepicker>
|
||||
</div>
|
||||
<q-select
|
||||
:options="filtermantor(OPcaretaker, [caretaker1])"
|
||||
option-value="personal_id"
|
||||
v-if="status == true"
|
||||
:options="filtermantor(OPcaretaker, [caretaker1])"
|
||||
option-value="id"
|
||||
option-label="fullName"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="caretaker2"
|
||||
label="ผู้ดูแลคนที่ 2"
|
||||
/>
|
||||
<q-select
|
||||
v-else
|
||||
:options="filtermantor(OPcaretaker, [caretaker1])"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
|
|
@ -1420,8 +1478,22 @@
|
|||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
v-if="status == true"
|
||||
:options="OPcommander"
|
||||
option-value="personal_id"
|
||||
option-value="id"
|
||||
option-label="fullName"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="commander"
|
||||
label="ผู้บังคับบัญชา"
|
||||
/>
|
||||
<q-select
|
||||
v-else
|
||||
:options="OPcommander"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
|
|
@ -1481,8 +1553,22 @@
|
|||
</div>
|
||||
<div class="col-12 row q-col-gutter-md">
|
||||
<q-select
|
||||
v-if="status == true"
|
||||
:options="OPchairman"
|
||||
option-value="personal_id"
|
||||
option-value="id"
|
||||
option-label="fullName"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
dense
|
||||
borderless
|
||||
:outlined="routeName == 'probationWorkAdd'"
|
||||
v-model="chairman"
|
||||
label="ประธานกรรมการ"
|
||||
/>
|
||||
<q-select
|
||||
v-else
|
||||
:options="OPchairman"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
class="col-xs-12 col-sm-8"
|
||||
:readonly="routeName != 'probationWorkAdd'"
|
||||
|
|
@ -1492,7 +1578,6 @@
|
|||
v-model="chairman"
|
||||
label="ประธานกรรมการ"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1529,7 +1614,7 @@ const val1 = ref([
|
|||
checked: false,
|
||||
},
|
||||
]);
|
||||
|
||||
const status = ref<boolean>(true);
|
||||
const router = useRouter();
|
||||
const mixin = useCounterMixin();
|
||||
const {
|
||||
|
|
@ -1540,7 +1625,7 @@ const {
|
|||
messageError,
|
||||
showLoader,
|
||||
hideLoader,
|
||||
dialogConfirm
|
||||
dialogConfirm,
|
||||
} = mixin;
|
||||
const filterData = (options: any[], excludedGroups: any[]) => {
|
||||
return options.filter(
|
||||
|
|
@ -1549,10 +1634,7 @@ const filterData = (options: any[], excludedGroups: any[]) => {
|
|||
};
|
||||
const filtermantor = (options: any[], excludedGroups: any[]) => {
|
||||
return options.filter(
|
||||
(item) =>
|
||||
!excludedGroups.some(
|
||||
(group) => group && group.personal_id === item.personal_id
|
||||
)
|
||||
(item) => !excludedGroups.some((group) => group && group.id === item.id)
|
||||
);
|
||||
};
|
||||
const filterMain = (options: any[], excludedGroups: any[]) => {
|
||||
|
|
@ -1636,35 +1718,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;
|
||||
|
|
@ -1703,7 +1788,7 @@ const OPknowledge = ref<
|
|||
Array<{
|
||||
id: number;
|
||||
title: number;
|
||||
description:string;
|
||||
description: string;
|
||||
level: string;
|
||||
}>
|
||||
>([]);
|
||||
|
|
@ -1752,6 +1837,38 @@ 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,
|
||||
}));
|
||||
});
|
||||
};
|
||||
const getAssignNew = async (id: string) => {
|
||||
await http.get(config.API.newAssign(id)).then((res: any) => {
|
||||
const data = res.data.data;
|
||||
|
|
@ -1762,9 +1879,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;
|
||||
});
|
||||
|
|
@ -1810,7 +1927,6 @@ const getSkill = async (id: string) => {
|
|||
const getLaw = async (id: string) => {
|
||||
await http.get(config.API.lawOptions(id)).then((res: any) => {
|
||||
checkRule.value = res.data.data;
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -1883,23 +1999,23 @@ 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,
|
||||
role: "chairman"
|
||||
personal_id: chairman.value.id,
|
||||
role: "chairman",
|
||||
},
|
||||
];
|
||||
|
||||
|
|
@ -1947,22 +2063,22 @@ const putData = (id: string) => {
|
|||
return data;
|
||||
};
|
||||
|
||||
const saveData = (id:string) => {
|
||||
dialogConfirm($q,()=>DataSave(id))
|
||||
}
|
||||
const saveData = (id: string) => {
|
||||
dialogConfirm($q, () => DataSave(id));
|
||||
};
|
||||
const DataSave = async (id: string) => {
|
||||
await myForm.value.validate().then((result: boolean) => {
|
||||
await myForm.value.validate().then((result: boolean) => {
|
||||
if (result) {
|
||||
const data = putData(id);
|
||||
http
|
||||
.post(config.API.saveFinish(id), data)
|
||||
.then((res) => {
|
||||
router.push(`/probation/detail/${id}`);
|
||||
})
|
||||
.catch((e) => {})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
const data = putData(id);
|
||||
http
|
||||
.post(config.API.saveFinish(id), data)
|
||||
.then((res) => {
|
||||
router.push(`/probation/detail/${id}`);
|
||||
})
|
||||
.catch((e) => {})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
} else {
|
||||
notifyError($q, "กรุณากรอกข้อมูลให้ครบ");
|
||||
}
|
||||
|
|
@ -2010,61 +2126,67 @@ const skillIds = [1, 2, 3, 4];
|
|||
|
||||
const getAssign = async () => {
|
||||
await http.get(config.API.probationsGetAssign(assignId.value)).then((res) => {
|
||||
status.value = false;
|
||||
const data = res.data.data;
|
||||
console.log("ASSIGN-list ==>", data);
|
||||
fullname.value = data.profile.name
|
||||
position.value = data.profile.OrganizationOrganization
|
||||
date_start.value = data.assign.date_start
|
||||
date_finish.value = data.assign.date_finish
|
||||
date1.value = data.assign.experimenter_dated
|
||||
date2.value = data.mentors[0].dated
|
||||
date3.value = data.mentors[1].dated
|
||||
date4.value = data.commander.dated
|
||||
activity_desc.value = data.jobs.map((job:any) => job.activity_desc);
|
||||
goal_desc.value = data.jobs.map((job:any) => job.goal_desc);
|
||||
activityCount.value = data.jobs.length
|
||||
fullname.value = data.profile.name;
|
||||
position.value = data.profile.OrganizationOrganization;
|
||||
date_start.value = data.assign.date_start;
|
||||
date_finish.value = data.assign.date_finish;
|
||||
date1.value = data.assign.experimenter_dated;
|
||||
date2.value = data.mentors[0].dated;
|
||||
date3.value = data.mentors[1].dated;
|
||||
date4.value = data.commander.dated;
|
||||
activity_desc.value = data.jobs.map((job: any) => job.activity_desc);
|
||||
goal_desc.value = data.jobs.map((job: any) => job.goal_desc);
|
||||
activityCount.value = data.jobs.length;
|
||||
caretaker1.value = data.mentors[0];
|
||||
caretaker2.value = data.mentors[1];
|
||||
chairman.value = data.chairman.name;
|
||||
commander.value = data.commander.name
|
||||
knowledge.value = data.knowledges.map((id:any)=> id.id)
|
||||
knowledgeCount.value = data.knowledges.length
|
||||
other_desc.value = data.assign.other_desc
|
||||
other4_desc.value = data.assign.other4_desc
|
||||
other5_no1_desc.value = data.assign.other5_no1_desc
|
||||
commander.value = data.commander.name;
|
||||
knowledge.value = data.knowledges.map((id: any) => id.id);
|
||||
knowledgeCount.value = data.knowledges.length;
|
||||
other_desc.value = data.assign.other_desc;
|
||||
other4_desc.value = data.assign.other4_desc;
|
||||
other5_no1_desc.value = data.assign.other5_no1_desc;
|
||||
const skills = data.skills.map((skills: any) => ({
|
||||
id: skills.id,
|
||||
title: skills.title,
|
||||
level: skills.level,
|
||||
level_description: skills.description,
|
||||
}));
|
||||
[skill.value, skill2.value, skill3.value, skill4.value] = skills;
|
||||
[skill.value, skill2.value, skill3.value, skill4.value] = skills;
|
||||
|
||||
main.value = data.competencys[0]
|
||||
main2.value = data.competencys[1]
|
||||
main3.value = data.competencys[2]
|
||||
main4.value = data.competencys[3]
|
||||
main5.value = data.competencys[4]
|
||||
main.value = data.competencys[0];
|
||||
main2.value = data.competencys[1];
|
||||
main3.value = data.competencys[2];
|
||||
main4.value = data.competencys[3];
|
||||
main5.value = data.competencys[4];
|
||||
|
||||
group.value = data.competency_groups[0]
|
||||
group2.value = data.competency_groups[1]
|
||||
group3.value = data.competency_groups[2]
|
||||
group.value = data.competency_groups[0];
|
||||
group2.value = data.competency_groups[1];
|
||||
group3.value = data.competency_groups[2];
|
||||
|
||||
output_desc.value = data.outputs.map((output: any) => output.output_desc);
|
||||
indicator_desc.value = data.outputs.map((output: any) => output.indicator_desc);
|
||||
indicator_desc.value = data.outputs.map(
|
||||
(output: any) => output.indicator_desc
|
||||
);
|
||||
productivityCount.value = data.outputs.length;
|
||||
|
||||
checkRule.value = data.laws.map((law: any) => ({
|
||||
id: law.law_id,
|
||||
checked: law.selected,
|
||||
description: law.description,
|
||||
status_select: law.status_select,
|
||||
|
||||
}));
|
||||
console.log("🚀 ~ file: FormAssign.vue:2009 ~ awaithttp.get ~ checkRule:", checkRule.value)
|
||||
})
|
||||
id: law.law_id,
|
||||
checked: law.selected,
|
||||
description: law.description,
|
||||
status_select: law.status_select,
|
||||
}));
|
||||
console.log(
|
||||
"🚀 ~ file: FormAssign.vue:2009 ~ awaithttp.get ~ checkRule:",
|
||||
checkRule.value
|
||||
);
|
||||
});
|
||||
};
|
||||
onMounted(async() => {
|
||||
onMounted(async () => {
|
||||
await getUser();
|
||||
await getLaw(personalId);
|
||||
await getcompetency(personalId);
|
||||
await getCompetencyGroup(personalId);
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ const assign = ref<any>([]);
|
|||
const mentors = ref<any>([]);
|
||||
const commander = ref<any>([]);
|
||||
const status = ref<boolean>(true);
|
||||
const evaluate = ref<any>([]);
|
||||
// const evaluate = ref<any>([]);
|
||||
|
||||
onMounted(() => {
|
||||
fecthAssign(assignId.value);
|
||||
|
|
@ -68,7 +68,7 @@ const director1_dated = ref<any>("");
|
|||
const director2_dated = ref<any>("");
|
||||
const fecthResult = async (id: string) => {
|
||||
await http
|
||||
.get(config.API.evaluateReport(id))
|
||||
.get(config.API.createformReport(id))
|
||||
.then((res: any) => {
|
||||
let data = res.data.data.evaluate;
|
||||
console.log(data);
|
||||
|
|
@ -124,7 +124,7 @@ const postData = async () => {
|
|||
director2_dated: director2_dated.value,
|
||||
};
|
||||
|
||||
console.log("postData===>", data);
|
||||
// console.log("postData===>", data);
|
||||
await http
|
||||
.post(config.API.createformReport(assignId.value), data)
|
||||
.then(() => {
|
||||
|
|
@ -146,15 +146,8 @@ const postData = async () => {
|
|||
<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
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="date_start" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -162,22 +155,10 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker"
|
||||
:model-value="
|
||||
date_start != null ? date2Thai(date_start) : null
|
||||
"
|
||||
:label="`${'ระหว่างวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense 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 name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
|
|
@ -185,15 +166,8 @@ const postData = async () => {
|
|||
</datepicker>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="date_finish"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="date_finish" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -201,22 +175,10 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker"
|
||||
:model-value="
|
||||
date_finish != null ? date2Thai(date_finish) : null
|
||||
"
|
||||
:label="`${'ถึงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense 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>
|
||||
|
|
@ -228,63 +190,29 @@ const postData = async () => {
|
|||
|
||||
<div class="col-12 row q-mt-xs">
|
||||
<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
|
||||
emit-value
|
||||
map-options
|
||||
option-label="label"
|
||||
option-value="value"
|
||||
outlined
|
||||
v-model="develop"
|
||||
label="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ"
|
||||
/>
|
||||
<q-select :rules="[
|
||||
(val) =>
|
||||
!!val || 'กรุณาเลือกการพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ',
|
||||
]" hide-bottom-space :options="options" class="col-xs-12 col-sm-6" dense borderless emit-value map-options
|
||||
option-label="label" option-value="value" outlined v-model="develop"
|
||||
label="การพัฒนาในระหว่างทดลองปฏิบัติหน้าที่ราชการ" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<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"
|
||||
dense
|
||||
borderless
|
||||
emit-value
|
||||
map-options
|
||||
option-label="label"
|
||||
option-value="value"
|
||||
outlined
|
||||
v-model="result"
|
||||
label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ"
|
||||
/>
|
||||
<q-select :rules="[
|
||||
(val) =>
|
||||
!!val || 'กรุณาเลือกผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ',
|
||||
]" hide-bottom-space :options="optionsResult" class="col-xs-12 col-sm-6" dense borderless emit-value
|
||||
map-options option-label="label" option-value="value" outlined v-model="result"
|
||||
label="ผลการประเมินการทดลองปฏิบัติหน้าที่ราชการ" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row q-mt-lg">
|
||||
<div class="col-12">
|
||||
<q-input
|
||||
hide-bottom-space
|
||||
:readonly="edit"
|
||||
dense
|
||||
borderless
|
||||
:outlined="!edit"
|
||||
class="bg-white"
|
||||
type="textarea"
|
||||
v-model="reson"
|
||||
label="เหตุผล"
|
||||
:rules="[(val) => !!val || 'กรุณาระบุเหตุผล']"
|
||||
/>
|
||||
<q-input hide-bottom-space :readonly="edit" dense borderless :outlined="!edit" class="bg-white" type="textarea"
|
||||
v-model="reson" label="เหตุผล" :rules="[(val) => !!val || 'กรุณาระบุเหตุผล']" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -298,26 +226,11 @@ const postData = async () => {
|
|||
ประธานคณะกรรมการประเมินผลการปฏิบัติหน้าที่ราชการ
|
||||
</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
|
||||
/>
|
||||
<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'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="chairman_dated" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -325,22 +238,10 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
chairman_dated != null ? date2Thai(chairman_dated) : null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense 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 name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
|
|
@ -356,25 +257,11 @@ const postData = async () => {
|
|||
<!-- ความเห็นของผู้มีอำนาจสั่งบรรจุตามมาตรา 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
|
||||
:options="optionDirector"
|
||||
label=""
|
||||
option-label="name"
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="director_id2" outlined :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
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="director1_dated" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -382,24 +269,12 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
director1_dated != null
|
||||
? date2Thai(director1_dated)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense 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 name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
|
|
@ -415,25 +290,11 @@ const postData = async () => {
|
|||
<!-- ผู้มีอำนาจสั่งบรรจุตามมาตรา 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"
|
||||
label=""
|
||||
option-label="name"
|
||||
/>
|
||||
<q-select class="col-xs-12 col-sm-8" dense v-model="director_id3" outlined :options="optionDirector" label=""
|
||||
option-label="name" />
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="director2_dated"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="director2_dated" :locale="'th'" autoApply borderless
|
||||
:enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -441,24 +302,12 @@ const postData = async () => {
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker col-3"
|
||||
:model-value="
|
||||
director2_dated != null
|
||||
? date2Thai(director2_dated)
|
||||
: null
|
||||
"
|
||||
:label="`${'ลงวันที่'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่'}`]"
|
||||
>
|
||||
<q-input outlined dense 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 name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
|
|
@ -471,12 +320,7 @@ const postData = async () => {
|
|||
|
||||
<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>
|
||||
</q-form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -41,10 +41,11 @@ const props = defineProps({
|
|||
});
|
||||
|
||||
onMounted(async () => {
|
||||
// console.log("tab===>", props.tab);
|
||||
console.log("form tab===>", props.tab);
|
||||
|
||||
if (props.tab !== undefined) {
|
||||
round.value = props.tab.charAt(4);
|
||||
console.log("round===>", round.value);
|
||||
|
||||
// await fecthFormRound(assignId.value, round.value);
|
||||
}
|
||||
|
|
@ -55,7 +56,7 @@ const fecthFormdata = async (id: string) => {
|
|||
await http
|
||||
.get(config.API.formevaluateRecord(id))
|
||||
.then(async (res: any) => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
evaluate_no.value = res.data.data.evaluate_no;
|
||||
start_date.value = res.data.data.start_date;
|
||||
date_finish.value = res.data.data.end_date;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ const fecthAssign = async (id: string) => {
|
|||
// console.log(tabs.value);
|
||||
})
|
||||
.catch((e: any) => {
|
||||
console.log(e);
|
||||
// console.log(e);
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
|
|
@ -75,40 +75,7 @@ const addData = () => {
|
|||
:loop="tabs.length"
|
||||
v-if="tabs.length > 0"
|
||||
/>
|
||||
<!-- <q-header class="bg-grey-1">
|
||||
<div class="bg-grey-1">
|
||||
<div class="col-12 row q-gutter-xs-md items-center">
|
||||
<q-tabs dense v-model="tabHead" active-class="text-primary text-weight-medium" indicator-color="grey-1"
|
||||
class="text-grey-7">
|
||||
<q-tab v-for="tabData in tabs" :key="tabData.no" :name="tabData.no" :label="'ครั้งที่' + tabData.no"
|
||||
@click="changeTab('save' + tabData.no)">
|
||||
<q-btn size="12px" flat dense icon="mdi-download" :disable="tabHead !== tabData.no"
|
||||
:color="tabHead !== tabData.no ? 'grey' : 'add'">
|
||||
<q-tooltip>ดาวน์โหลด</q-tooltip>
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable v-close-popup>
|
||||
<q-item-section avatar><q-icon color="red" name="mdi-file-pdf" /></q-item-section>
|
||||
<q-item-section>ไฟล์ .PDF</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup>
|
||||
<q-item-section avatar><q-icon color="blue" name="mdi-file-word" /></q-item-section>
|
||||
<q-item-section>ไฟล์ .docx</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
</q-tab>
|
||||
</q-tabs>
|
||||
<div>
|
||||
<q-btn color="blue" flat dense icon="mdi-plus" @click="nextPage">
|
||||
<q-tooltip> เพิ่ม </q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
</div>
|
||||
</q-header> -->
|
||||
|
||||
<q-page-container>
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
<q-tab-panel
|
||||
|
|
|
|||
|
|
@ -41,14 +41,14 @@ onMounted(() => {
|
|||
const fecthAssign = async (id: string) => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluateCreate(id))
|
||||
.get(config.API.createformCommader(id))
|
||||
.then((res: any) => {
|
||||
if (res.data.data.evaluate_no > 0) {
|
||||
tabs.value = res.data.data.evaluate;
|
||||
}
|
||||
})
|
||||
.catch((e: any) => {
|
||||
console.log(e);
|
||||
// console.log(e);
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ onMounted(() => {
|
|||
const fecthAssign = async (id: string) => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluateChairman(id))
|
||||
.get(config.API.createformChairman(id))
|
||||
.then((res: any) => {
|
||||
if (res.data.data.evaluate_no > 0) {
|
||||
tabs.value = res.data.data.evaluate;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, defineAsyncComponent } from "vue";
|
||||
const tab = ref<string>("save1");
|
||||
const changeTab = (tabVal: string) => {
|
||||
tab.value = tabVal
|
||||
}
|
||||
// const tab = ref<string>("save1");
|
||||
// const changeTab = (tabVal: string) => {
|
||||
// tab.value = tabVal
|
||||
// }
|
||||
|
||||
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 FormReport = defineAsyncComponent(
|
||||
() => import("@/modules/05_placement/components/probation/FormEvaluation/FormReport.vue")
|
||||
)
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">ข้อมูลการลาออก</div>
|
||||
<q-space />
|
||||
<div class="q-gutter-x-sm" v-if="dataDetail.status === 'PENDING'">
|
||||
<div class="q-gutter-x-sm" v-if="dataDetail.status === 'WAITTING'">
|
||||
<q-btn
|
||||
outline
|
||||
color="primary"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue