Commit 21dfbf99 by Nattana Chaiyamat

ประเมิน pms

parent 962ed626
......@@ -316,15 +316,14 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part1show"></div>
<div class="pb-2rem px-2rem" *ngIf="part1show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part1show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','ที่มาของนโยบาย\n(Corporate KPI)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)',
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==7?'1':'2'" [attr.colspan]="i==7?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -341,7 +340,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -350,73 +349,75 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part1Detail">
<tr *ngFor="let item of appraisalPms?.data?.part1Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
<ng-container *ngIf="part1show">
<tr *ngFor="let item of appraisalPms?.data?.part1Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part1radio'+i" class="ti-form-radio"
[id]="'part1radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center !white-space-normal ">
</td>
......@@ -485,7 +486,7 @@
<div class="mx-2rem py-1rem px-1rem bg-primary">
<div class="font-size-18px font-weight-700 text-white flex justify-between">
<div class="align-center">
Part 2 : ประเมินผลการปฏิบัติงานประจำ(Department KPI)
Part 2 : ประเมินผลการปฏิบัติงานประจำ (Department KPI)
</div>
<span class="w-10 h-10 ti-btn p-0 transition-none rounded-full border-white border-4 cursor-pointer"
(click)="part2show=!part2show">
......@@ -504,15 +505,14 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part2show"></div>
<div class="pb-2rem px-2rem" *ngIf="part2show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part2show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)',
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==6?'1':'2'" [attr.colspan]="i==6?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -529,7 +529,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -538,70 +538,72 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part2Detail">
<tr *ngFor="let item of appraisalPms?.data?.part2Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
<ng-container *ngIf="part2show">
<tr *ngFor="let item of appraisalPms?.data?.part2Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part2radio'+i" class="ti-form-radio"
[id]="'part2radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center !white-space-normal ">
</td>
......@@ -663,7 +665,7 @@
<div class="mx-2rem py-1rem px-1rem bg-primary">
<div class="font-size-18px font-weight-700 text-white flex justify-between">
<div class="align-center">
Part 3 : ประเมินผลการปฏิบัติงานประจำ(Individual KPI)
Part 3 : ประเมินผลการปฏิบัติงานประจำ (Individual KPI)
</div>
<span class="w-10 h-10 ti-btn p-0 transition-none rounded-full border-white border-4 cursor-pointer"
(click)="part3show=!part3show">
......@@ -682,15 +684,14 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part3show"></div>
<div class="pb-2rem px-2rem" *ngIf="part3show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part3show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)',
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
'กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==6?'1':'2'" [attr.colspan]="i==6?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -707,7 +708,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -716,70 +717,72 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part3Detail">
<tr *ngFor="let item of appraisalPms?.data?.part3Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
<ng-container *ngIf="part3show">
<tr *ngFor="let item of appraisalPms?.data?.part3Detail;let i = index">
<td class="align-start text-center !white-space-normal ">
{{i+1}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start text-center !white-space-normal ">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part3radio'+i" class="ti-form-radio"
[id]="'part3radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
</td>
......@@ -841,7 +844,7 @@
<div class="mx-2rem py-1rem px-1rem bg-primary">
<div class="font-size-18px font-weight-700 text-white flex justify-between">
<div class="align-center">
Part 4 : ประเมินผลสมรรถนะที่สนับสนุนการปฏิบัติงาน(Competency)
Part 4 : ประเมินผลสมรรถนะที่สนับสนุนการปฏิบัติงาน (Competency)
</div>
<span class="w-10 h-10 ti-btn p-0 transition-none rounded-full border-white border-4 cursor-pointer"
(click)="part4show=!part4show">
......@@ -860,14 +863,13 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part4show"></div>
<div class="pb-2rem px-2rem" *ngIf="part4show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part4show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','สมรรถนะ\n(Competency)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุปผลงาน\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
*ngFor="let item of ['ลำดับ\n(No.)','สมรรถนะ\n(Competency)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุปผลงาน\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==3?'1':'2'" [attr.colspan]="i==3?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -884,7 +886,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -893,49 +895,51 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part4Detail">
<tr *ngFor="let item of appraisalPms?.data?.part4Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.competencyType.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.competencyType.weight}}
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==5">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==4">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==3">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==2">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==1">
{{item.averageScore}}
</ng-container>
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{calAverage(item.averageScore)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.competencyType.weight * calAverage(item.averageScore))}}
</td>
</tr>
<ng-container *ngIf="part4show">
<tr *ngFor="let item of appraisalPms?.data?.part4Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.competencyType.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.competencyType.weight}}
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==5">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==4">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==3">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==2">
{{item.averageScore}}
</ng-container>
</td>
<td class="align-start !white-space-normal text-center">
<ng-container *ngIf="calAverage(item.averageScore)==1">
{{item.averageScore}}
</ng-container>
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{calAverage(item.averageScore)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.competencyType.weight * calAverage(item.averageScore))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
คะแนนดิบ
......@@ -1005,14 +1009,13 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part5show"></div>
<div class="pb-2rem px-2rem" *ngIf="part5show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part5show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','อัตราการเข้างาน\n(Time attendance)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
*ngFor="let item of ['ลำดับ\n(No.)','อัตราการเข้างาน\n(Time attendance)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==5?'1':'2'" [attr.colspan]="i==5?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -1029,7 +1032,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -1038,67 +1041,69 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part5Detail">
<tr *ngFor="let item of appraisalPms?.data?.part5Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.performanceTargets}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioA'+i" (click)="setScorePart5(item,5)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==5:item.pmsWorkingTimScoreBoss==5"><br>
{{item.targetADetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioB'+i" (click)="setScorePart5(item,4)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==4:item.pmsWorkingTimScoreBoss==4"><br>
{{item.targetBDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioC'+i" (click)="setScorePart5(item,3)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==3:item.pmsWorkingTimScoreBoss==3"><br>
{{item.targetCDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioD'+i" (click)="setScorePart5(item,2)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==2:item.pmsWorkingTimScoreBoss==2"><br>
{{item.targetDDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioE'+i" (click)="setScorePart5(item,1)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==1:item.pmsWorkingTimScoreBoss==1"><br>
{{item.targetEDetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.pmsWorkingTimScore:item.pmsWorkingTimScoreBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.pmsWorkingTimScore:item.pmsWorkingTimScoreBoss))}}
</td>
</tr>
<ng-container *ngIf="part5show">
<tr *ngFor="let item of appraisalPms?.data?.part5Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.performanceTargets}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioA'+i" (click)="setScorePart5(item,5)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==5:item.pmsWorkingTimScoreBoss==5"><br>
{{item.targetADetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioB'+i" (click)="setScorePart5(item,4)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==4:item.pmsWorkingTimScoreBoss==4"><br>
{{item.targetBDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioC'+i" (click)="setScorePart5(item,3)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==3:item.pmsWorkingTimScoreBoss==3"><br>
{{item.targetCDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioD'+i" (click)="setScorePart5(item,2)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==2:item.pmsWorkingTimScoreBoss==2"><br>
{{item.targetDDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part5radio'+i" class="ti-form-radio"
[id]="'part5radioE'+i" (click)="setScorePart5(item,1)"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==1:item.pmsWorkingTimScoreBoss==1"><br>
{{item.targetEDetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.pmsWorkingTimScore:item.pmsWorkingTimScoreBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.pmsWorkingTimScore:item.pmsWorkingTimScoreBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
คะแนนดิบ
......@@ -1157,7 +1162,7 @@
<div class="mx-2rem py-1rem px-1rem bg-primary">
<div class="font-size-18px font-weight-700 text-white flex justify-between">
<div class="align-center">
Part 6: งานที่ได้รับมอบหมายเพิ่มเติม ( Cross Functional Project Assignment)
Part 6 : งานที่ได้รับมอบหมายเพิ่มเติม (Cross Functional Project Assignment)
</div>
<span class="w-10 h-10 ti-btn p-0 transition-none rounded-full border-white border-4 cursor-pointer"
(click)="part6show=!part6show">
......@@ -1176,14 +1181,13 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part6show"></div>
<div class="pb-2rem px-2rem" *ngIf="part6show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part6show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','งานที่ได้รับมอบหมายเพิ่มเติม (Cross Functional Project Assignment)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight)\n[(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
*ngFor="let item of ['ลำดับ\n(No.)','งานที่ได้รับมอบหมายเพิ่มเติม (Cross Functional Project Assignment)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight)\n[(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==7?'1':'2'" [attr.colspan]="i==7?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -1200,7 +1204,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -1209,73 +1213,75 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part6Detail">
<tr *ngFor="let item of appraisalPms?.data?.part6Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
<ng-container *ngIf="part6show">
<tr *ngFor="let item of appraisalPms?.data?.part6Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part6radio'+i" class="ti-form-radio"
[id]="'part6radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
</td>
......@@ -1342,7 +1348,7 @@
<div class="mx-2rem py-1rem px-1rem bg-primary">
<div class="font-size-18px font-weight-700 text-white flex justify-between">
<div class="align-center">
Part 7: กิจกรรมพิเศษ( Special Activities)
Part 7: กิจกรรมพิเศษ (Special Activities)
</div>
<span class="w-10 h-10 ti-btn p-0 transition-none rounded-full border-white border-4 cursor-pointer"
(click)="part7show=!part7show">
......@@ -1361,14 +1367,13 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part7show"></div>
<div class="pb-2rem px-2rem" *ngIf="part7show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part7show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['ลำดับ\n(No.)','กิจกรรมพิเศษ (Special Activities)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย(Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
*ngFor="let item of ['ลำดับ\n(No.)','กิจกรรมพิเศษ (Special Activities)','ตัวชี้วัด\n(Performance Indicator)','เป้าหมาย\n(Target)','หน่วยนับ\n(Unit)','กำหนดเสร็จ\n(Time Line)','น้ำหนัก\n(Weight) [(A)]','ค่าเป้าหมาย (Target Degree)','สรุป\n(Summary)\n[(B)]','คะแนนที่ได้\n(Score)\n[(A)x(B)]'];let i = index;let l = last">
<th scope="col" [attr.rowspan]="i==7?'1':'2'" [attr.colspan]="i==7?'5':'1'"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700 ">{{ item }}</span>
......@@ -1385,7 +1390,7 @@
</ng-container>
</tr>
<tr class="font-size-12px">
<ng-container *ngFor="let item of ['A(5)','B(4)','C(3)','D(2)','E(1)']">
<ng-container *ngFor="let item of ['A (5)','B (4)','C (3)','D (2)','E (1)']">
<th scope="col"
class="relative px-10px py-10px bg-soft-secondary text-primary !text-center">
{{item}}
......@@ -1394,73 +1399,75 @@
</tr>
</thead>
<tbody *ngIf="appraisalPms?.data?.part7Detail">
<tr *ngFor="let item of appraisalPms?.data?.part7Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
<ng-container *ngIf="part7show">
<tr *ngFor="let item of appraisalPms?.data?.part7Detail;let i = index">
<td class="align-start text-center">
{{i+1}}
</td>
<td class="align-start !white-space-normal">
{{item.groupAssessment1.pmsTopic.tdesc}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.indicatorsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.performanceGoalsDetail}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.detailUnit}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.groupAssessment1.pmsTopic.completionDate}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioA'+i" (click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioB'+i" (click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioC'+i" (click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioD'+i" (click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit"
[disabled]="!canEdit" type="radio" [name]="'part7radio'+i" class="ti-form-radio"
[id]="'part7radioE'+i" (click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
<td class="!p-0"></td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss
)}}
</td>
<td class="align-start !white-space-normal text-center">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.scoreTopicExpectation:item.scoreTopicExpectationBoss))}}
</td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
</td>
......@@ -1546,11 +1553,10 @@
</span>
</div>
</div>
<div class="pb-2rem" *ngIf="!part8show"></div>
<div class="pb-2rem px-2rem" *ngIf="part8show">
<div class="pb-2rem px-2rem">
<div class="overflow-auto rounded-top-0.65rem">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
<thead class="height-50px">
<thead class="height-50px" *ngIf="part8show">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['การประเมินผล (Evaluation Factor)','คะแนนดิบคิดเป็นร้อยละ','ร้อยละของปัจจัย','คะแนนที่ได้คิดเป็นร้อยละ','คะแนนสุทธิ\n(Net Score)','ระดับผลการปฏิบัติงาน'];let i = index;let l = last">
......@@ -1565,24 +1571,26 @@
</tr>
</thead>
<tbody *ngIf="data8List.length">
<tr *ngFor="let item of data8List;let i = index">
<td class="align-start !white-space-normal">
{{item.evaluationFactor}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.rawScore}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.factors}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.scoreObtained}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.netScore}}
</td>
<td></td>
</tr>
<ng-container *ngIf="part8show">
<tr *ngFor="let item of data8List;let i = index">
<td class="align-start !white-space-normal">
{{item.evaluationFactor}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.rawScore}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.factors}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.scoreObtained}}
</td>
<td class="align-start !white-space-normal text-center">
{{item.netScore}}
</td>
<td></td>
</tr>
</ng-container>
<tr class="bg-table-soft-gray">
<td class="align-start text-center">
รวม
......@@ -1599,8 +1607,8 @@
{{calNetScore()}}
</td>
<td class="align-start !white-space-normal" *ngIf="appraisalPms.data">
<ng-container *ngFor="let item of groupGrade.dataList; let i=index">
<span style="display:flex;align-items:center" class="mt-2">
<ng-container *ngFor="let item of groupGrade.dataList; let i=index;let f= first">
<span style="display:flex;align-items:center" [class.mt-2]="!f">
<i *ngIf="appraisalPms.data.gradeScore==item.gradeDetail"
class="ri ri-star-fill pr-10px"></i>
<i *ngIf="appraisalPms.data.gradeScore!=item.gradeDetail"
......
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';
import { AppraisalPmsFormModel } from 'src/app/shared/model/appraisal-pms-form.model';
import { CompetencyGradeModel, MyCompetencyGradeModel } from 'src/app/shared/model/competency-grades.model';
import { AppraisalService } from 'src/app/shared/services/appraisal.service';
......@@ -46,21 +46,21 @@ export class PmsEvalutionComponent {
netScore: 0,
}, {
id: 2,
evaluationFactor: "Part 2 : ประเมินผลการปฏิบัติงานประจำ(Department KPI)",
evaluationFactor: "Part 2 : ประเมินผลการปฏิบัติงานประจำ (Department KPI)",
rawScore: 100,
factors: 0,
scoreObtained: 0,
netScore: 0,
}, {
id: 3,
evaluationFactor: "Part 3 : ประเมินผลการปฏิบัติงานประจำ(Individual KPI)",
evaluationFactor: "Part 3 : ประเมินผลการปฏิบัติงานประจำ (Individual KPI)",
rawScore: 100,
factors: 0,
scoreObtained: 0,
netScore: 0,
}, {
id: 4,
evaluationFactor: "Part 4 : ประเมินผลสมรรถนะที่สนับสนุนการปฏิบัติงาน(Competency)",
evaluationFactor: "Part 4 : ประเมินผลสมรรถนะที่สนับสนุนการปฏิบัติงาน (Competency)",
rawScore: 100,
factors: 0,
scoreObtained: 0,
......@@ -74,14 +74,14 @@ export class PmsEvalutionComponent {
netScore: 0,
}, {
id: 6,
evaluationFactor: "Part 6: งานที่ได้รับมอบหมายเพิ่มเติม ( Cross Functional Project Assignment)",
evaluationFactor: "Part 6 : งานที่ได้รับมอบหมายเพิ่มเติม (Cross Functional Project Assignment)",
rawScore: 100,
factors: 0,
scoreObtained: 0,
netScore: 0,
}, {
id: 7,
evaluationFactor: "Part 7: กิจกรรมพิเศษ( Special Activities)",
evaluationFactor: "Part 7 : กิจกรรมพิเศษ (Special Activities)",
rawScore: 100,
factors: 0,
scoreObtained: 0,
......@@ -108,6 +108,11 @@ export class PmsEvalutionComponent {
private settingAssessmentService: SettingAssessmentService
) {
}
ngOnChanges(changes: SimpleChanges): void {
if (changes['evaluateeId'].currentValue || changes['evaluaterId'].currentValue) {
this.toggleAllParts(this.evaluateeId == this.evaluaterId)
}
}
ngOnInit(): void {
this.getPmsGroupGradeList()
this.getAppraisalPmsForm()
......@@ -588,4 +593,17 @@ export class PmsEvalutionComponent {
}
})
}
toggleAllParts(check: boolean) {
this.part1show = check
this.part2show = check
this.part3show = check
this.part4show = check
this.part5show = check
this.part6show = check
this.part7show = check
this.part8show = check
this.part9show = check
this.part10show = check
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment