Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
myAppraisal
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
myAppraisal
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