Commit 2fba97ee by Nattana Chaiyamat

competenc ปรับคะแนน 1-7

parent d5958642
...@@ -58,6 +58,8 @@ ...@@ -58,6 +58,8 @@
<!-- กำหนดให้คอลัมน์ "คะแนน" กว้างกว่า --> <!-- กำหนดให้คอลัมน์ "คะแนน" กว้างกว่า -->
<th class="text-base font-bold" style=" width: 23%;height: 40px;"> <th class="text-base font-bold" style=" width: 23%;height: 40px;">
{{'Score' | translate}}</th> {{'Score' | translate}}</th>
<th>7</th>
<th>6</th>
<th>5</th> <th>5</th>
<th>4</th> <th>4</th>
<th>3</th> <th>3</th>
...@@ -70,6 +72,10 @@ ...@@ -70,6 +72,10 @@
<td class="text-base font-bold" style="height: 70px;"> <td class="text-base font-bold" style="height: 70px;">
{{'Pass' | translate}}<br>{{'NoGAP' | translate}} {{'Pass' | translate}}<br>{{'NoGAP' | translate}}
</td> </td>
<td><input type="radio" id="idp-radio5" name="score" [value]="7"
[(ngModel)]="idpData.score"></td>
<td><input type="radio" id="idp-radio5" name="score" [value]="6"
[(ngModel)]="idpData.score"></td>
<td><input type="radio" id="idp-radio5" name="score" [value]="5" <td><input type="radio" id="idp-radio5" name="score" [value]="5"
[(ngModel)]="idpData.score"></td> [(ngModel)]="idpData.score"></td>
<td><input type="radio" id="idp-radio4" name="score" [value]="4" <td><input type="radio" id="idp-radio4" name="score" [value]="4"
......
...@@ -90,6 +90,8 @@ ...@@ -90,6 +90,8 @@
<thead> <thead>
<tr> <tr>
<th>{{'Score'| translate}}</th> <th>{{'Score'| translate}}</th>
<th class="text-center">7</th>
<th class="text-center">6</th>
<th class="text-center">5</th> <th class="text-center">5</th>
<th class="text-center">4</th> <th class="text-center">4</th>
<th class="text-center">3</th> <th class="text-center">3</th>
...@@ -103,6 +105,14 @@ ...@@ -103,6 +105,14 @@
<td> <input type="text" class="ti-form-input" <td> <input type="text" class="ti-form-input"
oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');" oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange="this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)" onchange="this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(ngModel)]="setting.data.settingScore7"></td>
<td> <input type="text" class="ti-form-input"
oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange="this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(ngModel)]="setting.data.settingScore6"></td>
<td> <input type="text" class="ti-form-input"
oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange="this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(ngModel)]="setting.data.settingScore5"></td> [(ngModel)]="setting.data.settingScore5"></td>
<td> <input type="text" class="ti-form-input" <td> <input type="text" class="ti-form-input"
oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');" oninput="this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
......
...@@ -43,10 +43,10 @@ export class FormValidationsComponent { ...@@ -43,10 +43,10 @@ export class FormValidationsComponent {
Submit() { Submit() {
if (this.customForm.valid) { if (this.customForm.valid) {
// Form is valid, handle the form submission here // Form is valid, handle the form submission here
console.log('Form submitted successfully!'); // console.log('Form submitted successfully!');
} else { } else {
// Form is invalid, display error messages or handle accordingly // Form is invalid, display error messages or handle accordingly
console.log('Form is invalid!'); // console.log('Form is invalid!');
} }
} }
} }
...@@ -143,14 +143,15 @@ ...@@ -143,14 +143,15 @@
{{bi.assessmentId}}</td> {{bi.assessmentId}}</td>
<td class="py-2 text-center" style="vertical-align: top"> <td class="py-2 text-center" style="vertical-align: top">
<div class="flex flex-row justify-center gap-2 mb-2"> <div class="flex flex-row justify-center gap-2 mb-2">
<ng-container *ngFor="let item of [5,4,3,2,1];let f = first"> <ng-container *ngFor="let item of [7,6,5,4,3,2,1];let f = first">
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete"> <ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<button type="button" <button type="button"
class="h-12 w-12 p-0 shadow border text-soft-secondary-no-hover bg-white" class="h-12 w-12 p-0 shadow border text-soft-secondary-no-hover bg-white"
style="border-radius:10px" style="border-radius:10px"
(mouseenter)="biScore.set(bi.behavioralIndicators+bi.assessmentId,item)" (mouseenter)="biScore.set(bi.behavioralIndicators+bi.assessmentId,item)"
(mouseleave)="biScore.clear()" (mouseleave)="biScore.clear()"
(click)="bi.competencyBehavioral.scoreTopicExpectation=item;bi.competencyBehavioral.scoreTopicExpectationBoss=item;calnumberCheck()" [ngClass]="{ (click)="bi.competencyBehavioral.scoreTopicExpectation=item;bi.competencyBehavioral.scoreTopicExpectationBoss=item;calweightScore()"
[ngClass]="{
'!border-secondary': bi.competencyBehavioral.scoreTopicExpectation>=item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>=item , '!border-secondary': bi.competencyBehavioral.scoreTopicExpectation>=item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>=item ,
'!text-indigo-600':bi.competencyBehavioral.scoreTopicExpectation>item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>item, '!text-indigo-600':bi.competencyBehavioral.scoreTopicExpectation>item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>item,
'!text-white !bg-secondary': bi.competencyBehavioral.scoreTopicExpectation==item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)==item , '!text-white !bg-secondary': bi.competencyBehavioral.scoreTopicExpectation==item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)==item ,
...@@ -164,8 +165,7 @@ ...@@ -164,8 +165,7 @@
style="border-radius:10px" style="border-radius:10px"
(mouseenter)="biScore.set(bi.behavioralIndicators+bi.assessmentId,item)" (mouseenter)="biScore.set(bi.behavioralIndicators+bi.assessmentId,item)"
(mouseleave)="biScore.clear()" (mouseleave)="biScore.clear()"
(click)="bi.competencyBehavioral.scoreTopicExpectationBoss=item;calnumberCheck()" (click)="bi.competencyBehavioral.scoreTopicExpectationBoss=item;calweightScore()" [ngClass]="{
[ngClass]="{
'!border-secondary': bi.competencyBehavioral.scoreTopicExpectationBoss>=item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>=item , '!border-secondary': bi.competencyBehavioral.scoreTopicExpectationBoss>=item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>=item ,
'!text-indigo-600':bi.competencyBehavioral.scoreTopicExpectationBoss>item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>item, '!text-indigo-600':bi.competencyBehavioral.scoreTopicExpectationBoss>item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)>item,
'!text-white !bg-secondary': bi.competencyBehavioral.scoreTopicExpectationBoss==item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)==item , '!text-white !bg-secondary': bi.competencyBehavioral.scoreTopicExpectationBoss==item||(biScore.get(bi.behavioralIndicators+bi.assessmentId) ?? 0)==item ,
...@@ -212,33 +212,41 @@ ...@@ -212,33 +212,41 @@
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
<div class="col-span-8" style="font-size: 1rem;font-weight: 500; border-radius:20px">ระดับความสามารถ (Target <div class="col-span-8" style="font-size: 1rem;font-weight: 500; border-radius:20px">ระดับความสามารถ (Target
Degree)</div> Degree)</div>
<div class="col-span-3 grid grid-cols-5"> <div class="col-span-3 grid grid-cols-7">
<div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{item}}</div> <div class="col-span-1 text-center" *ngFor="let item of [7,6,5,4,3,2,1]">{{item}}</div>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
<div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div> <div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div>
<div class="col-span-3 grid grid-cols-5"> <div class="col-span-3 grid grid-cols-7">
<div class="col-span-1 text-center"> <div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck5Boss}} {{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore7Boss}}
</div> </div>
<div class="col-span-1 text-center"> <div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck4Boss}} {{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore6Boss}}
</div> </div>
<div class="col-span-1 text-center"> <div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck3Boss}} {{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore5Boss}}
</div> </div>
<div class="col-span-1 text-center"> <div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck2Boss}} {{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore4Boss}}
</div> </div>
<div class="col-span-1 text-center"> <div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck1Boss}} {{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore3Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore2Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore1Boss}}
</div> </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-7">
<div class="col-span-1 text-center">{{setting.data.settingScore7}}</div>
<div class="col-span-1 text-center">{{setting.data.settingScore6}}</div>
<div class="col-span-1 text-center">{{setting.data.settingScore5}}</div> <div class="col-span-1 text-center">{{setting.data.settingScore5}}</div>
<div class="col-span-1 text-center">{{setting.data.settingScore4}}</div> <div class="col-span-1 text-center">{{setting.data.settingScore4}}</div>
<div class="col-span-1 text-center">{{setting.data.settingScore3}}</div> <div class="col-span-1 text-center">{{setting.data.settingScore3}}</div>
...@@ -248,14 +256,15 @@ ...@@ -248,14 +256,15 @@
</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-7">
<div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{calWeightScoreBoss(item)}}</div> <div class="col-span-1 text-center" *ngFor="let item of [7,6,5,4,3,2,1]">{{calWeightScoreBoss(item)}}
</div>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
<div class="col-span-8 font-semibold" style=" border-radius:20px">คะแนนรวมหลังถ่วงน้ำหนัก <div class="col-span-8 font-semibold" style=" border-radius:20px">คะแนนรวมหลังถ่วงน้ำหนัก
</div> </div>
<div class="col-span-3 grid grid-cols-5"> <div class="col-span-3 grid grid-cols-1">
<div class="col-span-5 text-center text-indigo-600 font-semibold"> <div class="col-span-5 text-center text-indigo-600 font-semibold">
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss)}} {{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss)}}
</div> </div>
...@@ -264,7 +273,7 @@ ...@@ -264,7 +273,7 @@
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
<div class="col-span-8 font-semibold" style=" border-radius:20px">คะแนนเฉลี่ยคิดเป็น <div class="col-span-8 font-semibold" style=" border-radius:20px">คะแนนเฉลี่ยคิดเป็น
</div> </div>
<div class="col-span-3 grid grid-cols-5"> <div class="col-span-3 grid grid-cols-1">
<div class="col-span-5 text-center text-indigo-600 font-semibold"> <div class="col-span-5 text-center text-indigo-600 font-semibold">
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss)}} {{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss)}}
</div> </div>
......
...@@ -24,9 +24,11 @@ export class PmsCompetencyComponent { ...@@ -24,9 +24,11 @@ export class PmsCompetencyComponent {
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>(); @Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyFormRemain: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyFormRemain: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyForm: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyForm: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyWeightTotalBoss: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyScoreBoss: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyScoreBoss: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyScore: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyScore: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyWeightScoreBoss: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyWeightScoreBoss: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyWeightTotal: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyWeightScore: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyWeightScore: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyGapBoss: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyGapBoss: EventEmitter<any> = new EventEmitter<any>();
@Output() compentencyGap: EventEmitter<any> = new EventEmitter<any>(); @Output() compentencyGap: EventEmitter<any> = new EventEmitter<any>();
...@@ -58,7 +60,9 @@ export class PmsCompetencyComponent { ...@@ -58,7 +60,9 @@ export class PmsCompetencyComponent {
'มีความรู้ในงานบ้างแต่ยังไม่สามารถ ประยุกต์ใช้ในงานได้', 'มีความรู้ในงานบ้างแต่ยังไม่สามารถ ประยุกต์ใช้ในงานได้',
'นำความรู้มาประยุกต์ใช้ในงานได้ ปฏิบัติงานเองได้ด้วยตัวเองแก้ไขปัญหาหน้างานได้', 'นำความรู้มาประยุกต์ใช้ในงานได้ ปฏิบัติงานเองได้ด้วยตัวเองแก้ไขปัญหาหน้างานได้',
'สอนผู้อื่นได้ มีความคล่องตัว เชื่อมโยง ความรู้ในงานได้', 'สอนผู้อื่นได้ มีความคล่องตัว เชื่อมโยง ความรู้ในงานได้',
'มีความชำนาญ เชี่ยวชาญ เป็นที่ยอมรับ ในองค์กร' 'มีความชำนาญ เชี่ยวชาญ เป็นที่ยอมรับ ในองค์กร',
'6',
'7'
]; ];
evaluatee: { loading: boolean, data: EmployeeModel } = { loading: false, data: new MyEmployeeModel() } evaluatee: { loading: boolean, data: EmployeeModel } = { loading: false, data: new MyEmployeeModel() }
biOpen: Map<string, boolean> = new Map<string, boolean>() biOpen: Map<string, boolean> = new Map<string, boolean>()
...@@ -168,7 +172,7 @@ export class PmsCompetencyComponent { ...@@ -168,7 +172,7 @@ export class PmsCompetencyComponent {
} }
default: { return } default: { return }
} }
this.calnumberCheck() this.calweightScore()
this.cdr.detectChanges() this.cdr.detectChanges()
} }
} }
...@@ -176,66 +180,82 @@ export class PmsCompetencyComponent { ...@@ -176,66 +180,82 @@ export class PmsCompetencyComponent {
return this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List || [] return this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List || []
} }
calnumberCheck() { calweightScore() {
if (this.evaluaterId != this.evaluateeId || this.currentStep != '0') { if (this.evaluaterId != this.evaluateeId || this.currentStep != '0') {
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck1 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 1).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore1 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 1).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck2 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 2).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore2 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 2).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck3 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 3).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore3 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 3).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck4 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 4).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore4 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 4).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck5 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 5).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore5 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 5).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore6 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 6).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore7 = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectation == 7).length).reduce((acc: any, num: any) => acc + num, 0)
} }
} }
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck1Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 1).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore1Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 1).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck2Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 2).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore2Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 2).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck3Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 3).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore3Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 3).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck4Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 4).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore4Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 4).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck5Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 5).length).reduce((acc: any, num: any) => acc + num, 0) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore5Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 5).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore6Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 6).length).reduce((acc: any, num: any) => acc + num, 0)
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore7Boss = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter((y: any) => y.competencyBehavioral.scoreTopicExpectationBoss == 7).length).reduce((acc: any, num: any) => acc + num, 0)
this.calWeightTotal() this.calWeightTotal()
} }
this.cdr.detectChanges() this.cdr.detectChanges()
} }
calWeightScoreBoss(numberCheck: number) { calWeightScoreBoss(weightScore: number) {
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
switch (numberCheck) { switch (weightScore) {
case (1): { case (1): {
return this.showNumber((this.setting.data.settingScore1) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck1Boss) return this.showNumber((this.setting.data.settingScore1) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore1Boss)
} }
case (2): { case (2): {
return this.showNumber((this.setting.data.settingScore2) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck2Boss) return this.showNumber((this.setting.data.settingScore2) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore2Boss)
} }
case (3): { case (3): {
return this.showNumber((this.setting.data.settingScore3) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck3Boss) return this.showNumber((this.setting.data.settingScore3) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore3Boss)
} }
case (4): { case (4): {
return this.showNumber((this.setting.data.settingScore4) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck4Boss) return this.showNumber((this.setting.data.settingScore4) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore4Boss)
} }
case (5): { case (5): {
return this.showNumber((this.setting.data.settingScore5) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck5Boss) return this.showNumber((this.setting.data.settingScore5) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore5Boss)
}
case (6): {
return this.showNumber((this.setting.data.settingScore6) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore6Boss)
}
case (7): {
return this.showNumber((this.setting.data.settingScore7) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore7Boss)
} }
default: { return } default: { return }
} }
} }
return return
} }
calWeightScore(numberCheck: number) { calWeightScore(weightScore: number) {
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
switch (numberCheck) { switch (weightScore) {
case (1): { case (1): {
return this.showNumber((this.setting.data.settingScore1) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck1) return this.showNumber((this.setting.data.settingScore1) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore1)
} }
case (2): { case (2): {
return this.showNumber((this.setting.data.settingScore2) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck2) return this.showNumber((this.setting.data.settingScore2) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore2)
} }
case (3): { case (3): {
return this.showNumber((this.setting.data.settingScore3) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck3) return this.showNumber((this.setting.data.settingScore3) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore3)
} }
case (4): { case (4): {
return this.showNumber((this.setting.data.settingScore4) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck4) return this.showNumber((this.setting.data.settingScore4) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore4)
} }
case (5): { case (5): {
return this.showNumber((this.setting.data.settingScore5) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].numberCheck5) return this.showNumber((this.setting.data.settingScore5) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore5)
}
case (6): {
return this.showNumber((this.setting.data.settingScore6) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore6)
}
case (7): {
return this.showNumber((this.setting.data.settingScore7) * this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightScore7)
} }
default: { return } default: { return }
} }
...@@ -245,9 +265,9 @@ export class PmsCompetencyComponent { ...@@ -245,9 +265,9 @@ export class PmsCompetencyComponent {
calWeightTotal() { calWeightTotal() {
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss = 0 this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss = 0
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss = +(((this.calWeightScoreBoss(1) ?? 0) + (this.calWeightScoreBoss(2) ?? 0) + (this.calWeightScoreBoss(3) ?? 0) + (this.calWeightScoreBoss(4) ?? 0) + (this.calWeightScoreBoss(5) ?? 0)).toFixed(2)) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss = +(((this.calWeightScoreBoss(1) ?? 0) + (this.calWeightScoreBoss(2) ?? 0) + (this.calWeightScoreBoss(3) ?? 0) + (this.calWeightScoreBoss(4) ?? 0) + (this.calWeightScoreBoss(5) ?? 0) + (this.calWeightScoreBoss(6) ?? 0) + (this.calWeightScoreBoss(7) ?? 0)).toFixed(2))
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotal = 0 this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotal = 0
this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotal = +(((this.calWeightScore(1) ?? 0) + (this.calWeightScore(2) ?? 0) + (this.calWeightScore(3) ?? 0) + (this.calWeightScore(4) ?? 0) + (this.calWeightScore(5) ?? 0)).toFixed(2)) this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotal = +(((this.calWeightScore(1) ?? 0) + (this.calWeightScore(2) ?? 0) + (this.calWeightScore(3) ?? 0) + (this.calWeightScore(4) ?? 0) + (this.calWeightScore(5) ?? 0) + (this.calWeightScore(6) ?? 0) + (this.calWeightScore(7) ?? 0)).toFixed(2))
this.cdr.detectChanges() this.cdr.detectChanges()
this.calAverageScore() this.calAverageScore()
} }
...@@ -255,7 +275,9 @@ export class PmsCompetencyComponent { ...@@ -255,7 +275,9 @@ export class PmsCompetencyComponent {
calAverageScore() { calAverageScore() {
if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) { if (this.appraisalCompentencyList[this.appraisalCompentencyIndex]?.masfromEvaluationAssessment1List[0]) {
const length = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.length).reduce((acc: any, num: any) => acc + num, 0) const length = this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].masfromEvaluationAssessment2List.map((x: any) => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.length).reduce((acc: any, num: any) => acc + num, 0)
const max = Math.max(...[+(this.setting.data.settingScore5), const max = Math.max(...[+(this.setting.data.settingScore7),
+ (this.setting.data.settingScore6),
+ (this.setting.data.settingScore5),
+(this.setting.data.settingScore4), +(this.setting.data.settingScore4),
+(this.setting.data.settingScore3), +(this.setting.data.settingScore3),
+(this.setting.data.settingScore2), +(this.setting.data.settingScore2),
...@@ -290,7 +312,7 @@ export class PmsCompetencyComponent { ...@@ -290,7 +312,7 @@ export class PmsCompetencyComponent {
if (compentency) { if (compentency) {
const roundedScore = this.showNumber(score) % 1 <= 0.5 ? Math.floor(this.showNumber(score)) : Math.round(this.showNumber(score)); const roundedScore = this.showNumber(score) % 1 <= 0.5 ? Math.floor(this.showNumber(score)) : Math.round(this.showNumber(score));
if (roundedScore >= 90 && roundedScore <= 100) { if (roundedScore >= 90 && roundedScore <= 100) {
if (compentency.numberCheck1Boss || compentency.numberCheck2Boss || compentency.numberCheck3Boss) { if (compentency.weightScore1Boss || compentency.weightScore2Boss || compentency.weightScore3Boss) {
scoreGab = '-1' scoreGab = '-1'
if (this.evaluateeId == this.evaluaterId) { if (this.evaluateeId == this.evaluaterId) {
compentency.scoreGab = scoreGab compentency.scoreGab = scoreGab
...@@ -305,7 +327,7 @@ export class PmsCompetencyComponent { ...@@ -305,7 +327,7 @@ export class PmsCompetencyComponent {
compentency.scoreGabBoss = scoreGab compentency.scoreGabBoss = scoreGab
return scoreGab; return scoreGab;
} else if (roundedScore >= 80 && roundedScore <= 89) { } else if (roundedScore >= 80 && roundedScore <= 89) {
if (compentency.numberCheck1Boss || compentency.numberCheck2Boss || compentency.numberCheck3Boss) { if (compentency.weightScore1Boss || compentency.weightScore2Boss || compentency.weightScore3Boss) {
scoreGab = '-1' scoreGab = '-1'
if (this.evaluateeId == this.evaluaterId) { if (this.evaluateeId == this.evaluaterId) {
compentency.scoreGab = scoreGab compentency.scoreGab = scoreGab
...@@ -384,14 +406,16 @@ export class PmsCompetencyComponent { ...@@ -384,14 +406,16 @@ export class PmsCompetencyComponent {
this.inFormRemain(data) this.inFormRemain(data)
).filter(data => data != 0).length ).filter(data => data != 0).length
).filter(data => data != 0).length ).filter(data => data != 0).length
const score = [1, 2, 3, 4, 5] const score = [1, 2, 3, 4, 5, 6, 7]
this.compentencyScoreBoss.emit(score.map(x => this.calWeightScoreBoss(x))) this.compentencyScoreBoss.emit(score.map(x => this.calWeightScoreBoss(x)))
this.compentencyWeightTotalBoss.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotalBoss))
this.compentencyWeightScoreBoss.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss)) this.compentencyWeightScoreBoss.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss))
this.compentencyGapBoss.emit(this.calGap(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss)) this.compentencyGapBoss.emit(this.calGap(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScoreBoss))
this.compentencyForm.emit(this.appraisalCompentencyList) this.compentencyForm.emit(this.appraisalCompentencyList)
this.compentencyFormRemain.emit(remain) this.compentencyFormRemain.emit(remain)
this.compentencyScore.emit(score.map(x => this.calWeightScore(x))) this.compentencyScore.emit(score.map(x => this.calWeightScore(x)))
this.compentencyWeightTotal.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].weightedTotal))
this.compentencyWeightScore.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScore)) this.compentencyWeightScore.emit(this.showNumber(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScore))
this.compentencyGap.emit(this.calGap(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScore)) this.compentencyGap.emit(this.calGap(this.appraisalCompentencyList[this.appraisalCompentencyIndex].masfromEvaluationAssessment1List[0].averageScore))
} }
......
...@@ -159,11 +159,12 @@ ...@@ -159,11 +159,12 @@
<div class="w-full flex flex-col gap-2" *ngIf="compentency.data"> <div class="w-full flex flex-col gap-2" *ngIf="compentency.data">
<div class="w-full flex flex-col gap-2 mt-2"> <div class="w-full flex flex-col gap-2 mt-2">
<div class="w-full flex flex-row gap-2"> <div class="w-full flex flex-row gap-2">
<div class="flex-1 text-center font-size-18px font-weight-700" *ngFor="let item of [5,4,3,2,1]"> <div class="flex-1 text-center font-size-18px font-weight-700"
*ngFor="let item of [7,6,5,4,3,2,1]">
{{item}}</div> {{item}}</div>
</div> </div>
<div class="w-full flex flex-row gap-2"> <div class="w-full flex flex-row gap-2">
<div *ngFor="let item of [5,4,3,2,1]" <div *ngFor="let item of [7,6,5,4,3,2,1]"
class="flex-1 border border-secondary text-center align-center" class="flex-1 border border-secondary text-center align-center"
style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;"> style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;">
{{compentencyScoreBoss[item-1]}} {{compentencyScoreBoss[item-1]}}
...@@ -173,6 +174,16 @@ ...@@ -173,6 +174,16 @@
<div class="w-full mt-2 flex justify-center"> <div class="w-full mt-2 flex justify-center">
<div class="flex flex-row gap-2 w-full"> <div class="flex flex-row gap-2 w-full">
<div class="flex-1 font-size-18px font-weight-700 text-right align-center"> <div class="flex-1 font-size-18px font-weight-700 text-right align-center">
คะแนนรวม
</div>
<div class="flex-1 flex justify-center items-center">
<div
class="w-full border border-secondary text-center align-center text-indigo-600 font-semibold"
style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;">
{{compentencyWeightTotalBoss}}
</div>
</div>
<div class="flex-1 font-size-18px font-weight-700 text-right align-center">
คะแนนเฉลี่ย คะแนนเฉลี่ย
</div> </div>
<div class="flex-1 flex justify-center items-center"> <div class="flex-1 flex justify-center items-center">
...@@ -224,11 +235,12 @@ ...@@ -224,11 +235,12 @@
<div class="w-full flex flex-col gap-2" *ngIf="compentency.data"> <div class="w-full flex flex-col gap-2" *ngIf="compentency.data">
<div class="w-full flex flex-col gap-2 mt-2"> <div class="w-full flex flex-col gap-2 mt-2">
<div class="w-full flex flex-row gap-2"> <div class="w-full flex flex-row gap-2">
<div class="flex-1 text-center font-size-18px font-weight-700" *ngFor="let item of [5,4,3,2,1]"> <div class="flex-1 text-center font-size-18px font-weight-700"
*ngFor="let item of [7,6,5,4,3,2,1]">
{{item}}</div> {{item}}</div>
</div> </div>
<div class="w-full flex flex-row gap-2"> <div class="w-full flex flex-row gap-2">
<div *ngFor="let item of [5,4,3,2,1]" <div *ngFor="let item of [7,6,5,4,3,2,1]"
class="flex-1 border border-secondary text-center align-center" class="flex-1 border border-secondary text-center align-center"
style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;"> style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;">
{{compentencyScore[item-1]}} {{compentencyScore[item-1]}}
...@@ -238,6 +250,16 @@ ...@@ -238,6 +250,16 @@
<div class="w-full mt-2 flex justify-center"> <div class="w-full mt-2 flex justify-center">
<div class="flex flex-row gap-2 w-full"> <div class="flex flex-row gap-2 w-full">
<div class="flex-1 font-size-18px font-weight-700 text-right align-center"> <div class="flex-1 font-size-18px font-weight-700 text-right align-center">
คะแนนรวม
</div>
<div class="flex-1 flex justify-center items-center">
<div
class="w-full border border-secondary text-center align-center text-indigo-600 font-semibold"
style="border-radius:10px;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));height: 30px;">
{{compentencyWeightTotal}}
</div>
</div>
<div class="flex-1 font-size-18px font-weight-700 text-right align-center">
คะแนนเฉลี่ย คะแนนเฉลี่ย
</div> </div>
<div class="flex-1 flex justify-center items-center"> <div class="flex-1 flex justify-center items-center">
...@@ -594,6 +616,8 @@ ...@@ -594,6 +616,8 @@
[evaluateeId]="evaluateeId" [canEdit]="canEdit" [currentStep]="compentency.data.currentStep" [evaluateeId]="evaluateeId" [canEdit]="canEdit" [currentStep]="compentency.data.currentStep"
[dateIso]="dateIso" (compentencyScoreBoss)="compentencyScoreBoss=$event" [dateIso]="dateIso" (compentencyScoreBoss)="compentencyScoreBoss=$event"
(compentencyScore)="compentencyScore=$event" (compentencyScore)="compentencyScore=$event"
(compentencyWeightTotalBoss)="compentencyWeightTotalBoss=$event"
(compentencyWeightTotal)="compentencyWeightTotal=$event"
(compentencyWeightScoreBoss)="compentencyWeightScoreBoss=$event" (compentencyWeightScoreBoss)="compentencyWeightScoreBoss=$event"
(compentencyGapBoss)="compentencyGapBoss=$event" (compentencyGapBoss)="compentencyGapBoss=$event"
(compentencyWeightScore)="compentencyWeightScore=$event" (compentencyGap)="compentencyGap=$event" (compentencyWeightScore)="compentencyWeightScore=$event" (compentencyGap)="compentencyGap=$event"
......
...@@ -54,8 +54,10 @@ export class PmsFormEmployeeComponent { ...@@ -54,8 +54,10 @@ export class PmsFormEmployeeComponent {
compentencyScoreBoss: String[] = [] compentencyScoreBoss: String[] = []
compentencyWeightScoreBoss = "" compentencyWeightScoreBoss = ""
compentencyWeightTotalBoss = ""
compentencyGapBoss = "" compentencyGapBoss = ""
compentencyScore: String[] = [] compentencyScore: String[] = []
compentencyWeightTotal = ""
compentencyWeightScore = "" compentencyWeightScore = ""
compentencyGap = "" compentencyGap = ""
...@@ -565,8 +567,8 @@ export class PmsFormEmployeeComponent { ...@@ -565,8 +567,8 @@ export class PmsFormEmployeeComponent {
return isNaN(num) ? 0 : +(+num.toFixed(2)); return isNaN(num) ? 0 : +(+num.toFixed(2));
} }
calWeightScore(numberCheck: number) { calWeightScore(weightScore: number) {
switch (numberCheck) { switch (weightScore) {
case (1): { case (1): {
return 1 return 1
} }
...@@ -601,11 +603,11 @@ export class PmsFormEmployeeComponent { ...@@ -601,11 +603,11 @@ export class PmsFormEmployeeComponent {
'!competency[].masfromEvaluationAssessment1List[].apsapprove3Date', '!competency[].masfromEvaluationAssessment1List[].apsapprove3Date',
'!competency[].masfromEvaluationAssessment1List[].apsapprove4Date', '!competency[].masfromEvaluationAssessment1List[].apsapprove4Date',
'!competency[].masfromEvaluationAssessment1List[].apsapprove5Date', '!competency[].masfromEvaluationAssessment1List[].apsapprove5Date',
'!competency[].masfromEvaluationAssessment1List[].numberCheck1', '!competency[].masfromEvaluationAssessment1List[].weightScore1',
'!competency[].masfromEvaluationAssessment1List[].numberCheck2', '!competency[].masfromEvaluationAssessment1List[].weightScore2',
'!competency[].masfromEvaluationAssessment1List[].numberCheck3', '!competency[].masfromEvaluationAssessment1List[].weightScore3',
'!competency[].masfromEvaluationAssessment1List[].numberCheck4', '!competency[].masfromEvaluationAssessment1List[].weightScore4',
'!competency[].masfromEvaluationAssessment1List[].numberCheck5', '!competency[].masfromEvaluationAssessment1List[].weightScore5',
'!competency[].masfromEvaluationAssessment1List[].weightedTotal', '!competency[].masfromEvaluationAssessment1List[].weightedTotal',
'!competency[].masfromEvaluationAssessment1List[].averageScore', '!competency[].masfromEvaluationAssessment1List[].averageScore',
'pms', 'pms',
......
...@@ -157,7 +157,7 @@ export class SidebarComponent { ...@@ -157,7 +157,7 @@ export class SidebarComponent {
(this.previousUrl.includes('/ess') && this.currentUrl.includes('/admin')) || (this.previousUrl.includes('/ess') && this.currentUrl.includes('/admin')) ||
(this.previousUrl.includes('/admin') && this.currentUrl.includes('/ess')) (this.previousUrl.includes('/admin') && this.currentUrl.includes('/ess'))
) { ) {
console.log('URL changed between /installer and /admin.'); // console.log('URL changed between /installer and /admin.');
// Implement any logic needed when changing between /installer and /admin // Implement any logic needed when changing between /installer and /admin
} }
......
...@@ -687,11 +687,11 @@ export interface MasfromEvaluationAssessment1 { ...@@ -687,11 +687,11 @@ export interface MasfromEvaluationAssessment1 {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
...@@ -1422,11 +1422,11 @@ export interface masfromEvaluationAssessment1List { ...@@ -1422,11 +1422,11 @@ export interface masfromEvaluationAssessment1List {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
......
...@@ -15,11 +15,11 @@ export interface AppraisalFormModel { ...@@ -15,11 +15,11 @@ export interface AppraisalFormModel {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
...@@ -51,11 +51,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -51,11 +51,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
...@@ -86,11 +86,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -86,11 +86,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel {
this.apsapprove3Status = data?.apsapprove3Status || "" this.apsapprove3Status = data?.apsapprove3Status || ""
this.apsapprove4Status = data?.apsapprove4Status || "" this.apsapprove4Status = data?.apsapprove4Status || ""
this.apsapprove5Status = data?.apsapprove5Status || "" this.apsapprove5Status = data?.apsapprove5Status || ""
this.numberCheck1 = data?.numberCheck1 ?? 0 this.weightScore1 = data?.weightScore1 ?? 0
this.numberCheck2 = data?.numberCheck2 ?? 0 this.weightScore2 = data?.weightScore2 ?? 0
this.numberCheck3 = data?.numberCheck3 ?? 0 this.weightScore3 = data?.weightScore3 ?? 0
this.numberCheck4 = data?.numberCheck4 ?? 0 this.weightScore4 = data?.weightScore4 ?? 0
this.numberCheck5 = data?.numberCheck5 ?? 0 this.weightScore5 = data?.weightScore5 ?? 0
this.weightedTotal = data?.weightedTotal ?? 0 this.weightedTotal = data?.weightedTotal ?? 0
this.averageScore = data?.averageScore ?? 0 this.averageScore = data?.averageScore ?? 0
this.apsassessyComment = data?.apsassessyComment || "" this.apsassessyComment = data?.apsassessyComment || ""
......
...@@ -1046,11 +1046,11 @@ export interface Part4Detail { ...@@ -1046,11 +1046,11 @@ export interface Part4Detail {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
......
...@@ -719,16 +719,20 @@ export interface masfromEvaluationAssessment1List { ...@@ -719,16 +719,20 @@ export interface masfromEvaluationAssessment1List {
competencyType: CompetencyType competencyType: CompetencyType
evaluationResults: string evaluationResults: string
lineNo: number lineNo: number
numberCheck1Boss: number weightScore1Boss: number
numberCheck2Boss: number weightScore2Boss: number
numberCheck3Boss: number weightScore3Boss: number
numberCheck4Boss: number weightScore4Boss: number
numberCheck5Boss: number weightScore5Boss: number
numberCheck1: number weightScore6Boss: number
numberCheck2: number weightScore7Boss: number
numberCheck3: number weightScore1: number
numberCheck4: number weightScore2: number
numberCheck5: number weightScore3: number
weightScore4: number
weightScore5: number
weightScore6: number
weightScore7: number
plId: string plId: string
sumEvaluationResults: string sumEvaluationResults: string
weightedTotalBoss: number weightedTotalBoss: number
...@@ -2543,11 +2547,11 @@ export interface MasfromEvaluationAssessment1 { ...@@ -2543,11 +2547,11 @@ export interface MasfromEvaluationAssessment1 {
lastStep: string lastStep: string
lineNo: number lineNo: number
masfromStatusType: MasfromStatusType2 masfromStatusType: MasfromStatusType2
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
plId: string plId: string
sumEvaluationResults: string sumEvaluationResults: string
weightedTotal: number weightedTotal: number
...@@ -3679,11 +3683,11 @@ export interface Part4Detail { ...@@ -3679,11 +3683,11 @@ export interface Part4Detail {
lastStep: string lastStep: string
lineNo: number lineNo: number
masfromStatusType: MasfromStatusType5 masfromStatusType: MasfromStatusType5
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
plId: string plId: string
sumEvaluationResults: string sumEvaluationResults: string
weightedTotal: number weightedTotal: number
......
...@@ -690,11 +690,11 @@ import { masfromEvaluationAssessment1List } from "./pms-masfrom-evaluation-list. ...@@ -690,11 +690,11 @@ import { masfromEvaluationAssessment1List } from "./pms-masfrom-evaluation-list.
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
...@@ -747,11 +747,11 @@ import { masfromEvaluationAssessment1List } from "./pms-masfrom-evaluation-list. ...@@ -747,11 +747,11 @@ import { masfromEvaluationAssessment1List } from "./pms-masfrom-evaluation-list.
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
......
...@@ -1419,11 +1419,11 @@ export interface MasfromEvaluationAssessment1 { ...@@ -1419,11 +1419,11 @@ export interface MasfromEvaluationAssessment1 {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
numberCheck1: number weightScore1: number
numberCheck2: number weightScore2: number
numberCheck3: number weightScore3: number
numberCheck4: number weightScore4: number
numberCheck5: number weightScore5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsassessyComment: string apsassessyComment: string
......
...@@ -3,6 +3,8 @@ export interface SettingAssessmentModel { ...@@ -3,6 +3,8 @@ export interface SettingAssessmentModel {
companyId: string; companyId: string;
expectationLevel: number; expectationLevel: number;
settingGroupAssessment: string; settingGroupAssessment: string;
settingScore7: number;
settingScore6: number;
settingScore5: number; settingScore5: number;
settingScore4: number; settingScore4: number;
settingScore3: number; settingScore3: number;
...@@ -16,6 +18,8 @@ export class MySettingAssessmentModel implements SettingAssessmentModel { ...@@ -16,6 +18,8 @@ export class MySettingAssessmentModel implements SettingAssessmentModel {
companyId: string; companyId: string;
expectationLevel: number; expectationLevel: number;
settingGroupAssessment: string; settingGroupAssessment: string;
settingScore7: number;
settingScore6: number;
settingScore5: number; settingScore5: number;
settingScore4: number; settingScore4: number;
settingScore3: number; settingScore3: number;
...@@ -27,6 +31,8 @@ export class MySettingAssessmentModel implements SettingAssessmentModel { ...@@ -27,6 +31,8 @@ export class MySettingAssessmentModel implements SettingAssessmentModel {
this.companyId = data?.companyId || ""; this.companyId = data?.companyId || "";
this.expectationLevel = data?.expectationLevel ?? 0; this.expectationLevel = data?.expectationLevel ?? 0;
this.settingGroupAssessment = data?.settingGroupAssessment || ""; this.settingGroupAssessment = data?.settingGroupAssessment || "";
this.settingScore7 = data?.settingScore7 ?? 0;
this.settingScore6 = data?.settingScore6 ?? 0;
this.settingScore5 = data?.settingScore5 ?? 0; this.settingScore5 = data?.settingScore5 ?? 0;
this.settingScore4 = data?.settingScore4 ?? 0; this.settingScore4 = data?.settingScore4 ?? 0;
this.settingScore3 = data?.settingScore3 ?? 0; this.settingScore3 = data?.settingScore3 ?? 0;
......
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