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
e0f3ec8a
Commit
e0f3ec8a
authored
Feb 24, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ไฟล์template
parent
1a8d5cfa
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
265 additions
and
158 deletions
+265
-158
edit-group-indicators.component.ts
.../edit-group-indicators/edit-group-indicators.component.ts
+1
-1
self-evaluation.component.html
...evaluation/self-evaluation/self-evaluation.component.html
+99
-51
self-evaluation.component.ts
...e-evaluation/self-evaluation/self-evaluation.component.ts
+122
-77
appraisal-form.model.ts
src/app/shared/model/appraisal-form.model.ts
+3
-3
development-plan.model.ts
src/app/shared/model/development-plan.model.ts
+22
-0
group-assessment1.model.ts
src/app/shared/model/group-assessment1.model.ts
+3
-3
idp-development.model.ts
src/app/shared/model/idp-development.model.ts
+12
-20
appraisal.service.ts
src/app/shared/services/appraisal.service.ts
+3
-3
IMPORT_COMPETENCY_INDICATORS.xlsx
src/assets/template/IMPORT_COMPETENCY_INDICATORS.xlsx
+0
-0
No files found.
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/edit-group-indicators/edit-group-indicators.component.ts
View file @
e0f3ec8a
...
@@ -107,7 +107,7 @@ export class EditGroupIndicators implements OnInit {
...
@@ -107,7 +107,7 @@ export class EditGroupIndicators implements OnInit {
};
};
});
});
this
.
dataList
.
sort
((
a
,
b
)
=>
+
a
.
code
-
+
b
.
code
)
this
.
dataList
.
sort
((
a
,
b
)
=>
+
a
.
code
-
+
b
.
code
)
let
maxCode
=
Math
.
max
(
-
1
,
...
this
.
dataList
.
map
(
x
=>
+
x
.
code
))
let
maxCode
=
Math
.
max
(
0
,
...
this
.
dataList
.
map
(
x
=>
+
x
.
code
))
while
(
this
.
dataList
.
length
<
+
this
.
indicatorsCourses
.
competencyTopic
.
expectationLevel
)
{
while
(
this
.
dataList
.
length
<
+
this
.
indicatorsCourses
.
competencyTopic
.
expectationLevel
)
{
this
.
dataList
.
push
({
this
.
dataList
.
push
({
code
:
(
++
maxCode
)
+
""
,
code
:
(
++
maxCode
)
+
""
,
...
...
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.html
View file @
e0f3ec8a
...
@@ -83,14 +83,24 @@
...
@@ -83,14 +83,24 @@
</ng-container>
</ng-container>
</tr>
</tr>
</thead>
</thead>
<tbody
*
ngIf=
"!appraisalCompentencyFilter().length"
>
<tbody
*
ngIf=
"appraisalCompentency.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!appraisalCompentency.loading&&!appraisalCompentencyFilter().length"
>
<tr>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
ไม่พบข้อมูล
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
<tbody
*
ngIf=
"appraisalCompentencyFilter().length"
>
<tbody
*
ngIf=
"
!appraisalCompentency.loading&&
appraisalCompentencyFilter().length"
>
<tr
*
ngFor=
"let item of appraisalCompentencyFilter();let i = index"
>
<tr
*
ngFor=
"let item of appraisalCompentencyFilter();let i = index"
>
<td
class=
"flex justify-center items-center"
>
<td
class=
"flex justify-center items-center"
>
{{item.data.masfromEvaluationRoundModel.evaluationRoundId}}
{{item.data.masfromEvaluationRoundModel.evaluationRoundId}}
...
@@ -109,7 +119,7 @@
...
@@ -109,7 +119,7 @@
</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
)="
currentTemplate =
selfEvaluation1_2Edit
;
pathTitle =
['การประเมินผล',
'ประเมินผล']"
>
(
click
)="
selectAppraisalCompentency
(
item
.
data
);
getAppraisalCompentencyForm
();
currentTemplate =
selfEvaluation1_2Edit
;
pathTitle =
['การประเมินผล',
'ประเมินผล']"
>
ประเมิน
ประเมิน
</span>
</span>
</td>
</td>
...
@@ -140,14 +150,24 @@
...
@@ -140,14 +150,24 @@
</ng-container>
</ng-container>
</tr>
</tr>
</thead>
</thead>
<tbody
*
ngIf=
"!appraisalPmsFilter().length"
>
<tbody
*
ngIf=
"appraisalPms.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!appraisalPms.loading&&!appraisalPmsFilter().length"
>
<tr>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
ไม่พบข้อมูล
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
<tbody
*
ngIf=
"appraisalPmsFilter().length"
>
<tbody
*
ngIf=
"
!appraisalPms.loading&&
appraisalPmsFilter().length"
>
<tr
*
ngFor=
"let item of appraisalPmsFilter();let i = index"
>
<tr
*
ngFor=
"let item of appraisalPmsFilter();let i = index"
>
<td
class=
"flex justify-center items-center"
>
<td
class=
"flex justify-center items-center"
>
{{item.data.masfromEvaluationRoundModel.evaluationRoundId}}
{{item.data.masfromEvaluationRoundModel.evaluationRoundId}}
...
@@ -268,24 +288,37 @@
...
@@ -268,24 +288,37 @@
</tr>
</tr>
<tr
class=
"font-size-12px"
>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of [5,4,3,2,1]"
>
<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"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
{{item}}
{{item}}
</th>
</th>
</ng-container>
</ng-container>
</tr>
</tr>
</thead>
</thead>
<tbody
*
ngIf=
"!dataList3Filter().length"
>
<tbody
*
ngIf=
"appraisalCompentencyForm.loading"
>
<tr
class=
"hover:table-hover2-hover"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!appraisalCompentencyForm.loading&&!appraisalCompentencyFormFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
ไม่พบข้อมูล
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
<tbody
*
ngIf=
"dataList3Filter().length"
>
<tbody
*
ngIf=
"!appraisalCompentencyForm.loading&&appraisalCompentencyFormFilter().length"
>
<ng-container
*
ngFor=
" let data of dataList3Filter();let i = index"
>
<ng-container
<tr
*
ngFor=
"let item of data.bi;let i2 = index;let f = first"
*
ngFor=
"let appraisalCompentencyForm of appraisalCompentencyFormFilter();let i = index"
>
(
mouseenter
)="
hoveredCode =
data.code"
(
mouseleave
)="
hoveredCode =
null"
<tr
*
ngFor=
"let bi of appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList;let i2 = index;let f = first"
[
ngClass
]="{
'
table-hover2
'
:
data
.
code =
==
hoveredCode
,'
border-none
'
:
!
f
}"
>
(
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"
>
<td
class=
"align-start text-center"
>
<ng-container
*
ngIf=
"f"
>
<ng-container
*
ngIf=
"f"
>
{{i+1}}
{{i+1}}
...
@@ -293,24 +326,25 @@
...
@@ -293,24 +326,25 @@
</td>
</td>
<td
class=
"align-start text-center"
>
<td
class=
"align-start text-center"
>
<ng-container
*
ngIf=
"f"
>
<ng-container
*
ngIf=
"f"
>
{{
data.code
}}
{{
appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.competencyTopic.competencyTopicId
}}
</ng-container>
</ng-container>
</td>
</td>
<td
class=
"align-start !white-space-normal"
>
<td
class=
"align-start !white-space-normal"
>
<ng-container
*
ngIf=
"f"
>
<ng-container
*
ngIf=
"f"
>
{{
data.name
}}
{{
appraisalCompentencyForm.groupAssessment1.competencyIndicatorsCourses1Mini.competencyIndicatorsCourses0.tdesc
}}
</ng-container>
</ng-container>
</td>
</td>
<td
class=
"align-start !white-space-normal"
>
<td
class=
"align-start !white-space-normal"
>
{{
item.name
}}
{{
bi.behavioralIndicators
}}
</td>
</td>
<td
class=
"align-center text-center"
>
<td
class=
"align-center text-center"
>
{{
showTools(item.tools)
}}
{{
bi.assessmentId
}}
</td>
</td>
<td
class=
"align-center text-center"
<td
class=
"align-center text-center"
*
ngFor=
"let value of [5,4,3,2,1]; let i3=index"
>
*
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"
<input
type=
"radio"
[
name
]="'
radio
'+
i
+''+
i2
"
class=
"ti-form-radio cursor-pointer"
[
id
]="'
radio
'+
i
+''+
i2
+''+
i3
"
[
value
]="
value
"
[(
ngModel
)]="
item
.
degree
"
>
[
id
]="'
radio
'+
i
+''+
i2
+''+
i3
"
[
value
]="
value
"
[(
ngModel
)]="
bi
.
competencyBehavioral
.
scoreTopicExpectation
"
(
ngModelChange
)="
caltargetScore
(
value
)"
>
</td>
</td>
</tr>
</tr>
</ng-container>
</ng-container>
...
@@ -321,33 +355,41 @@
...
@@ -321,33 +355,41 @@
<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"
></div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-5 text-center"
>
ระดับความสามารถ (Target Degree)
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
></div>
<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>
</div>
<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"
>
14
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentencyForm.data.targetScore5}}
</div>
<div
class=
"col-span-1 text-center"
>
6
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentencyForm.data.targetScore4}}
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentencyForm.data.targetScore3}}
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentencyForm.data.targetScore2}}
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
<div
class=
"col-span-1 text-center"
>
{{appraisalCompentencyForm.data.targetScore1}}
</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"
>
1
</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore5}}
</div>
<div
class=
"col-span-1 text-center"
>
0.8
</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore4}}
</div>
<div
class=
"col-span-1 text-center"
>
0.6
</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore3}}
</div>
<div
class=
"col-span-1 text-center"
>
0.4
</div>
<div
class=
"col-span-1 text-center"
>
{{setting.data.settingScore2}}
</div>
<div
class=
"col-span-1 text-center"
>
0.2
</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"
>
14
</div>
<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"
>
4.80
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"py-2 grid grid-cols-11"
>
...
@@ -395,8 +437,8 @@
...
@@ -395,8 +437,8 @@
</ng-container>
</ng-container>
</tr>
</tr>
</thead>
</thead>
<tbody
*
ngIf=
"
dataList4
.length"
>
<tbody
*
ngIf=
"
checkSheet
.length"
>
<tr
*
ngFor=
"let item of
dataList4
;let i = index"
>
<tr
*
ngFor=
"let item of
checkSheet
;let i = index"
>
<td
class=
"align-start"
rowspan=
"2"
>
<td
class=
"align-start"
rowspan=
"2"
>
<div
*
ngFor=
"let item2 of item.score"
>
<div
*
ngFor=
"let item2 of item.score"
>
<span>
{{item2}}
</span><br>
<span>
{{item2}}
</span><br>
...
@@ -409,13 +451,13 @@
...
@@ -409,13 +451,13 @@
</td>
</td>
<td
class=
"!p-0"
></td>
<td
class=
"!p-0"
></td>
<td
class=
"align-start text-center"
>
<td
class=
"align-start text-center"
>
{{item.e}}
???
</td>
</td>
<td
class=
"align-start text-center"
>
<td
class=
"align-start text-center"
>
{{item.a}}
???
</td>
</td>
<td
class=
"align-start text-center"
>
<td
class=
"align-start text-center"
>
{{i
tem.gap
}}
{{i
dp.data.score
}}
</td>
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -431,46 +473,52 @@
...
@@ -431,46 +473,52 @@
<div
class=
"py-1rem px-2rem"
>
<div
class=
"py-1rem px-2rem"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้ประเมิน1
</div>
<div
class=
"col-span-1"
>
ผู้ประเมิน1
</div>
<div
class=
"col-span-1"
>
น.ส. พิมพร อูรณการ
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentencyForm.data.apsassessy.thFullName}}
</div>
<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
<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"
>
checked:before:bg-green-200 dark:checked:before:bg-green-200"
>
<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"
></textarea>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
></textarea>
<span
class=
"pt-2"
>
<span
class=
"pt-2"
>
วันที่ :
วันที่ :
{{convertDate(currentDate)}}
</span>
</span>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้ประเมิน2
</div>
<div
class=
"col-span-1"
>
ผู้ประเมิน2
</div>
<div
class=
"col-span-1"
>
น.ส. นดี แป้นศรี
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentencyForm.data.apsapprove2.thFullName}}
</div>
<div
class=
"col-span-1"
>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage2"
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
<input
type=
"checkbox"
id=
"hs-basic-usage2"
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"
>
checked:before:bg-green-200 dark:checked:before:bg-green-200"
(
click
)="
appraisalCompentencyForm
.
data
.
apsapprove2Status=
='0'?appraisalCompentencyForm.data.apsapprove2Status='1':appraisalCompentencyForm.data.apsapprove2Status='0'"
[
checked
]="
appraisalCompentencyForm
.
data
.
apsapprove2Status=
='1'"
>
<label
for=
"hs-basic-usage2"
class=
"sr-only"
>
ตรวจสอบ
</label>
<label
for=
"hs-basic-usage2"
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"
value=
"ใส่ Comment ที่นี่"
></textarea>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(
ngModel
)]="
appraisalCompentencyForm
.
data
.
apsapprove2Comment
"
></textarea>
<span>
<span>
วันที่ :
วันที่ :
{{convertDate(currentDate)}}
</span>
</span>
</div>
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้อนุมัติ
</div>
<div
class=
"col-span-1"
>
ผู้อนุมัติ
</div>
<div
class=
"col-span-1"
>
น.ส.ศรีไพ คชา
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentencyForm.data.apsapprove3.thFullName}}
</div>
<div
class=
"col-span-1"
>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage3"
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
<input
type=
"checkbox"
id=
"hs-basic-usage3"
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"
>
checked:before:bg-green-200 dark:checked:before:bg-green-200"
(
click
)="
appraisalCompentencyForm
.
data
.
apsapprove3Status=
='0'?appraisalCompentencyForm.data.apsapprove3Status='1':appraisalCompentencyForm.data.apsapprove3Status='0'"
[
checked
]="
appraisalCompentencyForm
.
data
.
apsapprove3Status=
='1'"
>
<label
for=
"hs-basic-usage3"
class=
"sr-only"
>
อนุมัติ
</label>
<label
for=
"hs-basic-usage3"
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"
value=
"ใส่ Comment ที่นี่"
></textarea>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
placeholder=
"ใส่ Comment ที่นี่"
[(
ngModel
)]="
appraisalCompentencyForm
.
data
.
apsapprove3Comment
"
></textarea>
<span>
<span>
วันที่ :
วันที่ :
{{convertDate(currentDate)}}
</span>
</span>
</div>
</div>
</div>
</div>
...
...
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.ts
View file @
e0f3ec8a
import
{
ChangeDetectorRef
,
Component
,
OnInit
,
TemplateRef
,
ViewChild
}
from
'@angular/core'
;
import
{
ChangeDetectorRef
,
Component
,
OnInit
,
TemplateRef
,
ViewChild
}
from
'@angular/core'
;
import
{
AppraisalFormModel
,
MyAppraisalFormModel
}
from
'src/app/shared/model/appraisal-form.model'
;
import
{
AppraisalModel
,
MyAppraisalModel
}
from
'src/app/shared/model/appraisal.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
{
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
Swal
from
'sweetalert2'
;
import
Swal
from
'sweetalert2'
;
export
interface
Data2Model
{
code
:
string
,
name
:
string
,
bi
:
BiModel
[],
}
export
interface
BiModel
{
export
interface
BiModel
{
name
:
string
,
name
:
string
,
tools
:
string
[],
tools
:
string
[],
...
@@ -22,89 +22,67 @@ export interface BiModel {
...
@@ -22,89 +22,67 @@ export interface BiModel {
styleUrls
:
[
'./self-evaluation.component.scss'
]
styleUrls
:
[
'./self-evaluation.component.scss'
]
})
})
export
class
SelfEvaluationComponent
implements
OnInit
{
export
class
SelfEvaluationComponent
implements
OnInit
{
pathTitle
=
[
'การประเมินผล'
,
'ประเมินตนเอง'
]
pathTitle
=
[
'การประเมินผล'
,
'ประเมินตนเอง'
]
hoveredCode
:
string
|
null
=
null
;
hoveredCode
:
string
|
null
=
null
;
dataList3
:
Data2Model
[]
=
[
checkSheet
:
{
{
code
:
"CC-01"
,
name
:
"จิตสำนึกด้านความปลอดภัยและคุณภาพ (Safety & Quality)"
,
bi
:
[{
name
:
"สอนงานด้านความปลอดภัย และคุณภาพของบริษัทให้กับพนักงานในหน่วยงาน"
,
tools
:
[
"O"
],
degree
:
"4"
},
{
name
:
"ติดตามและปรับปรุงการทำงานด้านความปลอดภัยและคุณภาพของทีมงาน"
,
tools
:
[
"O"
,
"D"
],
degree
:
"5"
}],
},
{
code
:
"CC-02"
,
name
:
"การทำงานเป็นทีมแบบ TAT (TAT Teamwork)"
,
bi
:
[{
name
:
"คิดวิเคราะห์เพื่อแก้ปัญหาด้านความปลอดภัยและคุณภาพในหน่วยงานที่รับผิดชอบ"
,
tools
:
[
"O"
,
"D"
],
degree
:
"5"
},
{
name
:
"นำเสนอและจัดทำรายงานด้านความปลอดภัยและคุณภาพทั้งภาษาไทยและภาษาอังกฤษ"
,
tools
:
[
"O"
],
degree
:
"2"
},
{
name
:
"สอนงาน และพัฒนาทีมงานให้เกิดการทำงานเป็นทีม โดยยึดเป้าหมายเดียวกัน (TAT Goal) และคำนึงถึง ความต้องการของลูกค้าเป็นหลัก (Next Customer)"
,
tools
:
[
"O"
],
degree
:
"2"
},
{
name
:
"สนับสนุนทีมงานให้ดำเนินการตามเป้าหมายของทีม และสิ่งที่ตนเองได้รับมอบหมาย"
,
tools
:
[
"O"
,
"D"
],
degree
:
"4"
},
{
name
:
"วิเคราะห์และแก้ไขปัญหาที่เกิดจากการทำงานเป็นทีม รวมถึงการควบคุมดูแลให้เป็นไปตามเป้าหมาย"
,
tools
:
[
"O"
],
degree
:
"5"
},
{
name
:
"สื่อสารเพื่อสร้างความเข้าใจ และรับฟังความคิดเห็น ของสมาชิกในทีม ชื่นชมทีมงานแต่ละคนที่เป็น ส่วนหนึ่งในความสำเร็จของทีมร่วมกัน"
,
tools
:
[
"O"
,
"D"
],
degree
:
"5"
}],
}
]
dataList4
:
{
score
:
string
[],
score
:
string
[],
condition
:
string
[],
condition
:
string
[]
e
:
string
,
a
:
string
,
gap
:
string
}[]
=
[{
}[]
=
[{
score
:
[
"หากได้คะแนน 90 - 100% ถือว่า Gap +1"
,
"หากได้คะแนน 80 - 89% ถือว่า ไม่มี Gap"
,
"หากได้คะแนน 60 - 79% ถือว่า Gap - 1"
,
"หากได้คะแนน 40 - 59% ถือว่า Gap -"
,
"หากได้คะแนน 0 - 39% ถือว่า Gap - 3"
],
score
:
[
"หากได้คะแนน 90 - 100% ถือว่า Gap +1"
,
"หากได้คะแนน 80 - 89% ถือว่า ไม่มี Gap"
,
"หากได้คะแนน 60 - 79% ถือว่า Gap - 1"
,
"หากได้คะแนน 40 - 59% ถือว่า Gap -"
,
"หากได้คะแนน 0 - 39% ถือว่า Gap - 3"
],
condition
:
[
"1.หากได้คะแนนสูงกว่า 80% แต่มี 3 2 หรือ 1 ด้วย ถือว่า Gap -1"
,
"2.หากได้คะแนนต่ำกว่า 80% แต่มี 4 และ 5 ให้คิด Gap ตาม %"
,
"3.คะแนนต่ำกว่า 80% แต่มี 2 และ 1 ให้คิด Gap ตาม %"
],
condition
:
[
"1.หากได้คะแนนสูงกว่า 80% แต่มี 3 2 หรือ 1 ด้วย ถือว่า Gap -1"
,
"2.หากได้คะแนนต่ำกว่า 80% แต่มี 4 และ 5 ให้คิด Gap ตาม %"
,
"3.คะแนนต่ำกว่า 80% แต่มี 2 และ 1 ให้คิด Gap ตาม %"
],
e
:
"4"
,
a
:
"3"
,
gap
:
"-1"
}]
}]
@
ViewChild
(
'selfEvaluation1_2'
,
{
static
:
true
})
selfEvaluation1_2
!
:
TemplateRef
<
any
>
;
@
ViewChild
(
'selfEvaluation1_2'
,
{
static
:
true
})
selfEvaluation1_2
!
:
TemplateRef
<
any
>
;
@
ViewChild
(
'selfEvaluation1_2Edit'
,
{
static
:
true
})
selfEvaluation1_2Edit
!
:
TemplateRef
<
any
>
;
@
ViewChild
(
'selfEvaluation1_2Edit'
,
{
static
:
true
})
selfEvaluation1_2Edit
!
:
TemplateRef
<
any
>
;
currentTemplate
:
TemplateRef
<
any
>
=
this
.
selfEvaluation1_2
currentTemplate
:
TemplateRef
<
any
>
=
this
.
selfEvaluation1_2
appraisalCompentency
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
(),
dataList
:
[]
}
appraisalCompentency
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
(),
dataList
:
[]
}
appraisalCompentencyForm
:
{
loading
:
boolean
,
data
:
AppraisalFormModel
}
=
{
loading
:
false
,
data
:
new
MyAppraisalFormModel
()
}
appraisalPms
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
(),
dataList
:
[]
}
appraisalPms
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
(),
dataList
:
[]
}
employee
:
{
loading
:
boolean
,
data
:
EmployeeModel
}
=
{
loading
:
false
,
data
:
new
MyEmployeeModel
()
}
employee
:
{
loading
:
boolean
,
data
:
EmployeeModel
}
=
{
loading
:
false
,
data
:
new
MyEmployeeModel
()
}
appraisalCompentencyForm
:
{
loading
:
boolean
,
select
:
AppraisalModel
,
dataList
:
{
check
:
boolean
,
data
:
AppraisalModel
}[]
}
=
{
loading
:
false
,
select
:
new
MyAppraisalModel
(),
dataList
:
[]
}
setting
:
{
loading
:
boolean
,
data
:
SettingAssessmentModel
}
=
{
loading
:
false
,
data
:
new
MySettingAssessmentModel
()
}
idp
:
{
loading
:
boolean
,
data
:
IdpDevelopmentModel
}
=
{
loading
:
false
,
data
:
new
MyIdpDevelopmentModel
()
}
currentDate
=
new
Date
()
constructor
(
private
appraisalService
:
AppraisalService
,
constructor
(
private
appraisalService
:
AppraisalService
,
private
employeeService
:
EmployeeService
,
private
employeeService
:
EmployeeService
,
private
cdr
:
ChangeDetectorRef
private
cdr
:
ChangeDetectorRef
,
private
settingAssessmentService
:
SettingAssessmentService
,
private
idpDevelopmentService
:
IdpDevelopmentService
)
{
)
{
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
currentTemplate
=
this
.
selfEvaluation1_2
this
.
currentTemplate
=
this
.
selfEvaluation1_2
this
.
getProfile
()
this
.
getProfile
()
this
.
getAppraisalCompentencyList
()
this
.
getAppraisalCompentencyList
()
this
.
getSettingList
()
this
.
getIdpData
()
}
getIdpData
()
{
this
.
idp
.
loading
=
true
this
.
idpDevelopmentService
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
idp
.
data
=
new
MyIdpDevelopmentModel
(
response
)
this
.
idp
.
data
.
developmentPlan
.
sort
((
a
,
b
)
=>
+
a
.
planId
-
+
b
.
planId
)
this
.
idp
.
loading
=
false
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
idp
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
getSettingList
()
{
this
.
setting
.
loading
=
true
this
.
settingAssessmentService
.
get
().
subscribe
({
next
:
response
=>
{
this
.
setting
.
data
=
new
MySettingAssessmentModel
(
response
)
this
.
setting
.
loading
=
false
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
setting
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
}
getProfile
()
{
getProfile
()
{
this
.
employee
.
loading
=
true
this
.
employee
.
loading
=
true
...
@@ -135,25 +113,36 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -135,25 +113,36 @@ export class SelfEvaluationComponent implements OnInit {
appraisalCompentencyFilter
()
{
appraisalCompentencyFilter
()
{
return
this
.
appraisalCompentency
.
dataList
return
this
.
appraisalCompentency
.
dataList
}
}
getAppraisalCompentencyFrom
()
{
selectAppraisalCompentency
(
data
:
AppraisalModel
)
{
this
.
appraisalCompentency
.
loading
=
true
this
.
appraisalCompentency
.
select
=
new
MyAppraisalModel
(
data
)
this
.
appraisalService
.
getList
().
subscribe
({
}
getAppraisalCompentencyForm
()
{
this
.
appraisalCompentencyForm
.
loading
=
true
this
.
appraisalService
.
getFormCompentencyById
(
this
.
appraisalCompentency
.
select
.
masfromEvaluationRoundModel
.
evaluationRoundId
,
this
.
employee
.
data
.
employeeId
).
subscribe
({
next
:
response
=>
{
next
:
response
=>
{
this
.
appraisalCompentency
.
dataList
=
response
.
map
(
x
=>
({
check
:
false
,
data
:
new
MyAppraisalModel
(
x
)
}))
this
.
appraisalCompentencyForm
.
data
=
new
MyAppraisalFormModel
(
response
)
this
.
appraisalCompentency
.
loading
=
false
console
.
log
(
" 🐒 this.appraisalCompentencyForm.data:"
,
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
)
for
(
let
i
=
1
;
i
<=
5
;
i
++
)
{
this
.
caltargetScore
(
i
)
}
this
.
appraisalCompentencyForm
.
loading
=
false
this
.
cdr
.
detectChanges
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
},
error
:
error
=>
{
this
.
appraisalCompentency
.
loading
=
false
this
.
appraisalCompentency
Form
.
loading
=
false
this
.
cdr
.
detectChanges
()
this
.
cdr
.
detectChanges
()
}
}
})
})
}
}
appraisalCompentencyFormFilter
()
{
return
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
}
appraisalPmsFilter
()
{
appraisalPmsFilter
()
{
return
this
.
appraisalPms
.
dataList
return
this
.
appraisalPms
.
dataList
}
}
dataList3Filter
()
{
return
this
.
dataList3
}
showTools
(
data
:
string
[])
{
showTools
(
data
:
string
[])
{
return
data
.
join
(
"/"
)
return
data
.
join
(
"/"
)
}
}
...
@@ -211,9 +200,65 @@ export class SelfEvaluationComponent implements OnInit {
...
@@ -211,9 +200,65 @@ export class SelfEvaluationComponent implements OnInit {
});
});
}
}
convertDate
(
date
String
:
string
):
string
{
convertDate
(
date
Input
:
string
|
Date
):
string
{
const
date
=
new
Date
(
dateString
)
;
const
date
=
typeof
dateInput
===
'string'
?
new
Date
(
dateInput
)
:
dateInput
;
return
date
.
toLocaleDateString
(
'th-TH'
,
{
day
:
'numeric'
,
month
:
'long'
,
year
:
'numeric'
});
return
date
.
toLocaleDateString
(
'th-TH'
,
{
day
:
'numeric'
,
month
:
'long'
,
year
:
'numeric'
});
}
}
caltargetScore
(
targetScore
:
number
)
{
console
.
log
(
" 🐒 targetScore:"
,
targetScore
)
switch
(
targetScore
)
{
case
(
1
):
{
this
.
appraisalCompentencyForm
.
data
.
targetScore1
=
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
.
filter
(
x
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
(
y
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
1
)).
length
console
.
log
(
" 🐒 1:"
,
this
.
appraisalCompentencyForm
.
data
.
targetScore1
)
this
.
cdr
.
detectChanges
()
break
;
}
case
(
2
):
{
this
.
appraisalCompentencyForm
.
data
.
targetScore2
=
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
.
filter
(
x
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
(
y
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
2
)).
length
*
2
console
.
log
(
" 🐒 2:"
,
this
.
appraisalCompentencyForm
.
data
.
targetScore2
)
this
.
cdr
.
detectChanges
()
break
;
}
case
(
3
):
{
this
.
appraisalCompentencyForm
.
data
.
targetScore3
=
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
.
filter
(
x
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
(
y
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
3
)).
length
*
3
console
.
log
(
" 🐒 3:"
,
this
.
appraisalCompentencyForm
.
data
.
targetScore3
)
this
.
cdr
.
detectChanges
()
break
;
}
case
(
4
):
{
this
.
appraisalCompentencyForm
.
data
.
targetScore4
=
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
.
filter
(
x
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
(
y
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
4
)).
length
*
4
console
.
log
(
" 🐒 4:"
,
this
.
appraisalCompentencyForm
.
data
.
targetScore4
)
this
.
cdr
.
detectChanges
()
break
;
}
case
(
5
):
{
this
.
appraisalCompentencyForm
.
data
.
targetScore5
=
this
.
appraisalCompentencyForm
.
data
.
masfromEvaluationAssessment1lList
.
filter
(
x
=>
x
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
behavioralIndicatorsList
.
filter
(
y
=>
y
.
competencyBehavioral
.
scoreTopicExpectation
==
5
)).
length
*
5
console
.
log
(
" 🐒 5:"
,
this
.
appraisalCompentencyForm
.
data
.
targetScore5
)
this
.
cdr
.
detectChanges
()
break
;
}
default
:
{
return
}
}
}
calWeightScore
(
targetScore
:
number
)
{
switch
(
targetScore
)
{
case
(
1
):
{
return
+
(
this
.
setting
.
data
.
settingScore1
)
*
this
.
appraisalCompentencyForm
.
data
.
targetScore1
}
case
(
2
):
{
return
+
(
this
.
setting
.
data
.
settingScore2
)
*
this
.
appraisalCompentencyForm
.
data
.
targetScore2
}
case
(
3
):
{
return
+
(
this
.
setting
.
data
.
settingScore3
)
*
this
.
appraisalCompentencyForm
.
data
.
targetScore3
}
case
(
4
):
{
return
+
(
this
.
setting
.
data
.
settingScore4
)
*
this
.
appraisalCompentencyForm
.
data
.
targetScore4
}
case
(
5
):
{
return
+
(
this
.
setting
.
data
.
settingScore5
)
*
this
.
appraisalCompentencyForm
.
data
.
targetScore5
}
default
:
{
return
}
}
}
}
}
src/app/shared/model/appraisal-form.model.ts
View file @
e0f3ec8a
...
@@ -3,7 +3,7 @@ import { EvaluationCycleModel, MyEvaluationCycleModel } from "./evaluation-cycle
...
@@ -3,7 +3,7 @@ import { EvaluationCycleModel, MyEvaluationCycleModel } from "./evaluation-cycle
import
{
MasfromEvaluationAssessment1Model
,
MyMasfromEvaluationAssessment1Model
}
from
"./masfrom-evaluation-assessment1.model"
import
{
MasfromEvaluationAssessment1Model
,
MyMasfromEvaluationAssessment1Model
}
from
"./masfrom-evaluation-assessment1.model"
import
{
MyPLModel
,
PLModel
}
from
"./pl.model"
import
{
MyPLModel
,
PLModel
}
from
"./pl.model"
export
interface
AppraisalF
ro
mModel
{
export
interface
AppraisalF
or
mModel
{
personalLevel
:
PLModel
personalLevel
:
PLModel
masfromEvaluationRoundModel
:
EvaluationCycleModel
masfromEvaluationRoundModel
:
EvaluationCycleModel
companyId
:
string
companyId
:
string
...
@@ -36,7 +36,7 @@ export interface AppraisalFromModel {
...
@@ -36,7 +36,7 @@ export interface AppraisalFromModel {
sumEvaluationResults
:
string
sumEvaluationResults
:
string
masfromEvaluationAssessment1lList
:
MasfromEvaluationAssessment1Model
[]
masfromEvaluationAssessment1lList
:
MasfromEvaluationAssessment1Model
[]
}
}
export
class
MyAppraisalF
romModel
implements
AppraisalFro
mModel
{
export
class
MyAppraisalF
ormModel
implements
AppraisalFor
mModel
{
personalLevel
:
PLModel
personalLevel
:
PLModel
masfromEvaluationRoundModel
:
EvaluationCycleModel
masfromEvaluationRoundModel
:
EvaluationCycleModel
companyId
:
string
companyId
:
string
...
@@ -68,7 +68,7 @@ export class MyAppraisalFromModel implements AppraisalFromModel {
...
@@ -68,7 +68,7 @@ export class MyAppraisalFromModel implements AppraisalFromModel {
evaluationResults
:
string
evaluationResults
:
string
sumEvaluationResults
:
string
sumEvaluationResults
:
string
masfromEvaluationAssessment1lList
:
MasfromEvaluationAssessment1Model
[]
masfromEvaluationAssessment1lList
:
MasfromEvaluationAssessment1Model
[]
constructor
(
data
?:
Partial
<
AppraisalF
ro
mModel
>
)
{
constructor
(
data
?:
Partial
<
AppraisalF
or
mModel
>
)
{
this
.
personalLevel
=
new
MyPLModel
(
data
?.
personalLevel
)
this
.
personalLevel
=
new
MyPLModel
(
data
?.
personalLevel
)
this
.
masfromEvaluationRoundModel
=
new
MyEvaluationCycleModel
(
data
?.
masfromEvaluationRoundModel
)
this
.
masfromEvaluationRoundModel
=
new
MyEvaluationCycleModel
(
data
?.
masfromEvaluationRoundModel
)
this
.
companyId
=
data
?.
companyId
||
""
this
.
companyId
=
data
?.
companyId
||
""
...
...
src/app/shared/model/development-plan.model.ts
0 → 100644
View file @
e0f3ec8a
export
interface
DevelopmentPlanModel
{
planId
:
string
;
companyId
:
string
;
ojtJobAssignment
:
boolean
;
coachMentor
:
boolean
;
training
:
boolean
;
}
export
class
MyDevelopmentPlanModel
implements
DevelopmentPlanModel
{
planId
:
string
;
companyId
:
string
;
ojtJobAssignment
:
boolean
;
coachMentor
:
boolean
;
training
:
boolean
;
constructor
(
data
?:
Partial
<
DevelopmentPlanModel
>
)
{
this
.
planId
=
data
?.
planId
||
''
;
this
.
companyId
=
data
?.
companyId
||
''
;
this
.
ojtJobAssignment
=
data
?.
ojtJobAssignment
??
false
this
.
coachMentor
=
data
?.
coachMentor
??
false
this
.
training
=
data
?.
training
??
false
}
}
src/app/shared/model/group-assessment1.model.ts
View file @
e0f3ec8a
...
@@ -4,7 +4,7 @@ import { MyPLModel, PLModel } from "./pl.model"
...
@@ -4,7 +4,7 @@ import { MyPLModel, PLModel } from "./pl.model"
export
interface
GroupAssessment1Model
{
export
interface
GroupAssessment1Model
{
personalLevelModel
:
PLModel
personalLevelModel
:
PLModel
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1MiniModel
[]
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1MiniModel
companyId
:
string
companyId
:
string
groupAssessmentMini
:
GroupAssessmentMiniModel
groupAssessmentMini
:
GroupAssessmentMiniModel
}
}
...
@@ -12,12 +12,12 @@ export interface GroupAssessment1Model {
...
@@ -12,12 +12,12 @@ export interface GroupAssessment1Model {
export
class
MyGroupAssessment1Model
implements
GroupAssessment1Model
{
export
class
MyGroupAssessment1Model
implements
GroupAssessment1Model
{
personalLevelModel
:
PLModel
personalLevelModel
:
PLModel
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1MiniModel
[]
competencyIndicatorsCourses1Mini
:
CompetencyIndicatorsCourses1MiniModel
companyId
:
string
companyId
:
string
groupAssessmentMini
:
GroupAssessmentMiniModel
groupAssessmentMini
:
GroupAssessmentMiniModel
constructor
(
data
?:
Partial
<
GroupAssessment1Model
>
)
{
constructor
(
data
?:
Partial
<
GroupAssessment1Model
>
)
{
this
.
personalLevelModel
=
new
MyPLModel
(
data
?.
personalLevelModel
)
this
.
personalLevelModel
=
new
MyPLModel
(
data
?.
personalLevelModel
)
this
.
competencyIndicatorsCourses1Mini
=
data
?.
competencyIndicatorsCourses1Mini
?.
map
(
x
=>
new
MyCompetencyIndicatorsCourses1MiniModel
(
x
))
||
[]
this
.
competencyIndicatorsCourses1Mini
=
new
MyCompetencyIndicatorsCourses1MiniModel
(
data
?.
competencyIndicatorsCourses1Mini
)
this
.
companyId
=
data
?.
companyId
||
""
this
.
companyId
=
data
?.
companyId
||
""
this
.
groupAssessmentMini
=
new
MyGroupAssessmentMiniModel
(
data
?.
groupAssessmentMini
)
this
.
groupAssessmentMini
=
new
MyGroupAssessmentMiniModel
(
data
?.
groupAssessmentMini
)
}
}
...
...
src/app/shared/model/idp-development.model.ts
View file @
e0f3ec8a
export
interface
DevelopmentPlan
{
import
{
DevelopmentPlanModel
,
MyDevelopmentPlanModel
}
from
"./development-plan.model"
;
planId
:
string
;
companyId
:
string
;
ojtJobAssignment
:
boolean
;
coachMentor
:
boolean
;
training
:
boolean
;
}
export
interface
IdpDevelopmentModel
{
export
interface
IdpDevelopmentModel
{
evaluationId
:
string
;
evaluationId
:
string
;
companyId
:
string
;
companyId
:
string
;
score
:
number
;
score
:
number
;
developmentPlan
:
DevelopmentPlan
[];
developmentPlan
:
DevelopmentPlanModel
[];
}
}
export
class
MyIdpDevelopmentModel
implements
IdpDevelopmentModel
{
export
class
MyIdpDevelopmentModel
implements
IdpDevelopmentModel
{
evaluationId
:
string
;
evaluationId
:
string
;
companyId
:
string
;
companyId
:
string
;
score
:
number
;
score
:
number
;
developmentPlan
:
DevelopmentPlan
[];
developmentPlan
:
DevelopmentPlanModel
[];
constructor
(
data
:
Partial
<
IdpDevelopmentModel
>
)
{
constructor
(
data
?
:
Partial
<
IdpDevelopmentModel
>
)
{
this
.
evaluationId
=
data
.
evaluationId
||
''
;
this
.
evaluationId
=
data
?
.
evaluationId
||
''
;
this
.
companyId
=
data
.
companyId
||
''
;
this
.
companyId
=
data
?
.
companyId
||
''
;
this
.
score
=
data
.
score
??
0
;
this
.
score
=
data
?
.
score
??
0
;
this
.
developmentPlan
=
data
.
developmentPlan
||
[];
this
.
developmentPlan
=
data
?.
developmentPlan
?.
map
(
x
=>
new
MyDevelopmentPlanModel
(
x
))
||
[];
}
}
}
}
\ No newline at end of file
src/app/shared/services/appraisal.service.ts
View file @
e0f3ec8a
...
@@ -5,7 +5,7 @@ import { environment } from 'src/environments/environment';
...
@@ -5,7 +5,7 @@ import { environment } from 'src/environments/environment';
import
{
PLModel
}
from
'../model/pl.model'
;
import
{
PLModel
}
from
'../model/pl.model'
;
import
{
AlertModel
}
from
'../model/alert.model'
;
import
{
AlertModel
}
from
'../model/alert.model'
;
import
{
AppraisalModel
}
from
'../model/appraisal.model'
;
import
{
AppraisalModel
}
from
'../model/appraisal.model'
;
import
{
AppraisalF
ro
mModel
}
from
'../model/appraisal-form.model'
;
import
{
AppraisalF
or
mModel
}
from
'../model/appraisal-form.model'
;
@
Injectable
({
@
Injectable
({
providedIn
:
'root'
providedIn
:
'root'
})
})
...
@@ -14,8 +14,8 @@ export class AppraisalService {
...
@@ -14,8 +14,8 @@ export class AppraisalService {
urlApi
=
environment
.
baseUrl
+
this
.
api
urlApi
=
environment
.
baseUrl
+
this
.
api
constructor
(
private
http
:
HttpClient
)
{
constructor
(
private
http
:
HttpClient
)
{
}
}
getForm
ById
(
evaluationRoundId
:
string
,
apsassessy
:
string
):
Observable
<
AppraisalFro
mModel
>
{
getForm
CompentencyById
(
evaluationRoundId
:
string
,
apsassessy
:
string
):
Observable
<
AppraisalFor
mModel
>
{
return
this
.
http
.
get
<
AppraisalF
romModel
>
(
this
.
urlApi
+
"
/"
+
evaluationRoundId
+
"/"
+
apsassessy
)
return
this
.
http
.
get
<
AppraisalF
ormModel
>
(
this
.
urlApi
+
"/competency
/"
+
evaluationRoundId
+
"/"
+
apsassessy
)
}
}
getList
():
Observable
<
AppraisalModel
[]
>
{
getList
():
Observable
<
AppraisalModel
[]
>
{
return
this
.
http
.
get
<
AppraisalModel
[]
>
(
this
.
urlApi
+
"/competency/emp"
)
return
this
.
http
.
get
<
AppraisalModel
[]
>
(
this
.
urlApi
+
"/competency/emp"
)
...
...
src/assets/template/IMPORT_COMPETENCY_INDICATORS.xlsx
View file @
e0f3ec8a
No preview for this file type
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