Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mySkill-x
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
angular
mySkill-x
Commits
981c7251
Commit
981c7251
authored
Feb 27, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ตัวชี้วัดเเละหลักสูตร
parent
d3b60370
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
2415 additions
and
462 deletions
+2415
-462
edit-group-indicators.component.html
...dit-group-indicators/edit-group-indicators.component.html
+1
-1
edit-group-indicators.component.ts
.../edit-group-indicators/edit-group-indicators.component.ts
+0
-1
self-evaluation.component.html
...evaluation/self-evaluation/self-evaluation.component.html
+365
-330
self-evaluation.component.ts
...e-evaluation/self-evaluation/self-evaluation.component.ts
+310
-118
round-one.component.html
.../supervisor-evaluation/round-one/round-one.component.html
+8
-4
round-one.component.ts
...on/supervisor-evaluation/round-one/round-one.component.ts
+2
-0
supervisor-evaluation.component.html
...upervisor-evaluation/supervisor-evaluation.component.html
+5
-2
supervisor-evaluation.component.ts
.../supervisor-evaluation/supervisor-evaluation.component.ts
+1
-0
appraisal-competency.model.ts
src/app/shared/model/appraisal-competency.model.ts
+1710
-0
appraisal.service.ts
src/app/shared/services/appraisal.service.ts
+7
-6
employee.service.ts
src/app/shared/services/employee.service.ts
+6
-0
No files found.
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/edit-group-indicators/edit-group-indicators.component.html
View file @
981c7251
...
@@ -161,7 +161,7 @@
...
@@ -161,7 +161,7 @@
</a>
</a>
<div
class=
"ciricon flex text-start items-center cursor-pointer"
<div
class=
"ciricon flex text-start items-center cursor-pointer"
*
ngIf=
"!seeTab"
*
ngIf=
"!seeTab"
(
click
)="
assessmentToolsSelectIndex=
[l,m];deleteAssessmentTools()"
>
(
click
)="
dataSelectIndex=
i;
assessmentToolsSelectIndex=[l,m];deleteAssessmentTools()"
>
<i
class=
"ri-close-line text-red-500"
></i>
<i
class=
"ri-close-line text-red-500"
></i>
</div>
</div>
</ng-container>
</ng-container>
...
...
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/edit-group-indicators/edit-group-indicators.component.ts
View file @
981c7251
...
@@ -281,5 +281,4 @@ export class EditGroupIndicators implements OnInit {
...
@@ -281,5 +281,4 @@ export class EditGroupIndicators implements OnInit {
positionClass
:
'toast-top-right'
,
positionClass
:
'toast-top-right'
,
})
})
}
}
}
}
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.html
View file @
981c7251
...
@@ -100,25 +100,25 @@
...
@@ -100,25 +100,25 @@
</tbody>
</tbody>
<tbody
*
ngIf=
"!appraisalCompentency.loading&&appraisalCompentencyFilter(i).length"
>
<tbody
*
ngIf=
"!appraisalCompentency.loading&&appraisalCompentencyFilter(i).length"
>
<tr
<tr
*
ngFor=
"let masfromEvaluation
Round
of appraisalCompentencyFilter(i);let i = index"
>
*
ngFor=
"let masfromEvaluation
Assessment1
of appraisalCompentencyFilter(i);let i = index"
>
<td
class=
"flex justify-center items-center"
>
<td
class=
"flex justify-center items-center"
>
{{masfromEvaluationRound.competencyType.shortName}}
<!-- {{masfromEvaluationAssessment1.competencyType.shortName}} -->
</td>
</td>
<td>
<td>
{{masfromEvaluationRound.competencyType.tdesc}}
<!-- {{masfromEvaluationAssessment1.competencyType.tdesc}} -->
</td>
</td>
<td>
<td
*
ngIf=
"appraisalCompentency.select"
>
{{convertDate(appraisalCompentency.select.masfromEvaluationRound.apsPeriodStart)}}
{{convertDate(appraisalCompentency.select.masfromEvaluationRound.apsPeriodStart)}}
</td>
</td>
<td>
<td
*
ngIf=
"appraisalCompentency.select"
>
{{convertDate(appraisalCompentency.select.masfromEvaluationRound.apsPeriodEnd)}}
{{convertDate(appraisalCompentency.select.masfromEvaluationRound.apsPeriodEnd)}}
</td>
</td>
<td>
<td>
{{masfromEvaluationRound.masfromStatusType.tdesc}}
<!-- {{masfromEvaluationAssessment1.masfromStatusType.tdesc}} -->
</td>
</td>
<td
class=
"flex justify-center items-center"
>
<td
class=
"flex justify-center items-center"
>
<span
class=
"rounded-md bg-success text-white px-3 py-1 cursor-pointer"
<span
class=
"rounded-md bg-success text-white px-3 py-1 cursor-pointer"
(
click
)="
getAppraisalCompentencyForm
(
masfromEvaluation
Round
.
competencyType
.
competencyTypeId
);
currentTemplate =
selfEvaluationEdit
;
pathTitle =
['การประเมินผล',
'ประเมินผล']"
>
(
click
)="
getAppraisalCompentencyForm
(
masfromEvaluation
Assessment1
.
competencyType
.
competencyTypeId
);
currentTemplate =
selfEvaluationEdit
;
pathTitle =
['การประเมินผล',
'ประเมินผล']"
>
ประเมิน
ประเมิน
</span>
</span>
</td>
</td>
...
@@ -201,364 +201,398 @@
...
@@ -201,364 +201,398 @@
<ng-template
#
selfEvaluationEdit
>
<ng-template
#
selfEvaluationEdit
>
<!-- <div class="pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center">
<ng-container
*
ngIf=
"appraisalCompentency2.data"
>
<div class="flex">
<div
class=
"pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center"
>
<button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"
<div
class=
"flex"
>
(click)="currentTemplate = selfEvaluation ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']">
<button
type=
"button"
<i class="ti ti-chevron-left"></i>
class=
"ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"
ย้อนกลับ
(
click
)="
currentTemplate =
selfEvaluation
;
pathTitle =
['การประเมินผล',
'ประเมินตนเอง']"
>
</button>
<i
class=
"ti ti-chevron-left"
></i>
<div class="font-size-18px font-weight-700 align-center text-primary pl-1rem">
ย้อนกลับ
ประเมินผล ประจำปี 2024
</button>
<div
class=
"font-size-18px font-weight-700 align-center text-primary pl-1rem"
>
ประเมินผล ประจำปี 2024
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pb-2rem px-2rem"
>
<div class="pb-2rem px-2rem">
<div
class=
"font-size-18px font-weight-700 text-primary"
>
<div class="font-size-18px font-weight-700 text-primary">
แบบประเมินสมรรถนะพนักงาน ประจำปี 2024
แบบประเมินสมรรถนะพนักงาน ประจำปี 2024
</div>
</div>
<div class="pb-2rem px-2rem">
<div class="p-2 grid grid-cols-6 gap-3">
<div class="grid-cols-1">
<div class="text-gray-400">เครื่องมือประเมิน</div>
<div class="text-gray-400">O = แบบสังเกต</div>
<div class="text-gray-400">P = แบบการปฏิบัติงาน</div>
<div class="text-gray-400">D = การบันทึก/เอกสาร</div>
<div class="text-gray-400">I = การสัมภาษณ์</div>
<div class="text-gray-400">T = แบบทดสอบ</div>
</div>
</div>
<div class="grid-cols-1">
</div>
<div class="text-gray-400">คำชี้แจง</div>
<div
class=
"pb-2rem px-2rem"
>
<div class="text-gray-400">- ใช้วิธีประเมินโดย ผู้บังคับบัญชา = 100 %</div>
<div
class=
"p-2 grid grid-cols-6 gap-3"
>
</div>
<div
class=
"grid-cols-1"
>
<div class="col-span-3 grid-cols-1">
<div
class=
"text-gray-400"
>
เครื่องมือประเมิน
</div>
<div class="text-gray-400">ระดับความสามารถ (Target Degree)</div>
<div
class=
"text-gray-400"
>
O = แบบสังเกต
</div>
<div class="text-gray-400">ระดับ 1 = ไม่มีความรู้พื้นฐานเลย ขาดทักษะในงาน</div>
<div
class=
"text-gray-400"
>
P = แบบการปฏิบัติงาน
</div>
<div class="text-gray-400">ระดับ 2 = มีความรู้ในงานบ้างแต่ยังไม่สามารถ ประยุกต์ใช้ในงานได้</div>
<div
class=
"text-gray-400"
>
D = การบันทึก/เอกสาร
</div>
<div class="text-gray-400">ระดับ 3 = นำความรู้มาประยุกต์ใช้ในงานได้ ปฏิบัติงานเองได้ด้วยตัวเอง
<div
class=
"text-gray-400"
>
I = การสัมภาษณ์
</div>
แก้ไขปัญหาหน้างานได้</div>
<div
class=
"text-gray-400"
>
T = แบบทดสอบ
</div>
<div class="text-gray-400">ระดับ 4 = สอนผู้อื่นได้ มีความคล่องตัว เชื่อมโยง ความรู้ในงานได้</div>
</div>
<div class="text-gray-400">ระดับ 5 = มีความชำนาญ เชี่ยวชาญ เป็นที่ยอมรับ ในองค์กร</div>
<div
class=
"grid-cols-1"
>
<div
class=
"text-gray-400"
>
คำชี้แจง
</div>
<div
class=
"text-gray-400"
>
- ใช้วิธีประเมินโดย ผู้บังคับบัญชา = 100 %
</div>
</div>
<div
class=
"col-span-3 grid-cols-1"
>
<div
class=
"text-gray-400"
>
ระดับความสามารถ (Target Degree)
</div>
<div
class=
"text-gray-400"
>
ระดับ 1 = ไม่มีความรู้พื้นฐานเลย ขาดทักษะในงาน
</div>
<div
class=
"text-gray-400"
>
ระดับ 2 = มีความรู้ในงานบ้างแต่ยังไม่สามารถ ประยุกต์ใช้ในงานได้
</div>
<div
class=
"text-gray-400"
>
ระดับ 3 = นำความรู้มาประยุกต์ใช้ในงานได้ ปฏิบัติงานเองได้ด้วยตัวเอง
แก้ไขปัญหาหน้างานได้
</div>
<div
class=
"text-gray-400"
>
ระดับ 4 = สอนผู้อื่นได้ มีความคล่องตัว เชื่อมโยง ความรู้ในงานได้
</div>
<div
class=
"text-gray-400"
>
ระดับ 5 = มีความชำนาญ เชี่ยวชาญ เป็นที่ยอมรับ ในองค์กร
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pb-2rem px-2rem"
>
<div class="pb-2rem px-2rem">
<div
class=
"overflow-auto rounded-top-0.65rem"
>
<div class="overflow-auto rounded-top-0.65rem">
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover2"
>
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover2">
<thead
class=
"height-50px"
>
<thead class="height-50px">
<tr
class=
"font-size-12px"
>
<tr class="font-size-12px">
<ng-container
<ng-container
*
ngFor=
"let item of ['ลำดับที่','รหัสสมรรถนะ','ชื่อสมรรถนะ','Behavior Indicator (BI)','เครื่องมือประเมิน\n(ตัวย่อ)\n(O,P,D,I,T)']"
>
*ngFor="let item of ['ลำดับที่','รหัสสมรรถนะ','ชื่อสมรรถนะ','Behavior Indicator (BI)','เครื่องมือประเมิน\n(ตัวย่อ)\n(O,P,D,I,T)']">
<th
scope=
"col"
rowspan=
"2"
<th scope="col" rowspan="2"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700 "
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
<th
scope=
"col"
colspan=
"5"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
ระดับความสามารถ (Target Degree)
<div class="absolute top-1/2 transform -translate-y-1/2 right-0">
<i class="ti ti-dots-vertical fs-l"></i>
</div>
</th>
</ng-container>
<th scope="col" colspan="5"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
ระดับความสามารถ (Target Degree)
</th>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of [5,4,3,2,1]">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
</th>
</th>
</ng-container>
</tr>
</tr>
<tr
class=
"font-size-12px"
>
</thead>
<ng-container
*
ngFor=
"let item of [5,4,3,2,1]"
>
<tbody *ngIf="appraisalCompentencyForm.loading">
<th
scope=
"col"
<tr>
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<td class="text-center" colspan="100%">
{{item}}
<div *ngFor="let item of [1,2,3]" class="ti-spinner w-8 h-8 text-secondary mx-1"
</th>
role="status" aria-label="loading">
</ng-container>
<span class="sr-only">Loading...</span>
</tr>
</div>
</thead>
</td>
<tbody
*
ngIf=
"appraisalCompentency2.loading"
>
</tr>
<tr>
</tbody>
<td
class=
"text-center"
colspan=
"100%"
>
<tbody *ngIf="!appraisalCompentencyForm.loading&&!appraisalCompentencyFormFilter().length">
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
<tr>
role=
"status"
aria-label=
"loading"
>
<td class="text-center" colspan="100%">
<span
class=
"sr-only"
>
Loading...
</span>
ไม่พบข้อมูล
</div>
</td>
</tr>
</tbody>
<tbody *ngIf="!appraisalCompentencyForm.loading&&appraisalCompentencyFormFilter().length">
<ng-container
*ngFor="let appraisalCompentencyForm of appraisalCompentencyFormFilter();let i = index">
<tr *ngFor="let bi of appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList;let i2 = index;let f = first"
(mouseenter)="hoveredCode = appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyCourseId"
(mouseleave)="hoveredCode = null"
[ngClass]="{ 'table-hover2': appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyCourseId === hoveredCode ,'border-none':!f }">
<td class="align-start text-center">
<ng-container *ngIf="f">
{{i+1}}
</ng-container>
</td>
<td class="align-start text-center">
<ng-container *ngIf="f">
{{appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.competencyTopic.competencyTopicId}}
</ng-container>
</td>
<td class="align-start !white-space-normal">
<ng-container *ngIf="f">
{{appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.tdesc}}
</ng-container>
</td>
<td class="align-start !white-space-normal">
{{bi.behavioralIndicators}}
</td>
<td class="align-center text-center">
{{bi.assessmentId}}
</td>
</td>
<td class="align-center text-center" *ngFor="let value of [5,4,3,2,1]; let i3=index">
</tr>
<input type="radio" [name]="'radio'+i+''+i2" class="ti-form-radio cursor-pointer"
</tbody>
[id]="'radio'+i+''+i2+''+i3" [value]="value"
<tbody
*
ngIf=
"!appraisalCompentency2.loading&&!appraisalCompentency2Filter().length"
>
[(ngModel)]="bi.competencyBehavioral.scoreTopicExpectation"
<tr>
(ngModelChange)="calnumberCheck()">
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</td>
</tr>
</tr>
</ng-container>
</tbody>
</tbody>
<tbody
*
ngIf=
"!appraisalCompentency2.loading&&appraisalCompentency2Filter().length"
>
</table>
<ng-container
*
ngFor=
"let appraisalCompentency2 of appraisalCompentency2Filter();let i = index"
>
<tr
*
ngFor=
"let bi of appraisalCompentency2.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList;let i2 = index;let f = first"
(
mouseenter
)="
hoveredCode =
appraisalCompentency2.groupAssessment1.competencyIndicatorsCourses1Mini.competencyCourseId"
(
mouseleave
)="
hoveredCode =
null"
[
ngClass
]="{
'
table-hover2
'
:
appraisalCompentency2
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
competencyCourseId =
==
hoveredCode
,'
border-none
'
:
!
f
}"
>
<td
class=
"align-start text-center"
>
<ng-container
*
ngIf=
"f"
>
{{i+1}}
</ng-container>
</td>
<td
class=
"align-start text-center"
>
<ng-container
*
ngIf=
"f"
>
{{appraisalCompentency2.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.competencyTopic.competencyTopicId}}
</ng-container>
</td>
<td
class=
"align-start !white-space-normal"
>
<ng-container
*
ngIf=
"f"
>
{{appraisalCompentency2.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.tdesc}}
</ng-container>
</td>
<td
class=
"align-start !white-space-normal"
>
{{bi.behavioralIndicators}}
</td>
<td
class=
"align-center text-center"
>
{{bi.assessmentId}}
</td>
<td
class=
"align-center text-center"
*
ngFor=
"let value of [5,4,3,2,1]; let i3=index"
>
<input
type=
"radio"
[
name
]="'
radio
'+
i
+''+
i2
"
class=
"ti-form-radio cursor-pointer"
[
id
]="'
radio
'+
i
+''+
i2
+''+
i3
"
[
value
]="
value
"
[(
ngModel
)]="
bi
.
competencyBehavioral
.
scoreTopicExpectation
"
(
ngModelChange
)="
calnumberCheck
()"
>
</td>
</tr>
</ng-container>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="pb-1rem px-2rem">
<div
class=
"pb-1rem px-2rem"
>
<div class="py-2 grid grid-cols-11">
<div
class=
"py-2 grid grid-cols-11"
>
<div class="col-span-8">ระดับความสามารถ (Target Degree)</div>
<div
class=
"col-span-8"
>
ระดับความสามารถ (Target Degree)
</div>
<div class="col-span-3 grid grid-cols-5">
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{item}}</div>
<div
class=
"col-span-1 text-center"
*
ngFor=
"let item of [5,4,3,2,1]"
>
{{item}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div class="py-2 grid grid-cols-11">
<div
class=
"col-span-8"
>
รวมจำนวนเครื่องหมายแต่ละช่อง (1)
</div>
<div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-3 grid grid-cols-5">
<div
class=
"col-span-1 text-center"
>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck5}}</div>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].numberCheck5}}
</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck4}}</div>
<div
class=
"col-span-1 text-center"
>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck3}}</div>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].numberCheck4}}
</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck2}}</div>
<div
class=
"col-span-1 text-center"
>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck1}}</div>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].numberCheck3}}
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].numberCheck2}}
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].numberCheck1}}
</div>
</div>
</div>
</div>
</div
>
<div
class=
"py-2 grid grid-cols-11"
>
<div class="py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
ตัวคูณคะแนนในแต่ละช่อง (2)
</div
>
<div class="col-span-8">ตัวคูณคะแนนในแต่ละช่อง (2)</div
>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore5}}
</div
>
<div class="col-span-1 text-center">{{setting.data.settingScore5
}}</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore4
}}
</div>
<div class="col-span-1 text-center">{{setting.data.settingScore4
}}</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore3
}}
</div>
<div class="col-span-1 text-center">{{setting.data.settingScore3
}}</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore2
}}
</div>
<div class="col-span-1 text-center">{{setting.data.settingScore2
}}</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore1
}}
</div>
<
div class="col-span-1 text-center">{{setting.data.settingScore1}}<
/div>
</div>
</div>
</div>
</div
>
<div
class=
"py-2 grid grid-cols-11"
>
<div class="py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
ถ่วงน้ำหนักผลรวม 1X2
</div
>
<div class="col-span-8">ถ่วงน้ำหนักผลรวม 1X2</div
>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-1 text-center"
*
ngFor=
"let item of [5,4,3,2,1]"
>
{{calWeightScore(item)}}
</div
>
<
div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{calWeightScore(item)}}<
/div>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div class="py-2 grid grid-cols-11">
<div
class=
"col-span-8"
>
คะแนนรวมหลังถ่วงน้ำ
</div>
<div class="col-span-8">คะแนนรวมหลังถ่วงน้ำ</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-3 grid grid-cols-5">
<div
class=
"col-span-5 text-center"
>
<div class="col-span-5 text-center">{{appraisalCompentencyForm.data.weightedTotal}}</div>
{{appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].weightedTotal}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div class="py-2 grid grid-cols-11">
<div
class=
"col-span-8"
>
คะแนนเฉลี่ยคิดเป็น
</div>
<div class="col-span-8">คะแนนเฉลี่ยคิดเป็น</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div class="col-span-3 grid grid-cols-5">
<div
class=
"col-span-5 text-center"
>
<div class="col-span-5 text-center">{{showNumber(appraisalCompentencyForm.data.averageScore)}}</div>
{{showNumber(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].averageScore)}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="pb-2rem px-2rem">
<div
class=
"pb-2rem px-2rem"
>
<div class="overflow-auto rounded-top-0.65rem">
<div
class=
"overflow-auto rounded-top-0.65rem"
>
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead class="height-50px">
<thead
class=
"height-50px"
>
<tr class="font-size-12px">
<tr
class=
"font-size-12px"
>
<ng-container
<ng-container
*ngFor="let item of ['เกณฑ์การให้คะแนนการประประเมิน Check Sheet E01','ผลประเมิน (A)','สรุปผล Gap'];let f = first ;let l = last">
*
ngFor=
"let item of ['เกณฑ์การให้คะแนนการประประเมิน Check Sheet E01','ผลประเมิน (A)','สรุปผล Gap'];let f = first ;let l = last"
>
<th scope="col" [attr.rowspan]="f?'1':'2'" [attr.colspan]="f?'2':'1'"
<th
scope=
"col"
[
attr
.
rowspan
]="
f
?'
1
'
:
'
2
'"
[
attr
.
colspan
]="
f
?'
2
'
:
'
1
'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
<span
class=
"font-size-12px font-weight-700 "
>
{{ item }}
</span>
<div *ngIf="!f&&!l" class="absolute top-1/2 transform -translate-y-1/2 right-0">
<div
*
ngIf=
"!f&&!l"
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i class="ti ti-dots-vertical fs-l"></i>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
<th
*
ngIf=
"f"
scope=
"col"
rowspan=
"2"
class=
"relative bg-soft-secondary text-primary !text-center !p-0"
>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of ['เกณฑ์การให้คะแนน','เงื่อนไข']"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
{{item}}
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"checkSheet.length"
>
<tr
*
ngFor=
"let item of checkSheet;let i = index"
>
<td
class=
"align-start"
rowspan=
"2"
>
<div
*
ngFor=
"let item2 of item.score"
>
<span>
{{item2}}
</span><br>
</div>
</div>
</th>
</td>
<th *ngIf="f" scope="col" rowspan="2"
<td
class=
"align-start"
rowspan=
"2"
>
class="relative bg-soft-secondary text-primary !text-center !p-0">
<div
*
ngFor=
"let item2 of item.condition"
>
<div class="absolute top-1/2 transform -translate-y-1/2 right-0">
<span>
{{item2}}
</span><br>
<i class="ti ti-dots-vertical fs-l"></i>
</div>
</div>
</th>
</td>
</ng-container>
<td
class=
"!p-0"
></td>
</tr>
<td
class=
"align-start text-center"
>
<tr class="font-size-12px">
{{calAverage(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].averageScore)}}
<ng-container *ngFor="let item of ['เกณฑ์การให้คะแนน','เงื่อนไข']">
</td>
<th scope="col"
<td
class=
"align-start text-center"
>
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{calGap(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].averageScore)}}
{{item}}
</td>
</th>
</tr>
</ng-container>
<tr>
</tr>
<td
class=
"align-start !white-space-normal"
colspan=
"4"
>
</thead>
หมายเหตุ
<br>
<tbody *ngIf="checkSheet.length">
ผลการประเมินอาจมีการเปลี่ยนแปลงเงื่อนไขข้อ 1-3 เนื่องจากมีคะแนนต่ำกว่าเกณฑ์ในบางข้อ
<tr *ngFor="let item of checkSheet;let i = index">
</td>
<td class="align-start" rowspan="2">
</tr>
<div *ngFor="let item2 of item.score">
</tbody>
<span>{{item2}} </span><br>
</table>
</div>
</td>
<td class="align-start" rowspan="2">
<div *ngFor="let item2 of item.condition">
<span>{{item2}} </span><br>
</div>
</td>
<td class="!p-0"></td>
<td class="align-start text-center">
{{calAverage(appraisalCompentencyForm.data.averageScore)}}
</td>
<td class="align-start text-center">
{{calGap(appraisalCompentencyForm.data.averageScore)}}
</td>
</tr>
<tr>
<td class="align-start !white-space-normal" colspan="4">
หมายเหตุ<br>
ผลการประเมินอาจมีการเปลี่ยนแปลงเงื่อนไขข้อ 1-3 เนื่องจากมีคะแนนต่ำกว่าเกณฑ์ในบางข้อ
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="py-1rem px-2rem">
<div class="py-2 grid grid-cols-7 gap-3">
<div class="col-span-1">ผู้ถูกประเมิน</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsassessy.thFullName}}</div>
<div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none "
[checked]="appraisalCompentencyForm.data.apsassessyStatus=='1'">
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsassessyComment"></textarea>
<span class="pt-2">
วันที่ : {{convertDate(currentDate)}}
</span>
</div>
</div>
</div>
</div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentencyForm.data.apsapprove1.employeeId">
<div
class=
"py-1rem px-2rem"
>
<div class="col-span-1">
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
{{appraisalCompentencyForm.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}}
<div
class=
"col-span-1"
>
ผู้ถูกประเมิน
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsassessy.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none "
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsassessyStatus=
='1'"
>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
<div
class=
"col-span-2"
>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
0
'"
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
0
'"
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsassessyComment
"
></textarea>
<span
class=
"pt-2"
>
วันที่ :
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsassessyDate)}}
</span>
</div>
</div>
</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsapprove1.thFullName}}</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
*
ngIf=
"appraisalCompentency2.data.apsapprove1.employeeId"
>
<div class="col-span-1">
<div
class=
"col-span-1"
>
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
{{appraisalCompentency2.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}}
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsapprove1.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentencyForm.data.apsapprove1Status=='1'">
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove1Status=
='1'"
>
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
</div>
<div class="col-span-2">
<div
class=
"col-span-2"
>
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsapprove1Comment"></textarea>
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
1
'"
<span class="pt-2">
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
1
'"
วันที่ : {{convertDate(currentDate)}}
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove1Comment
"
></textarea>
</span>
<span
class=
"pt-2"
>
</div>
วันที่ :
</div>
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsapprove1Date)}}
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentencyForm.data.apsapprove2.employeeId">
</span>
<div class="col-span-1">
</div>
{{appraisalCompentencyForm.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}}
</div>
</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsapprove2.thFullName}}</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
*
ngIf=
"appraisalCompentency2.data.apsapprove2.employeeId"
>
<div class="col-span-1">
<div
class=
"col-span-1"
>
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
{{appraisalCompentency2.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}}
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsapprove2.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentencyForm.data.apsapprove2Status=='1'">
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove2Status=
='1'"
>
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
</div>
<div class="col-span-2">
<div
class=
"col-span-2"
>
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsapprove2Comment"></textarea>
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
2
'"
<span class="pt-2">
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
2
'"
วันที่ : {{convertDate(currentDate)}}
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove2Comment
"
></textarea>
</span>
<span
class=
"pt-2"
>
</div>
วันที่ :
</div>
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsapprove2Date)}}
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentencyForm.data.apsapprove3.employeeId">
</span>
<div class="col-span-1">
</div>
{{appraisalCompentencyForm.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}}
</div>
</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsapprove3.thFullName}}</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
*
ngIf=
"appraisalCompentency2.data.apsapprove3.employeeId"
>
<div class="col-span-1">
<div
class=
"col-span-1"
>
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
{{appraisalCompentency2.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}}
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsapprove3.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentencyForm.data.apsapprove3Status=='1'">
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove3Status=
='1'"
>
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
</div>
<div class="col-span-2">
<div
class=
"col-span-2"
>
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsapprove3Comment"></textarea>
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
3
'"
<span class="pt-2">
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
3
'"
วันที่ : {{convertDate(currentDate)}}
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove3Comment
"
></textarea>
</span>
<span
class=
"pt-2"
>
</div>
วันที่ :
</div>
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsapprove3Date)}}
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentencyForm.data.apsapprove4.employeeId">
</span>
<div class="col-span-1">
</div>
{{appraisalCompentencyForm.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}}
</div>
</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsapprove4.thFullName}}</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
*
ngIf=
"appraisalCompentency2.data.apsapprove4.employeeId"
>
<div class="col-span-1">
<div
class=
"col-span-1"
>
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
{{appraisalCompentency2.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}}
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsapprove4.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentencyForm.data.apsapprove4Status=='1'">
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove4Status=
='1'"
>
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
</div>
<div class="col-span-2">
<div
class=
"col-span-2"
>
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsapprove4Comment"></textarea>
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
4
'"
<span class="pt-2">
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
4
'"
วันที่ : {{convertDate(currentDate)}}
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove4Comment
"
></textarea>
</span>
<span
class=
"pt-2"
>
</div>
วันที่ :
</div>
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsapprove4Date)}}
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentencyForm.data.apsapprove5.employeeId">
</span>
<div class="col-span-1">
</div>
ผู้อนุมัติ
</div>
</div>
<div class="col-span-1">{{appraisalCompentencyForm.data.apsapprove5.thFullName}}</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
*
ngIf=
"appraisalCompentency2.data.apsapprove5.employeeId"
>
<div class="col-span-1">
<div
class=
"col-span-1"
>
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
ผู้อนุมัติ
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency2.data.apsapprove5.thFullName}}
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentencyForm.data.apsapprove5Status=='1'">
[
checked
]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove5Status=
='1'"
>
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
</div>
<div class="col-span-2">
<div
class=
"col-span-2"
>
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsapprove5Comment"></textarea>
[
class
.!
bg-input-readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
5
'"
<span class="pt-2">
[
readonly
]="!
appraisalCompentency2
.
data
||
appraisalCompentency2
.
data
.
currentStep
!='
5
'"
วันที่ : {{convertDate(currentDate)}}
[(
ngModel
)]="
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove5Comment
"
></textarea>
</span>
<span
class=
"pt-2"
>
วันที่ :
{{convertDate(appraisalCompentency2.data.masfromEvaluationAssessment1lList[0].apsapprove5Date)}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="flex justify-center mb-1rem pb-2rem">
<div
class=
"flex justify-center mb-1rem pb-2rem"
>
<button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="saveDraft()">
<button
type=
"submit"
class=
"ti-btn ti-btn-success mx-2rem"
(
click
)="
saveDraft
()"
>
บันทึกร่าง
บันทึกร่าง
</button>
</button>
<button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save()">
<button
type=
"submit"
class=
"ti-btn ti-btn-success mx-2rem"
(
click
)="
save
()"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</div>-->
</div>
</ng-container>
</ng-template>
</ng-template>
\ No newline at end of file
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.ts
View file @
981c7251
import
{
ChangeDetectorRef
,
Component
,
OnInit
,
TemplateRef
,
ViewChild
}
from
'@angular/core'
;
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
OnInit
,
Output
,
TemplateRef
,
ViewChild
}
from
'@angular/core'
;
import
{
AppraisalFormModel
,
MyAppraisalFormModel
}
from
'src/app/shared/model/appraisal-form.model'
;
import
{
AppraisalCompentencyModel
,
AppraisalCompentencyModel2
}
from
'src/app/shared/model/appraisal-competency.model'
;
import
{
AppraisalModel
,
MyAppraisalModel
}
from
'src/app/shared/model/appraisal.model'
;
import
{
EmployeeModel
,
MyEmployeeModel
}
from
'src/app/shared/model/employee.model'
;
import
{
EmployeeModel
,
MyEmployeeModel
}
from
'src/app/shared/model/employee.model'
;
import
{
IdpDevelopmentModel
,
MyIdpDevelopmentModel
}
from
'src/app/shared/model/idp-development.model'
;
import
{
MySettingAssessmentModel
,
SettingAssessmentModel
}
from
'src/app/shared/model/setting-assessment.model'
;
import
{
MySettingAssessmentModel
,
SettingAssessmentModel
}
from
'src/app/shared/model/setting-assessment.model'
;
import
{
AppraisalService
}
from
'src/app/shared/services/appraisal.service'
;
import
{
AppraisalService
}
from
'src/app/shared/services/appraisal.service'
;
import
{
EmployeeService
}
from
'src/app/shared/services/employee.service'
;
import
{
EmployeeService
}
from
'src/app/shared/services/employee.service'
;
import
{
IdpDevelopmentService
}
from
'src/app/shared/services/idp-development.service'
;
import
{
SettingAssessmentService
}
from
'src/app/shared/services/setting-assessment.service'
;
import
{
SettingAssessmentService
}
from
'src/app/shared/services/setting-assessment.service'
;
import
Swal
from
'sweetalert2'
;
import
Swal
from
'sweetalert2'
;
...
@@ -22,7 +19,10 @@ export interface BiModel {
...
@@ -22,7 +19,10 @@ export interface BiModel {
styleUrls
:
[
'./self-evaluation.component.scss'
]
styleUrls
:
[
'./self-evaluation.component.scss'
]
})
})
export
class
SelfEvaluationComponent
implements
OnInit
{
export
class
SelfEvaluationComponent
implements
OnInit
{
pathTitle
=
[
'การประเมินผล'
,
'ประเมินตนเอง'
]
@
Input
()
pathTitle
=
[
'การประเมินผล'
,
'ประเมินตนเอง'
]
@
Input
()
employeeId
?:
string
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendPageEvalution
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
hoveredCode
:
string
|
null
=
null
;
hoveredCode
:
string
|
null
=
null
;
checkSheet
:
{
checkSheet
:
{
score
:
string
[],
score
:
string
[],
...
@@ -35,11 +35,12 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -35,11 +35,12 @@ export class SelfEvaluationComponent implements OnInit {
@
ViewChild
(
'selfEvaluationEdit'
,
{
static
:
true
})
selfEvaluationEdit
!
:
TemplateRef
<
any
>
;
@
ViewChild
(
'selfEvaluationEdit'
,
{
static
:
true
})
selfEvaluationEdit
!
:
TemplateRef
<
any
>
;
currentTemplate
:
TemplateRef
<
any
>
=
this
.
selfEvaluation
currentTemplate
:
TemplateRef
<
any
>
=
this
.
selfEvaluation
appraisalCompentency
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
AppraisalModel
[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
()
,
dataList
:
[]
}
appraisalCompentency
:
{
loading
:
boolean
,
select
?:
AppraisalCompentencyModel
,
dataList
:
AppraisalCompentencyModel
[]
}
=
{
loading
:
false
,
select
:
undefined
,
dataList
:
[]
}
appraisalCompentency
Form
:
{
loading
:
boolean
,
data
:
AppraisalFormModel
}
=
{
loading
:
false
,
data
:
new
MyAppraisalFormModel
()
}
appraisalCompentency
2
:
{
loading
:
boolean
,
data
?:
AppraisalCompentencyModel2
}
=
{
loading
:
false
,
data
:
undefined
}
appraisalPms
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
()
,
dataList
:
[]
}
appraisalPms
:
{
loading
:
boolean
,
select
:
undefined
,
dataList
:
{
check
:
boolean
,
data
:
undefined
}[]
}
=
{
loading
:
false
,
select
:
undefined
,
dataList
:
[]
}
employee
:
{
loading
:
boolean
,
data
:
EmployeeModel
}
=
{
loading
:
false
,
data
:
new
MyEmployeeModel
()
}
employee
:
{
loading
:
boolean
,
data
:
EmployeeModel
}
=
{
loading
:
false
,
data
:
new
MyEmployeeModel
()
}
// setting: { loading: boolean, data: SettingAssessmentModel } = { loading: false, data: new MySettingAssessmentModel() }
employeeEvaluate
:
{
loading
:
boolean
,
data
:
EmployeeModel
,
evaluate
:
boolean
}
=
{
loading
:
false
,
data
:
new
MyEmployeeModel
(),
evaluate
:
false
}
setting
:
{
loading
:
boolean
,
data
:
SettingAssessmentModel
}
=
{
loading
:
false
,
data
:
new
MySettingAssessmentModel
()
}
currentDate
=
new
Date
()
currentDate
=
new
Date
()
constructor
(
private
appraisalService
:
AppraisalService
,
constructor
(
private
appraisalService
:
AppraisalService
,
private
employeeService
:
EmployeeService
,
private
employeeService
:
EmployeeService
,
...
@@ -49,28 +50,50 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -49,28 +50,50 @@ export class SelfEvaluationComponent implements OnInit {
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
currentTemplate
=
this
.
selfEvaluation
this
.
currentTemplate
=
this
.
selfEvaluation
this
.
get
Profile
()
this
.
get
Working
()
this
.
getAppraisalCompentencyList
()
this
.
getAppraisalCompentencyList
()
// this.getSettingList()
this
.
getSettingList
()
if
(
this
.
pathTitle
.
find
(
x
=>
[
'การประเมินผล'
,
'ประเมินโดยหัวหน้า'
].
includes
(
x
)))
{
this
.
returnPageTitle
()
}
}
}
returnPageTitle
()
{
this
.
sendPathTitle
.
emit
([
'การประเมินผล'
,
'ประเมินโดยหัวหน้า'
,
'ประเมินลูกน้อง'
])
}
returnPageEvalution
()
{
this
.
sendPageEvalution
.
emit
(
""
)
}
// getSettingList() {
getSettingList
()
{
// this.setting.loading = true
this
.
setting
.
loading
=
true
// this.settingAssessmentService.get().subscribe({
this
.
settingAssessmentService
.
get
().
subscribe
({
// next: response => {
next
:
response
=>
{
// this.setting.data = new MySettingAssessmentModel(response)
this
.
setting
.
data
=
new
MySettingAssessmentModel
(
response
)
// this.setting.loading = false
this
.
setting
.
loading
=
false
// this.cdr.detectChanges()
this
.
cdr
.
detectChanges
()
// }, error: error => {
},
error
:
error
=>
{
// this.setting.loading = false
this
.
setting
.
loading
=
false
// this.cdr.detectChanges()
this
.
cdr
.
detectChanges
()
// }
}
// })
})
// }
}
getProfile
()
{
getWorkingLogin
()
{
this
.
employeeEvaluate
.
loading
=
true
this
.
employeeService
.
getWorking
().
subscribe
({
next
:
response
=>
{
this
.
employeeEvaluate
.
data
=
new
MyEmployeeModel
(
response
)
this
.
employeeEvaluate
.
loading
=
false
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
employeeEvaluate
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
getWorking
()
{
this
.
employee
.
loading
=
true
this
.
employee
.
loading
=
true
this
.
employeeService
.
get
Profile
(
).
subscribe
({
this
.
employeeService
.
get
WorkingById
(
this
.
employeeId
).
subscribe
({
next
:
response
=>
{
next
:
response
=>
{
this
.
employee
.
data
=
new
MyEmployeeModel
(
response
)
this
.
employee
.
data
=
new
MyEmployeeModel
(
response
)
this
.
employee
.
loading
=
false
this
.
employee
.
loading
=
false
...
@@ -85,7 +108,7 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -85,7 +108,7 @@ export class SelfEvaluationComponent implements OnInit {
this
.
appraisalCompentency
.
loading
=
true
this
.
appraisalCompentency
.
loading
=
true
this
.
appraisalService
.
getCompetencyList
().
subscribe
({
this
.
appraisalService
.
getCompetencyList
().
subscribe
({
next
:
response
=>
{
next
:
response
=>
{
this
.
appraisalCompentency
.
dataList
=
response
.
map
(
x
=>
new
MyAppraisalModel
(
x
))
this
.
appraisalCompentency
.
dataList
=
JSON
.
parse
(
JSON
.
stringify
(
response
))
if
(
this
.
appraisalCompentency
.
dataList
.
length
)
{
if
(
this
.
appraisalCompentency
.
dataList
.
length
)
{
this
.
selectAppraisalCompentency
(
this
.
appraisalCompentency
.
dataList
[
0
])
this
.
selectAppraisalCompentency
(
this
.
appraisalCompentency
.
dataList
[
0
])
}
}
...
@@ -100,29 +123,64 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -100,29 +123,64 @@ export class SelfEvaluationComponent implements OnInit {
appraisalCompentencyFilter
(
index
:
number
)
{
appraisalCompentencyFilter
(
index
:
number
)
{
return
this
.
appraisalCompentency
.
dataList
[
index
].
masfromEvaluationAssessment1
return
this
.
appraisalCompentency
.
dataList
[
index
].
masfromEvaluationAssessment1
}
}
selectAppraisalCompentency
(
data
:
AppraisalModel
)
{
selectAppraisalCompentency
(
data
:
Appraisal
Compentency
Model
)
{
this
.
appraisalCompentency
.
select
=
new
MyAppraisalModel
(
data
)
this
.
appraisalCompentency
.
select
=
JSON
.
parse
(
JSON
.
stringify
(
data
)
)
}
}
getAppraisalCompentencyForm
(
typeId
:
string
)
{
getAppraisalCompentencyForm
(
typeId
:
string
)
{
this
.
appraisalCompentencyForm
.
loading
=
true
this
.
appraisalCompentency2
.
loading
=
true
this
.
appraisalService
.
getFormCompentencyById
(
this
.
appraisalCompentency
.
select
.
masfromEvaluationRound
.
evaluationRoundId
,
this
.
employee
.
data
.
employeeId
,
typeId
).
subscribe
({
if
(
this
.
appraisalCompentency
.
select
)
{
next
:
response
=>
{
this
.
appraisalService
.
getFormCompentencyById
(
this
.
appraisalCompentency
.
select
.
masfromEvaluationRound
.
evaluationRoundId
,
this
.
employee
.
data
.
employeeId
,
typeId
).
subscribe
({
console
.
log
(
" 🐒 response:"
,
response
)
next
:
response
=>
{
// this.appraisalCompentencyForm.data = new MyAppraisalFormModel(response)
this
.
appraisalCompentency2
.
data
=
JSON
.
parse
(
JSON
.
stringify
(
response
))
// this.appraisalCompentencyForm.data = response
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
// this.calnumberCheck()
switch
(
this
.
appraisalCompentency2
.
data
?.
currentStep
)
{
// this.appraisalCompentencyForm.loading = false
case
(
"0"
):
{
this
.
cdr
.
detectChanges
()
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsassessyDate
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
},
error
:
error
=>
{
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsassessy
.
employeeId
this
.
appraisalCompentencyForm
.
loading
=
false
break
this
.
cdr
.
detectChanges
()
}
}
case
(
"1"
):
{
})
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove1Date
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsapprove1
.
employeeId
break
}
case
(
"2"
):
{
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove2Date
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsapprove2
.
employeeId
break
}
case
(
"3"
):
{
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove3Date
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsapprove3
.
employeeId
break
}
case
(
"4"
):
{
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove4Date
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsapprove4
.
employeeId
break
}
case
(
"5"
):
{
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
apsapprove5Date
=
this
.
currentDate
.
toISOString
().
split
(
'T'
)[
0
];
this
.
employeeEvaluate
.
evaluate
=
this
.
employeeEvaluate
.
data
.
employeeId
==
this
.
appraisalCompentency2
.
data
.
apsapprove5
.
employeeId
break
}
default
:
{
return
}
}
}
this
.
calnumberCheck
()
this
.
appraisalCompentency2
.
loading
=
false
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
appraisalCompentency2
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
}
}
// appraisalCompentencyForm
Filter() {
appraisalCompentency2
Filter
()
{
// return this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList
return
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
||
[]
//
}
}
appraisalPmsFilter
()
{
appraisalPmsFilter
()
{
...
@@ -163,8 +221,65 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -163,8 +221,65 @@ export class SelfEvaluationComponent implements OnInit {
cancelButton
:
'!swal2-button-bg-gray'
,
cancelButton
:
'!swal2-button-bg-gray'
,
},
},
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
if
(
result
.
isConfirmed
)
{
if
(
result
.
isConfirmed
&&
this
.
appraisalCompentency2
)
{
const
body
=
{
...
this
.
appraisalCompentencyForm
.
data
,
apsassessyStatus
:
'2'
}
let
body
=
this
.
appraisalCompentency2
.
data
switch
(
this
.
appraisalCompentency2
.
data
?.
currentStep
)
{
case
(
"0"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsassessyStatus
:
'1'
}]
}
break
}
case
(
"1"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove1Status
:
'1'
}]
}
break
}
case
(
"2"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove2Status
:
'1'
}]
}
break
}
case
(
"3"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove3Status
:
'1'
}]
}
break
}
case
(
"4"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove4Status
:
'1'
}]
}
break
}
case
(
"5"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove5Status
:
'1'
}]
}
break
}
default
:
{
return
}
}
this
.
appraisalService
.
postCompetency
(
body
).
subscribe
({
this
.
appraisalService
.
postCompetency
(
body
).
subscribe
({
next
:
response
=>
{
next
:
response
=>
{
if
(
response
.
success
)
{
if
(
response
.
success
)
{
...
@@ -228,8 +343,8 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -228,8 +343,8 @@ export class SelfEvaluationComponent implements OnInit {
</svg>
</svg>
</div>
</div>
`
,
`
,
title
:
'บันทึก
แบบร่าง
'
,
title
:
'บันทึก
ข้อมูล
'
,
text
:
'คุณต้องการบันทึก
แบบร่างของ
การประเมินนี้ใช่หรือไม่'
,
text
:
'คุณต้องการบันทึก
ข้อมูล
การประเมินนี้ใช่หรือไม่'
,
showCancelButton
:
true
,
showCancelButton
:
true
,
confirmButtonText
:
'ยืนยันการบันทึก'
,
confirmButtonText
:
'ยืนยันการบันทึก'
,
cancelButtonText
:
'ย้อนกลับ'
,
cancelButtonText
:
'ย้อนกลับ'
,
...
@@ -242,7 +357,64 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -242,7 +357,64 @@ export class SelfEvaluationComponent implements OnInit {
},
},
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
if
(
result
.
isConfirmed
)
{
if
(
result
.
isConfirmed
)
{
const
body
=
{
...
this
.
appraisalCompentencyForm
.
data
,
apsassessyStatus
:
'2'
}
let
body
=
this
.
appraisalCompentency2
.
data
switch
(
this
.
appraisalCompentency2
.
data
?.
currentStep
)
{
case
(
"0"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsassessyStatus
:
'2'
}]
}
break
}
case
(
"1"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove1Status
:
'2'
}]
}
break
}
case
(
"2"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove2Status
:
'2'
}]
}
break
}
case
(
"3"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove3Status
:
'2'
}]
}
break
}
case
(
"4"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove4Status
:
'2'
}]
}
break
}
case
(
"5"
):
{
body
=
{
...
this
.
appraisalCompentency2
.
data
,
masfromEvaluationAssessment1lList
:
[{
...
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
],
apsapprove5Status
:
'2'
}]
}
break
}
default
:
{
return
}
}
this
.
appraisalService
.
postCompetency
(
body
).
subscribe
({
this
.
appraisalService
.
postCompetency
(
body
).
subscribe
({
next
:
response
=>
{
next
:
response
=>
{
if
(
response
.
success
)
{
if
(
response
.
success
)
{
...
@@ -289,80 +461,100 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -289,80 +461,100 @@ export class SelfEvaluationComponent implements OnInit {
});
});
}
}
convertDate
(
dateInput
:
string
|
Date
):
string
{
convertDate
(
dateInput
?:
string
|
Date
):
string
{
const
date
=
typeof
dateInput
===
'string'
?
new
Date
(
dateInput
)
:
dateInput
;
let
date
=
new
Date
()
return
date
.
toLocaleDateString
(
'th-TH'
,
{
day
:
'numeric'
,
month
:
'long'
,
year
:
'numeric'
});
if
(
dateInput
)
{
if
(
typeof
dateInput
===
'string'
)
{
const
[
year
,
month
,
day
]
=
dateInput
.
split
(
'-'
).
map
(
Number
);
date
=
new
Date
(
year
,
month
-
1
,
day
);
}
else
{
date
=
dateInput
}
}
return
date
?.
toLocaleDateString
(
'th-TH'
,
{
day
:
'numeric'
,
month
:
'long'
,
year
:
'numeric'
})
||
''
}
}
// calnumberCheck() {
calnumberCheck
()
{
// this.appraisalCompentencyForm.data.numberCheck1 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 1).length).reduce((acc: any, num: any) => acc + num, 0)
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
// this.appraisalCompentencyForm.data.numberCheck2 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 2).length).reduce((acc: any, num: any) => acc + num, 0)
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck1
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
((
y
:
any
)
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
1
).
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
// this.appraisalCompentencyForm.data.numberCheck3 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 3).length).reduce((acc: any, num: any) => acc + num, 0)
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck2
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
((
y
:
any
)
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
2
).
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
// this.appraisalCompentencyForm.data.numberCheck4 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 4).length).reduce((acc: any, num: any) => acc + num, 0)
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck3
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
((
y
:
any
)
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
3
).
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
// this.appraisalCompentencyForm.data.numberCheck5 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 5).length).reduce((acc: any, num: any) => acc + num, 0)
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck4
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
((
y
:
any
)
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
4
).
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
// this.calWeightTotal()
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck5
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
((
y
:
any
)
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
5
).
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
// this.cdr.detectChanges()
this
.
calWeightTotal
()
// }
}
// calWeightScore(numberCheck: number) {
this
.
cdr
.
detectChanges
()
// switch (numberCheck) {
}
// case (1): {
calWeightScore
(
numberCheck
:
number
)
{
// return +(this.setting.data.settingScore1) * this.appraisalCompentencyForm.data.numberCheck1
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
// }
switch
(
numberCheck
)
{
// case (2): {
case
(
1
):
{
// return +(this.setting.data.settingScore2) * this.appraisalCompentencyForm.data.numberCheck2
return
+
(
this
.
setting
.
data
.
settingScore1
)
*
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck1
// }
}
// case (3): {
case
(
2
):
{
// return +(this.setting.data.settingScore3) * this.appraisalCompentencyForm.data.numberCheck3
return
+
(
this
.
setting
.
data
.
settingScore2
)
*
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck2
// }
}
// case (4): {
case
(
3
):
{
// return +(this.setting.data.settingScore4) * this.appraisalCompentencyForm.data.numberCheck4
return
+
(
this
.
setting
.
data
.
settingScore3
)
*
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck3
// }
}
// case (5): {
case
(
4
):
{
// return +(this.setting.data.settingScore5) * this.appraisalCompentencyForm.data.numberCheck5
return
+
(
this
.
setting
.
data
.
settingScore4
)
*
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck4
// }
}
// default: { return }
case
(
5
):
{
// }
return
+
(
this
.
setting
.
data
.
settingScore5
)
*
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
numberCheck5
// }
}
// calWeightTotal() {
default
:
{
return
}
// this.appraisalCompentencyForm.data.weightedTotal = 0
}
// this.appraisalCompentencyForm.data.weightedTotal = (this.calWeightScore(1) ?? 0) + (this.calWeightScore(2) ?? 0) + (this.calWeightScore(3) ?? 0) + (this.calWeightScore(4) ?? 0) + (this.calWeightScore(5) ?? 0)
}
// this.cdr.detectChanges()
return
// this.calAverageScore()
}
// }
calWeightTotal
()
{
// calAverageScore() {
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
// const total = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.length).reduce((acc: any, num: any) => acc + num, 0) * 5
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
weightedTotal
=
0
// if (total) {
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
weightedTotal
=
(
this
.
calWeightScore
(
1
)
??
0
)
+
(
this
.
calWeightScore
(
2
)
??
0
)
+
(
this
.
calWeightScore
(
3
)
??
0
)
+
(
this
.
calWeightScore
(
4
)
??
0
)
+
(
this
.
calWeightScore
(
5
)
??
0
)
// this.appraisalCompentencyForm.data.averageScore = 0
this
.
cdr
.
detectChanges
()
// this.appraisalCompentencyForm.data.averageScore = (this.appraisalCompentencyForm.data.weightedTotal / total) * 100
this
.
calAverageScore
()
// this.cdr.detectChanges()
}
// }
}
// }
calAverageScore
()
{
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
const
total
=
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
masfromEvaluationAssessment2List
.
map
((
x
:
any
)
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
length
).
reduce
((
acc
:
any
,
num
:
any
)
=>
acc
+
num
,
0
)
*
5
if
(
total
)
{
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
averageScore
=
0
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
averageScore
=
(
this
.
appraisalCompentency2
.
data
.
masfromEvaluationAssessment1lList
[
0
].
weightedTotal
/
total
)
*
100
this
.
cdr
.
detectChanges
()
}
}
}
showNumber
(
text
:
number
|
string
)
{
showNumber
(
text
:
number
|
string
)
{
const
num
=
Number
(
text
);
const
num
=
Number
(
text
);
return
isNaN
(
num
)
?
0
:
+
num
.
toFixed
(
2
);
return
isNaN
(
num
)
?
0
:
+
num
.
toFixed
(
2
);
}
}
// calGap(score: number | string) {
calGap
(
score
:
number
|
string
)
{
// const roundedScore = this.showNumber(score) % 1 <= 0.5 ? Math.floor(this.showNumber(score)) : Math.round(this.showNumber(score));
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
])
{
// if (roundedScore >= 90 && roundedScore <= 100) {
const
roundedScore
=
this
.
showNumber
(
score
)
%
1
<=
0.5
?
Math
.
floor
(
this
.
showNumber
(
score
))
:
Math
.
round
(
this
.
showNumber
(
score
));
// if (this.appraisalCompentencyForm.data.numberCheck1 || this.appraisalCompentencyForm.data.numberCheck2 || this.appraisalCompentencyForm.data.numberCheck3) {
if
(
roundedScore
>=
90
&&
roundedScore
<=
100
)
{
// return "-1";
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck1
||
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck2
||
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck3
)
{
// }
return
"-1"
;
// return "+1";
}
// } else if (roundedScore >= 80 && roundedScore <= 89) {
return
"+1"
;
// if (this.appraisalCompentencyForm.data.numberCheck1 || this.appraisalCompentencyForm.data.numberCheck2 || this.appraisalCompentencyForm.data.numberCheck3) {
}
else
if
(
roundedScore
>=
80
&&
roundedScore
<=
89
)
{
// return "-1";
if
(
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck1
||
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck2
||
this
.
appraisalCompentency2
.
data
?.
masfromEvaluationAssessment1lList
[
0
].
numberCheck3
)
{
// }
return
"-1"
;
// return "0";
}
// } else if (roundedScore >= 60 && roundedScore <= 79) {
return
"0"
;
// return "-1";
}
else
if
(
roundedScore
>=
60
&&
roundedScore
<=
79
)
{
// } else if (roundedScore >= 40 && roundedScore <= 59) {
return
"-1"
;
// return "-2";
}
else
if
(
roundedScore
>=
40
&&
roundedScore
<=
59
)
{
// } else {
return
"-2"
;
// return "-3";
}
else
{
// }
return
"-3"
;
// }
}
}
return
}
calAverage
(
score
:
number
|
string
)
{
calAverage
(
score
:
number
|
string
)
{
const
roundedScore
=
this
.
showNumber
(
score
)
%
1
<=
0.5
?
Math
.
floor
(
this
.
showNumber
(
score
))
:
Math
.
round
(
this
.
showNumber
(
score
));
const
roundedScore
=
this
.
showNumber
(
score
)
%
1
<=
0.5
?
Math
.
floor
(
this
.
showNumber
(
score
))
:
Math
.
round
(
this
.
showNumber
(
score
));
if
(
roundedScore
>=
90
&&
roundedScore
<=
100
)
{
if
(
roundedScore
>=
90
&&
roundedScore
<=
100
)
{
...
...
src/app/components/performance-evaluation/supervisor-evaluation/round-one/round-one.component.html
View file @
981c7251
...
@@ -60,15 +60,18 @@
...
@@ -60,15 +60,18 @@
<td
style=
"font-size: 12px;"
>
{{item[2]}}
</td>
<td
style=
"font-size: 12px;"
>
{{item[2]}}
</td>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-secondary"
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-secondary"
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
CC
CC
</button>
</button>
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-warning"
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-warning"
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
MC
MC
</button>
</button>
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-success"
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-success"
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
style=
"height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
c
')"
>
PC
PC
</button>
</button>
</td>
</td>
...
@@ -80,7 +83,8 @@
...
@@ -80,7 +83,8 @@
</td>
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-success"
<button
type=
"button"
class=
"ti-btn rounded-sm ti-btn-success"
style=
"height: 15px; width: 55px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
pms
')"
>
style=
"height: 15px; width: 55px; font-size: 12px; display: flex; align-items: center; justify-content: center;"
(
click
)="
returnPage
('
pms
')"
>
ประเมิน
ประเมิน
</button>
</button>
</td>
</td>
...
...
src/app/components/performance-evaluation/supervisor-evaluation/round-one/round-one.component.ts
View file @
981c7251
...
@@ -10,6 +10,7 @@ export class RoundOneComponent {
...
@@ -10,6 +10,7 @@ export class RoundOneComponent {
@
Input
()
pathTitle
=
[
'การประเมินสมรรถนะ'
,
'ทะเบียนเครื่องมือ'
,
'เครื่องมือประเมิน'
];
@
Input
()
pathTitle
=
[
'การประเมินสมรรถนะ'
,
'ทะเบียนเครื่องมือ'
,
'เครื่องมือประเมิน'
];
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendPageEvalution
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
@
Output
()
sendPageEvalution
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
@
Output
()
sendEmployeeId
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
activeTab
:
string
=
'tab1'
;
// กำหนด tab เริ่มต้น
activeTab
:
string
=
'tab1'
;
// กำหนด tab เริ่มต้น
isChecked
:
boolean
=
false
;
isChecked
:
boolean
=
false
;
...
@@ -88,6 +89,7 @@ export class RoundOneComponent {
...
@@ -88,6 +89,7 @@ export class RoundOneComponent {
});
});
}
}
returnPage
(
text
:
string
)
{
returnPage
(
text
:
string
)
{
this
.
sendEmployeeId
.
emit
()
this
.
sendPageEvalution
.
emit
(
text
)
this
.
sendPageEvalution
.
emit
(
text
)
}
}
}
}
...
...
src/app/components/performance-evaluation/supervisor-evaluation/supervisor-evaluation.component.html
View file @
981c7251
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<div
class=
"pt-50px px-2rem"
>
<div
class=
"pt-50px px-2rem"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
>
<app-round-one
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
<app-round-one
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
(
sendPageEvalution
)="
pageEvalution=
$event"
></app-round-one>
(
sendPageEvalution
)="
pageEvalution=
$event"
(
sendEmployeeId
)="
employeeId=
$event"
></app-round-one>
</div>
</div>
<div
id=
"underline-2"
role=
"tabpanel"
aria-labelledby=
"underline-item-2"
>
<div
id=
"underline-2"
role=
"tabpanel"
aria-labelledby=
"underline-item-2"
>
</div>
</div>
...
@@ -40,5 +40,7 @@
...
@@ -40,5 +40,7 @@
<app-pms-evalution
(
sendPageEvalution
)="
pageEvalution=
$event"
></app-pms-evalution>
<app-pms-evalution
(
sendPageEvalution
)="
pageEvalution=
$event"
></app-pms-evalution>
</ng-container>
</ng-container>
<ng-container
*
ngIf=
"pageEvalution=='c'"
>
<ng-container
*
ngIf=
"pageEvalution=='c'"
>
<app-c-evaluation
(
sendPageEvalution
)="
pageEvalution=
$event"
></app-c-evaluation>
<!-- <app-c-evaluation (sendPageEvalution)="pageEvalution=$event"></app-c-evaluation> -->
<app-self-evaluation
[
pathTitle
]="
pathTitle
"
(
sendPageEvalution
)="
pageEvalution=
$event"
(
sendPathTitle
)="
pathTitle=
$event"
(
employeeId
)="
employeeId
"
></app-self-evaluation>
</ng-container>
</ng-container>
\ No newline at end of file
src/app/components/performance-evaluation/supervisor-evaluation/supervisor-evaluation.component.ts
View file @
981c7251
...
@@ -8,4 +8,5 @@ import { Component } from '@angular/core';
...
@@ -8,4 +8,5 @@ import { Component } from '@angular/core';
export
class
SupervisorEvaluationComponent
{
export
class
SupervisorEvaluationComponent
{
pathTitle
=
[
'การประเมินผล'
,
'ประเมินโดยหัวหน้า'
]
pathTitle
=
[
'การประเมินผล'
,
'ประเมินโดยหัวหน้า'
]
pageEvalution
=
''
pageEvalution
=
''
employeeId
?:
string
}
}
src/app/shared/model/appraisal-competency.model.ts
0 → 100644
View file @
981c7251
export
interface
AppraisalCompentencyModel
{
personal2Level
:
PersonalLevel
masfromEvaluationRound
:
MasfromEvaluationRound
companyId
:
string
active
:
boolean
apsassessy
:
Apsassessy
apsapprove1
:
Apsapprove1
apsapprove2
:
Apsapprove2
apsapprove3
:
Apsapprove3
apsapprove4
:
Apsapprove4
apsapprove5
:
Apsapprove5
masfromEvaluationAssessment1
:
MasfromEvaluationAssessment1
[]
}
export
interface
PersonalLevel
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
MasfromEvaluationRound
{
evaluationRoundId
:
string
companyId
:
string
tdesc
:
string
edesc
:
string
apsyear
:
string
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCode
}
export
interface
StatusCode
{
code
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Apsassessy
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu1
bu2
:
Bu2
bu3
:
Bu3
bu4
:
Bu4
bu5
:
Bu5
position
:
Position
job
:
Job
pl
:
Pl
status
:
Status
time0
:
Time0
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu1
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu2
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu3
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu4
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu5
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time0
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove1
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix2
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu12
bu2
:
Bu22
bu3
:
Bu32
bu4
:
Bu42
bu5
:
Bu52
position
:
Position2
job
:
Job2
pl
:
Pl2
status
:
Status2
time0
:
Time02
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix2
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu12
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu22
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu32
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu42
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu52
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position2
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job2
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl2
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status2
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time02
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove2
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix3
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu13
bu2
:
Bu23
bu3
:
Bu33
bu4
:
Bu43
bu5
:
Bu53
position
:
Position3
job
:
Job3
pl
:
Pl3
status
:
Status3
time0
:
Time03
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix3
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu13
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu23
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu33
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu43
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu53
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position3
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job3
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl3
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status3
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time03
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove3
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix4
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu14
bu2
:
Bu24
bu3
:
Bu34
bu4
:
Bu44
bu5
:
Bu54
position
:
Position4
job
:
Job4
pl
:
Pl4
status
:
Status4
time0
:
Time04
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix4
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu14
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu24
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu34
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu44
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu54
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position4
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job4
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl4
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status4
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time04
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove4
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix5
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu15
bu2
:
Bu25
bu3
:
Bu35
bu4
:
Bu45
bu5
:
Bu55
position
:
Position5
job
:
Job5
pl
:
Pl5
status
:
Status5
time0
:
Time05
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix5
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu15
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu25
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu35
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu45
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu55
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position5
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job5
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl5
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status5
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time05
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove5
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix6
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu16
bu2
:
Bu26
bu3
:
Bu36
bu4
:
Bu46
bu5
:
Bu56
position
:
Position6
job
:
Job6
pl
:
Pl6
status
:
Status6
time0
:
Time06
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix6
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu16
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu26
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu36
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu46
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu56
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position6
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job6
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl6
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status6
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time06
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
MasfromEvaluationAssessment1
{
plId
:
string
companyId
:
string
lineNo
:
number
competencyType
:
CompetencyType
masfromStatusType
:
MasfromStatusType
currentStep
:
string
lastStep
:
string
apsassessyStatus
:
string
apsapprove1Status
:
string
apsapprove2Status
:
string
apsapprove3Status
:
string
apsapprove4Status
:
string
apsapprove5Status
:
string
numberCheck1
:
number
numberCheck2
:
number
numberCheck3
:
number
numberCheck4
:
number
numberCheck5
:
number
weightedTotal
:
number
averageScore
:
number
apsassessyComment
:
string
apsapprove1Comment
:
string
apsapprove2Comment
:
string
apsapprove3Comment
:
string
apsapprove4Comment
:
string
apsapprove5Comment
:
string
apsassessyDate
:
string
apsapprove1Date
:
string
apsapprove2Date
:
string
apsapprove3Date
:
string
apsapprove4Date
:
string
apsapprove5Date
:
string
evaluationResults
:
string
sumEvaluationResults
:
string
}
export
interface
CompetencyType
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
MasfromStatusType
{
code
:
string
tdesc
:
string
edesc
:
string
}
export
interface
AppraisalCompentencyModel2
{
personalLevel
:
PersonalLevel
masfromEvaluationRound
:
MasfromEvaluationRound
companyId
:
string
active
:
boolean
apsassessy
:
Apsassessy
apsapprove1
:
Apsapprove1
apsapprove2
:
Apsapprove2
apsapprove3
:
Apsapprove3
apsapprove4
:
Apsapprove4
apsapprove5
:
Apsapprove5
masfromEvaluationAssessment1lList
:
MasfromEvaluationAssessment1lList
[]
currentStep
:
string
lastStep
:
string
masfromStatusType
:
MasfromStatusType
}
export
interface
MasfromStatusType
{
code
:
string
tdesc
:
string
edesc
:
string
}
export
interface
PersonalLevel
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
MasfromEvaluationRound
{
evaluationRoundId
:
string
companyId
:
string
tdesc
:
string
edesc
:
string
apsyear
:
string
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCode
}
export
interface
StatusCode
{
code
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Apsassessy
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu1
bu2
:
Bu2
bu3
:
Bu3
bu4
:
Bu4
bu5
:
Bu5
position
:
Position
job
:
Job
pl
:
Pl
status
:
Status
time0
:
Time0
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu1
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu2
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu3
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu4
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu5
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time0
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove1
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix2
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu12
bu2
:
Bu22
bu3
:
Bu32
bu4
:
Bu42
bu5
:
Bu52
position
:
Position2
job
:
Job2
pl
:
Pl2
status
:
Status2
time0
:
Time02
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix2
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu12
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu22
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu32
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu42
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu52
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position2
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job2
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl2
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status2
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time02
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove2
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix3
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu13
bu2
:
Bu23
bu3
:
Bu33
bu4
:
Bu43
bu5
:
Bu53
position
:
Position3
job
:
Job3
pl
:
Pl3
status
:
Status3
time0
:
Time03
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix3
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu13
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu23
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu33
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu43
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu53
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position3
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job3
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl3
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status3
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time03
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove3
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix4
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu14
bu2
:
Bu24
bu3
:
Bu34
bu4
:
Bu44
bu5
:
Bu54
position
:
Position4
job
:
Job4
pl
:
Pl4
status
:
Status4
time0
:
Time04
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix4
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu14
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu24
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu34
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu44
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu54
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position4
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job4
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl4
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status4
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time04
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove4
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix5
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu15
bu2
:
Bu25
bu3
:
Bu35
bu4
:
Bu45
bu5
:
Bu55
position
:
Position5
job
:
Job5
pl
:
Pl5
status
:
Status5
time0
:
Time05
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix5
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu15
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu25
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu35
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu45
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu55
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position5
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job5
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl5
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status5
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time05
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
Apsapprove5
{
employeeId
:
string
bossId
:
string
prefix
:
Prefix6
fname
:
string
lname
:
string
efname
:
string
elname
:
string
bu1
:
Bu16
bu2
:
Bu26
bu3
:
Bu36
bu4
:
Bu46
bu5
:
Bu56
position
:
Position6
job
:
Job6
pl
:
Pl6
status
:
Status6
time0
:
Time06
resignDate
:
string
endWorkDate
:
string
thFullName
:
string
engFullName
:
string
}
export
interface
Prefix6
{
prefixId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Bu16
{
bu1id
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Bu26
{
bu2id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu36
{
bu3id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu46
{
bu4id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Bu56
{
bu5id
:
string
tdesc
:
string
edesc
:
string
parent
:
string
companyId
:
string
}
export
interface
Position6
{
positionId
:
string
tdesc
:
string
edesc
:
string
consolidate
:
string
shortName
:
string
companyId
:
string
}
export
interface
Job6
{
jobCodeId
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Pl6
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
Status6
{
statusCode
:
string
statusType
:
string
tdesc
:
string
edesc
:
string
}
export
interface
Time06
{
time0id
:
string
tdesc
:
string
edesc
:
string
stickTm
:
string
hourD
:
number
}
export
interface
MasfromEvaluationAssessment1lList
{
plId
:
string
companyId
:
string
lineNo
:
number
competencyType
:
CompetencyType
apsassessyStatus
:
string
apsapprove1Status
:
string
apsapprove2Status
:
string
apsapprove3Status
:
string
apsapprove4Status
:
string
apsapprove5Status
:
string
numberCheck1
:
number
numberCheck2
:
number
numberCheck3
:
number
numberCheck4
:
number
numberCheck5
:
number
weightedTotal
:
number
averageScore
:
number
apsassessyComment
:
string
apsapprove1Comment
:
string
apsapprove2Comment
:
string
apsapprove3Comment
:
string
apsapprove4Comment
:
string
apsapprove5Comment
:
string
apsassessyDate
:
string
apsapprove1Date
:
string
apsapprove2Date
:
string
apsapprove3Date
:
string
apsapprove4Date
:
string
apsapprove5Date
:
string
evaluationResults
:
string
sumEvaluationResults
:
string
masfromEvaluationAssessment2List
:
MasfromEvaluationAssessment2List
[]
}
export
interface
CompetencyType
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
MasfromEvaluationAssessment2List
{
masfromEvaluationAssessment1
:
string
runNo
:
number
companyId
:
string
scoreTopicExpectation
:
number
groupAssessment1
:
GroupAssessment1
}
export
interface
GroupAssessment1
{
personalLevelModel
:
PersonalLevelModel
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1Mini
companyId
:
string
groupAssessmentMini
:
GroupAssessmentMini
}
export
interface
PersonalLevelModel
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
CompetencyIndicatorsCourses1Mini
{
competencyIndicatorsCourses0
:
CompetencyIndicatorsCourses0
lineNo
:
number
companyId
:
string
competencyCourseId
:
string
competencyCourse
:
CompetencyCourse
[]
behavioralIndicatorsList
:
BehavioralIndicatorsList
[]
}
export
interface
CompetencyIndicatorsCourses0
{
competencyTopic
:
CompetencyTopic
companyId
:
string
edesc
:
string
tdesc
:
string
indicatorsCourseDetailTh
:
string
indicatorsCourseDetailEn
:
string
expectation
:
string
}
export
interface
CompetencyTopic
{
competencyTopicId
:
string
competencyType
:
CompetencyType2
companyId
:
string
edesc
:
string
tdesc
:
string
competencyDetail
:
string
competencyFiles
:
string
lineNo
:
number
expectationLevel
:
string
}
export
interface
CompetencyType2
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
CompetencyCourse
{
competencyCourseId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
courseDetail
:
string
courseTopic
:
string
courseLinkMylearn
:
string
}
export
interface
BehavioralIndicatorsList
{
competencyIndicators1
:
CompetencyIndicators1
runNo
:
number
companyId
:
string
assessmentId
:
string
behavioralIndicators
:
string
competencyAssessment
:
CompetencyAssessment
[]
competencyBehavioral
:
CompetencyBehavioral
}
export
interface
CompetencyIndicators1
{
competencyIndicatorsCourses0
:
CompetencyIndicatorsCourses02
lineNo
:
number
companyId
:
string
competencyCourseId
:
string
}
export
interface
CompetencyIndicatorsCourses02
{
competencyTopic
:
CompetencyTopic2
companyId
:
string
edesc
:
string
tdesc
:
string
indicatorsCourseDetailTh
:
string
indicatorsCourseDetailEn
:
string
}
export
interface
CompetencyTopic2
{
competencyTopicId
:
string
competencyType
:
CompetencyType3
companyId
:
string
edesc
:
string
tdesc
:
string
competencyDetail
:
string
competencyFiles
:
string
lineNo
:
number
expectationLevel
:
string
}
export
interface
CompetencyType3
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
CompetencyAssessment
{
assessmentId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
}
export
interface
CompetencyBehavioral
{
scoreTopicExpectation
:
number
companyId
:
string
}
export
interface
GroupAssessmentMini
{
personalLevel
:
PersonalLevel2
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1Mini2
companyId
:
string
edesc
:
string
tdesc
:
string
}
export
interface
PersonalLevel2
{
plId
:
string
tdesc
:
string
edesc
:
string
companyId
:
string
}
export
interface
CompetencyIndicatorsCourses1Mini2
{
competencyIndicatorsCourses0
:
CompetencyIndicatorsCourses03
lineNo
:
number
companyId
:
string
competencyCourseId
:
string
competencyCourse
:
CompetencyCourse2
[]
behavioralIndicatorsList
:
BehavioralIndicatorsList2
[]
}
export
interface
CompetencyIndicatorsCourses03
{
competencyTopic
:
CompetencyTopic3
companyId
:
string
edesc
:
string
tdesc
:
string
indicatorsCourseDetailTh
:
string
indicatorsCourseDetailEn
:
string
expectation
:
string
}
export
interface
CompetencyTopic3
{
competencyTopicId
:
string
competencyType
:
CompetencyType4
companyId
:
string
edesc
:
string
tdesc
:
string
competencyDetail
:
string
competencyFiles
:
string
lineNo
:
number
expectationLevel
:
string
}
export
interface
CompetencyType4
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
CompetencyCourse2
{
competencyCourseId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
courseDetail
:
string
courseTopic
:
string
courseLinkMylearn
:
string
}
export
interface
BehavioralIndicatorsList2
{
competencyIndicators1
:
CompetencyIndicators12
runNo
:
number
companyId
:
string
assessmentId
:
string
behavioralIndicators
:
string
competencyAssessment
:
CompetencyAssessment2
[]
competencyBehavioral
:
CompetencyBehavioral2
}
export
interface
CompetencyIndicators12
{
competencyIndicatorsCourses0
:
CompetencyIndicatorsCourses04
lineNo
:
number
companyId
:
string
competencyCourseId
:
string
}
export
interface
CompetencyIndicatorsCourses04
{
competencyTopic
:
CompetencyTopic4
companyId
:
string
edesc
:
string
tdesc
:
string
indicatorsCourseDetailTh
:
string
indicatorsCourseDetailEn
:
string
}
export
interface
CompetencyTopic4
{
competencyTopicId
:
string
competencyType
:
CompetencyType5
companyId
:
string
edesc
:
string
tdesc
:
string
competencyDetail
:
string
competencyFiles
:
string
lineNo
:
number
expectationLevel
:
string
}
export
interface
CompetencyType5
{
competencyTypeId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
expectationLevel
:
string
}
export
interface
CompetencyAssessment2
{
assessmentId
:
string
companyId
:
string
edesc
:
string
tdesc
:
string
shortName
:
string
}
export
interface
CompetencyBehavioral2
{
scoreTopicExpectation
:
number
companyId
:
string
}
src/app/shared/services/appraisal.service.ts
View file @
981c7251
...
@@ -3,8 +3,8 @@ import { Injectable } from '@angular/core';
...
@@ -3,8 +3,8 @@ import { Injectable } from '@angular/core';
import
{
Observable
}
from
'rxjs'
;
import
{
Observable
}
from
'rxjs'
;
import
{
environment
}
from
'src/environments/environment'
;
import
{
environment
}
from
'src/environments/environment'
;
import
{
AlertModel
}
from
'../model/alert.model'
;
import
{
AlertModel
}
from
'../model/alert.model'
;
import
{
AppraisalModel
}
from
'../model/appraisal.model'
;
import
{
AppraisalFormModel
}
from
'../model/appraisal-form.model'
;
import
{
AppraisalFormModel
}
from
'../model/appraisal-form.model'
;
import
{
AppraisalCompentencyModel
,
AppraisalCompentencyModel2
}
from
'../model/appraisal-competency.model'
;
@
Injectable
({
@
Injectable
({
providedIn
:
'root'
providedIn
:
'root'
})
})
...
@@ -13,13 +13,13 @@ export class AppraisalService {
...
@@ -13,13 +13,13 @@ export class AppraisalService {
urlApi
=
environment
.
baseUrl
+
this
.
api
urlApi
=
environment
.
baseUrl
+
this
.
api
constructor
(
private
http
:
HttpClient
)
{
constructor
(
private
http
:
HttpClient
)
{
}
}
getFormCompentencyById
(
evaluationRoundId
:
string
,
apsassessy
:
string
,
typeId
:
string
):
Observable
<
Appraisal
FormModel
>
{
getFormCompentencyById
(
evaluationRoundId
:
string
,
apsassessy
:
string
,
typeId
:
string
):
Observable
<
Appraisal
CompentencyModel2
>
{
return
this
.
http
.
get
<
Appraisal
FormModel
>
(
this
.
urlApi
+
"/competency/"
+
evaluationRoundId
+
"/"
+
apsassessy
+
"/"
+
typeId
)
return
this
.
http
.
get
<
Appraisal
CompentencyModel2
>
(
this
.
urlApi
+
"/competency/"
+
evaluationRoundId
+
"/"
+
apsassessy
+
"/"
+
typeId
)
}
}
getCompetencyList
():
Observable
<
AppraisalModel
[]
>
{
getCompetencyList
():
Observable
<
Appraisal
Compentency
Model
[]
>
{
return
this
.
http
.
get
<
AppraisalModel
[]
>
(
this
.
urlApi
+
"/competency/emp"
)
return
this
.
http
.
get
<
Appraisal
Compentency
Model
[]
>
(
this
.
urlApi
+
"/competency/emp"
)
}
}
postCompetency
(
body
:
Appraisal
FormModel
):
Observable
<
AlertModel
>
{
postCompetency
(
body
:
Appraisal
CompentencyModel2
):
Observable
<
AlertModel
>
{
return
this
.
http
.
post
<
AlertModel
>
(
this
.
urlApi
+
"/competency"
,
body
)
return
this
.
http
.
post
<
AlertModel
>
(
this
.
urlApi
+
"/competency"
,
body
)
}
}
}
}
\ No newline at end of file
src/app/shared/services/employee.service.ts
View file @
981c7251
...
@@ -34,6 +34,12 @@ export class EmployeeService {
...
@@ -34,6 +34,12 @@ export class EmployeeService {
getById
(
employeeId
:
string
):
Observable
<
EmployeeModel
>
{
getById
(
employeeId
:
string
):
Observable
<
EmployeeModel
>
{
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/profile?employeeId="
+
employeeId
)
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/profile?employeeId="
+
employeeId
)
}
}
getWorking
():
Observable
<
EmployeeModel
>
{
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/working/mini"
)
}
getWorkingById
(
employeeId
?:
string
):
Observable
<
EmployeeModel
>
{
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/working/mini"
+
(
employeeId
?
"?employeeId="
+
employeeId
:
''
))
}
getProfile
():
Observable
<
EmployeeModel
>
{
getProfile
():
Observable
<
EmployeeModel
>
{
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/profile"
)
return
this
.
http
.
get
<
EmployeeModel
>
(
this
.
urlApi
+
"/profile"
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment