Commit 5405eac3 by Nakarin Luankla

Merge branch 'DEV' of https://mygit.myhr.co.th/angular/myAppraisal into DEV

parents 6421bd76 f89fa9a1
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
</tbody> </tbody>
<tbody *ngIf="!dataLoading&&dataListModalFilter().length"> <tbody *ngIf="!dataLoading&&dataListModalFilter().length">
<tr <tr
*ngFor="let item of dataListModalFilter()| slice:((currentPage-1) * 10) : (((currentPage-1) * 10) + 10);let i = index"> *ngFor="let item of dataListModalFilter()| slice:((currentPageModal-1) * 10) : (((currentPageModal-1) * 10) + 10);let i = index">
<td class="text-center"> <td class="text-center">
{{item.data.competencyIndicatorsCourses0.competencyTopic.competencyTopicId}} {{item.data.competencyIndicatorsCourses0.competencyTopic.competencyTopicId}}
</td> </td>
...@@ -330,27 +330,29 @@ ...@@ -330,27 +330,29 @@
</table> </table>
</div> </div>
</div> </div>
<nav class="pagination-style-3 overflow-auto my-5" *ngIf="page.length"> <nav class="pagination-style-3 overflow-auto my-5" *ngIf="pageModal.length">
<ul class="ti-pagination"> <ul class="ti-pagination">
<li> <li>
<a aria-label="anchor" class="page-link" href="javascript:void(0);" <a aria-label="anchor" class="page-link" href="javascript:void(0);"
(click)="currentPage = (currentPage-1 || 1)"> (click)="currentPageModal = (currentPageModal-1 || 1)">
<i class="ri-arrow-left-s-line align-middle rtl:rotate-180"></i> <i class="ri-arrow-left-s-line align-middle rtl:rotate-180"></i>
</a> </a>
</li> </li>
<li *ngFor="let item of page;let f = first;let l = last"> <li *ngFor="let item of pageModal;let f = first;let l = last">
<ng-container *ngIf="item==3&&currentPage!=1&&currentPage!=2&&currentPage!=3"> <ng-container
*ngIf="item==3&&currentPageModal!=1&&currentPageModal!=2&&currentPageModal!=3">
<a aria-label="anchor" class="page-link" href="javascript:void(0);"><i <a aria-label="anchor" class="page-link" href="javascript:void(0);"><i
class="ri-more-line"></i> class="ri-more-line"></i>
</a> </a>
</ng-container> </ng-container>
<ng-container *ngIf="(f||l)||(item==currentPage-1||item==currentPage||item==currentPage+1)"> <ng-container
<a class="page-link" href="javascript:void(0);" [class.active]="item==currentPage" *ngIf="(f||l)||(item==currentPageModal-1||item==currentPageModal||item==currentPageModal+1)">
(click)="currentPage=item">{{item}} <a class="page-link" href="javascript:void(0);" [class.active]="item==currentPageModal"
(click)="currentPageModal=item">{{item}}
</a> </a>
</ng-container> </ng-container>
<ng-container <ng-container
*ngIf="item==page.length-2&&currentPage!=page.length&&currentPage!=page.length-1&&currentPage!=page.length-2"> *ngIf="item==pageModal.length-2&&currentPageModal!=pageModal.length&&currentPageModal!=pageModal.length-1&&currentPageModal!=pageModal.length-2">
<a aria-label="anchor" class="page-link" href="javascript:void(0);"><i <a aria-label="anchor" class="page-link" href="javascript:void(0);"><i
class="ri-more-line"></i> class="ri-more-line"></i>
</a> </a>
...@@ -358,16 +360,16 @@ ...@@ -358,16 +360,16 @@
</li> </li>
<li> <li>
<a aria-label="anchor" class="page-link" href="javascript:void(0);" <a aria-label="anchor" class="page-link" href="javascript:void(0);"
(click)="currentPage = (currentPage > page.length-1 ? currentPage: currentPage+1 )"> (click)="currentPageModal = (currentPageModal > pageModal.length-1 ? currentPageModal: currentPageModal+1 )">
<i class="ri-arrow-right-s-line align-middle rtl:rotate-180"></i> <i class="ri-arrow-right-s-line align-middle rtl:rotate-180"></i>
</a> </a>
</li> </li>
</ul> </ul>
<ul class="nav-tabs mt-3"> <ul class="nav-tabs mt-3">
<span>Show {{((currentPage-1) * 10)+1}} to {{dataListModalFilter().length<10 <span>Show {{((currentPageModal-1) * 10)+1}} to {{dataListModalFilter().length<10
?dataListModalFilter().length: (currentPage==page.length ? ((currentPage * 10) - ?dataListModalFilter().length: (currentPageModal==pageModal.length ? ((currentPageModal
((currentPage * 10) - dataListModalFilter().length) ) :(currentPage * 10) ) }} of * 10) - ((currentPageModal * 10) - dataListModalFilter().length) ) :(currentPageModal *
{{dataListModalFilter().length}} items</span> 10) ) }} of {{dataListModalFilter().length}} items</span>
</ul> </ul>
</nav> </nav>
</div> </div>
......
...@@ -26,6 +26,7 @@ export class EditGroupCompetenciesComponent { ...@@ -26,6 +26,7 @@ export class EditGroupCompetenciesComponent {
page = Array.from({ length: 1 }, (_, i) => i + 1); page = Array.from({ length: 1 }, (_, i) => i + 1);
searchModal = "" searchModal = ""
currentPageModal = 1 currentPageModal = 1
pageModal = Array.from({ length: 1 }, (_, i) => i + 1);
dataLoading = false dataLoading = false
dataModalLoading = false dataModalLoading = false
...@@ -122,9 +123,9 @@ export class EditGroupCompetenciesComponent { ...@@ -122,9 +123,9 @@ export class EditGroupCompetenciesComponent {
} }
searchModalChange() { searchModalChange() {
this.currentPage = 1; this.currentPageModal = 1;
const filteredData = this.dataListModalFilter(); const filteredData = this.dataListModalFilter();
this.page = Array.from({ length: Math.ceil(filteredData.length / 10) }, (_, i) => i + 1); this.pageModal = Array.from({ length: Math.ceil(filteredData.length / 10) }, (_, i) => i + 1);
} }
dataListModalFilter() { dataListModalFilter() {
......
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
<input type="radio" [name]="'radio'+i+''+i2" class="ti-form-radio cursor-pointer" <input type="radio" [name]="'radio'+i+''+i2" class="ti-form-radio cursor-pointer"
[id]="'radio'+i+''+i2+''+i3" [value]="value" [id]="'radio'+i+''+i2+''+i3" [value]="value"
[(ngModel)]="bi.competencyBehavioral.scoreTopicExpectation" [(ngModel)]="bi.competencyBehavioral.scoreTopicExpectation"
(ngModelChange)="caltargetScore()"> (ngModelChange)="calnumberCheck()">
</td> </td>
</tr> </tr>
</ng-container> </ng-container>
...@@ -363,11 +363,11 @@ ...@@ -363,11 +363,11 @@
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
<div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div> <div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div>
<div class="col-span-3 grid grid-cols-5"> <div class="col-span-3 grid grid-cols-5">
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.targetScore5}}</div> <div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck5}}</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.targetScore4}}</div> <div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck4}}</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.targetScore3}}</div> <div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck3}}</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.targetScore2}}</div> <div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck2}}</div>
<div class="col-span-1 text-center">{{appraisalCompentencyForm.data.targetScore1}}</div> <div class="col-span-1 text-center">{{appraisalCompentencyForm.data.numberCheck1}}</div>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-11"> <div class="py-2 grid grid-cols-11">
...@@ -472,7 +472,8 @@ ...@@ -472,7 +472,8 @@
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label> <label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
</div> </div>
<div class="col-span-2"> <div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"></textarea> <textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[(ngModel)]="appraisalCompentencyForm.data.apsassessyComment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : {{convertDate(currentDate)}} วันที่ : {{convertDate(currentDate)}}
</span> </span>
......
...@@ -107,7 +107,7 @@ export class SelfEvaluationComponent implements OnInit { ...@@ -107,7 +107,7 @@ export class SelfEvaluationComponent implements OnInit {
this.appraisalService.getFormCompentencyById(this.appraisalCompentency.select.masfromEvaluationRoundModel.evaluationRoundId, this.employee.data.employeeId).subscribe({ this.appraisalService.getFormCompentencyById(this.appraisalCompentency.select.masfromEvaluationRoundModel.evaluationRoundId, this.employee.data.employeeId).subscribe({
next: response => { next: response => {
this.appraisalCompentencyForm.data = new MyAppraisalFormModel(response) this.appraisalCompentencyForm.data = new MyAppraisalFormModel(response)
this.caltargetScore() this.calnumberCheck()
this.appraisalCompentencyForm.loading = false this.appraisalCompentencyForm.loading = false
this.cdr.detectChanges() this.cdr.detectChanges()
}, error: error => { }, error: error => {
...@@ -290,32 +290,32 @@ export class SelfEvaluationComponent implements OnInit { ...@@ -290,32 +290,32 @@ export class SelfEvaluationComponent implements OnInit {
return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'long', year: 'numeric' }); return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'long', year: 'numeric' });
} }
caltargetScore() { calnumberCheck() {
this.appraisalCompentencyForm.data.targetScore1 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 1).length).reduce((acc, num) => acc + num, 0) this.appraisalCompentencyForm.data.numberCheck1 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 1).length).reduce((acc, num) => acc + num, 0)
this.appraisalCompentencyForm.data.targetScore2 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 2).length).reduce((acc, num) => acc + num, 0) this.appraisalCompentencyForm.data.numberCheck2 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 2).length).reduce((acc, num) => acc + num, 0)
this.appraisalCompentencyForm.data.targetScore3 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 3).length).reduce((acc, num) => acc + num, 0) this.appraisalCompentencyForm.data.numberCheck3 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 3).length).reduce((acc, num) => acc + num, 0)
this.appraisalCompentencyForm.data.targetScore4 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 4).length).reduce((acc, num) => acc + num, 0) this.appraisalCompentencyForm.data.numberCheck4 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 4).length).reduce((acc, num) => acc + num, 0)
this.appraisalCompentencyForm.data.targetScore5 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 5).length).reduce((acc, num) => acc + num, 0) this.appraisalCompentencyForm.data.numberCheck5 = this.appraisalCompentencyForm.data.masfromEvaluationAssessment1lList.map(x => x.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList.filter(y => y.competencyBehavioral.scoreTopicExpectation == 5).length).reduce((acc, num) => acc + num, 0)
this.calWeightTotal() this.calWeightTotal()
this.cdr.detectChanges() this.cdr.detectChanges()
} }
calWeightScore(targetScore: number) { calWeightScore(numberCheck: number) {
switch (targetScore) { switch (numberCheck) {
case (1): { case (1): {
return +(this.setting.data.settingScore1) * this.appraisalCompentencyForm.data.targetScore1 return +(this.setting.data.settingScore1) * this.appraisalCompentencyForm.data.numberCheck1
} }
case (2): { case (2): {
return +(this.setting.data.settingScore2) * this.appraisalCompentencyForm.data.targetScore2 return +(this.setting.data.settingScore2) * this.appraisalCompentencyForm.data.numberCheck2
} }
case (3): { case (3): {
return +(this.setting.data.settingScore3) * this.appraisalCompentencyForm.data.targetScore3 return +(this.setting.data.settingScore3) * this.appraisalCompentencyForm.data.numberCheck3
} }
case (4): { case (4): {
return +(this.setting.data.settingScore4) * this.appraisalCompentencyForm.data.targetScore4 return +(this.setting.data.settingScore4) * this.appraisalCompentencyForm.data.numberCheck4
} }
case (5): { case (5): {
return +(this.setting.data.settingScore5) * this.appraisalCompentencyForm.data.targetScore5 return +(this.setting.data.settingScore5) * this.appraisalCompentencyForm.data.numberCheck5
} }
default: { return } default: { return }
} }
...@@ -343,12 +343,12 @@ export class SelfEvaluationComponent implements OnInit { ...@@ -343,12 +343,12 @@ export class SelfEvaluationComponent implements OnInit {
calGap(score: number | string) { calGap(score: number | string) {
const roundedScore = this.showNumber(score) % 1 <= 0.5 ? Math.floor(this.showNumber(score)) : Math.round(this.showNumber(score)); 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 (this.appraisalCompentencyForm.data.targetScore1 || this.appraisalCompentencyForm.data.targetScore2 || this.appraisalCompentencyForm.data.targetScore3) { if (this.appraisalCompentencyForm.data.numberCheck1 || this.appraisalCompentencyForm.data.numberCheck2 || this.appraisalCompentencyForm.data.numberCheck3) {
return "-1"; return "-1";
} }
return "+1"; return "+1";
} else if (roundedScore >= 80 && roundedScore <= 89) { } else if (roundedScore >= 80 && roundedScore <= 89) {
if (this.appraisalCompentencyForm.data.targetScore1 || this.appraisalCompentencyForm.data.targetScore2 || this.appraisalCompentencyForm.data.targetScore3) { if (this.appraisalCompentencyForm.data.numberCheck1 || this.appraisalCompentencyForm.data.numberCheck2 || this.appraisalCompentencyForm.data.numberCheck3) {
return "-1"; return "-1";
} }
return "0"; return "0";
......
...@@ -9,6 +9,7 @@ export interface AppraisalFormModel { ...@@ -9,6 +9,7 @@ export interface AppraisalFormModel {
companyId: string companyId: string
fromDetail: string fromDetail: string
apsassessy: EmployeeModel apsassessy: EmployeeModel
apsassessyComment: string
apsapprove1: EmployeeModel apsapprove1: EmployeeModel
apsapprove2: EmployeeModel apsapprove2: EmployeeModel
apsapprove3: EmployeeModel apsapprove3: EmployeeModel
...@@ -20,11 +21,11 @@ export interface AppraisalFormModel { ...@@ -20,11 +21,11 @@ export interface AppraisalFormModel {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
targetScore1: number numberCheck1: number
targetScore2: number numberCheck2: number
targetScore3: number numberCheck3: number
targetScore4: number numberCheck4: number
targetScore5: number numberCheck5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsapprove1Comment: string apsapprove1Comment: string
...@@ -42,6 +43,7 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -42,6 +43,7 @@ export class MyAppraisalFormModel implements AppraisalFormModel {
companyId: string companyId: string
fromDetail: string fromDetail: string
apsassessy: EmployeeModel apsassessy: EmployeeModel
apsassessyComment: string
apsapprove1: EmployeeModel apsapprove1: EmployeeModel
apsapprove2: EmployeeModel apsapprove2: EmployeeModel
apsapprove3: EmployeeModel apsapprove3: EmployeeModel
...@@ -53,11 +55,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -53,11 +55,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
targetScore1: number numberCheck1: number
targetScore2: number numberCheck2: number
targetScore3: number numberCheck3: number
targetScore4: number numberCheck4: number
targetScore5: number numberCheck5: number
weightedTotal: number weightedTotal: number
averageScore: number averageScore: number
apsapprove1Comment: string apsapprove1Comment: string
...@@ -73,6 +75,7 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -73,6 +75,7 @@ export class MyAppraisalFormModel implements AppraisalFormModel {
this.masfromEvaluationRoundModel = new MyEvaluationCycleModel(data?.masfromEvaluationRoundModel) this.masfromEvaluationRoundModel = new MyEvaluationCycleModel(data?.masfromEvaluationRoundModel)
this.companyId = data?.companyId || "" this.companyId = data?.companyId || ""
this.fromDetail = data?.fromDetail || "" this.fromDetail = data?.fromDetail || ""
this.apsassessyComment = data?.apsassessyComment || ""
this.apsassessy = new MyEmployeeModel(data?.apsassessy) this.apsassessy = new MyEmployeeModel(data?.apsassessy)
this.apsapprove1 = new MyEmployeeModel(data?.apsapprove1) this.apsapprove1 = new MyEmployeeModel(data?.apsapprove1)
this.apsapprove2 = new MyEmployeeModel(data?.apsapprove2) this.apsapprove2 = new MyEmployeeModel(data?.apsapprove2)
...@@ -85,11 +88,11 @@ export class MyAppraisalFormModel implements AppraisalFormModel { ...@@ -85,11 +88,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.targetScore1 = data?.targetScore1 ?? 0 this.numberCheck1 = data?.numberCheck1 ?? 0
this.targetScore2 = data?.targetScore2 ?? 0 this.numberCheck2 = data?.numberCheck2 ?? 0
this.targetScore3 = data?.targetScore3 ?? 0 this.numberCheck3 = data?.numberCheck3 ?? 0
this.targetScore4 = data?.targetScore4 ?? 0 this.numberCheck4 = data?.numberCheck4 ?? 0
this.targetScore5 = data?.targetScore5 ?? 0 this.numberCheck5 = data?.numberCheck5 ?? 0
this.weightedTotal = data?.weightedTotal ?? 0 this.weightedTotal = data?.weightedTotal ?? 0
this.averageScore = data?.averageScore ?? 0 this.averageScore = data?.averageScore ?? 0
this.apsapprove1Comment = data?.apsapprove1Comment || "" this.apsapprove1Comment = data?.apsapprove1Comment || ""
......
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