Commit caf318d4 by Nattana Chaiyamat

ประเมินตนเอง

parent 2f8519d6
.no-interaction {
pointer-events: none;
cursor: not-allowed;
}
\ No newline at end of file
}
\ No newline at end of file
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
import { Router } from '@angular/router';
import { TypeList } from 'src/app/shared/model/appraisal-subordinate.model';
import { CompetencyModel } from 'src/app/shared/model/competency.model';
import { EmployeeModel, MyEmployeeModel } from 'src/app/shared/model/employee.model';
import { AppraisalService } from 'src/app/shared/services/appraisal.service';
import { EmployeeService } from 'src/app/shared/services/employee.service';
@Component({
......@@ -11,8 +13,6 @@ import { EmployeeService } from 'src/app/shared/services/employee.service';
})
export class PmsFormEmployeeComponent {
@Input() currentTap = ""
@Input() evaluationRoundId = ""
@Input() allCompetencyTypeId: TypeList[] = []
@Input() evaluateeId = ""
@Input() evaluaterId = ""
@Input() evaluationForm: 'self' | 'sup' = "self"
......@@ -38,15 +38,43 @@ export class PmsFormEmployeeComponent {
{ id: '5', itemName: 'Bootstrap' },
];
compentency: { loading: boolean, data?: CompetencyModel, dataList: CompetencyModel[] } = { loading: false, data: undefined, dataList: [] }
compentencyFormCompleted = false
currentDate = new Date()
constructor(
private router: Router,
private employeeService: EmployeeService,
private appraisalService: AppraisalService,
private cdr: ChangeDetectorRef
) { }
ngOnInit() {
this.getEvaluatee()
this.getCompentencyAll()
}
getCompentencyAll() {
this.compentency.loading = true
const bossId = this.evaluaterId != this.evaluateeId ? this.evaluaterId : undefined
this.appraisalService.getCompentencyAll(this.evaluateeId, bossId).subscribe({
next: response => {
this.compentency.dataList = response
if (this.compentency.dataList.length) {
this.selectDataList(this.compentency.dataList[0])
}
this.compentency.loading = false
this.cdr.detectChanges()
}, error: error => {
this.compentency.loading = false
this.cdr.detectChanges()
}
})
}
selectDataList(data: CompetencyModel) {
this.compentency.data = data
}
getEvaluatee() {
......@@ -65,16 +93,14 @@ export class PmsFormEmployeeComponent {
currentTapChange() {
if (this.allCompetencyTypeId.length) {
this.currentTap = this.allCompetencyTypeId[0].shortName || ''
if (this.compentency.data?.competency.length) {
this.currentTap = this.compentency.data?.competency[0].comType || ''
}
}
onSelectFile1(event: any) {
if (event.target && event.target.files && event.target.files[0]) {
const reader = new FileReader();
reader.readAsDataURL(event.target.files[0]); // read file as data URL
reader.onload = (event: any) => {
// called once readAsDataURL is completed
this.url1 = event.target.result;
......@@ -85,9 +111,7 @@ export class PmsFormEmployeeComponent {
onSelectFile2(event: any) {
if (event.target && event.target.files && event.target.files[0]) {
const reader = new FileReader();
reader.readAsDataURL(event.target.files[0]); // read file as data URL
reader.onload = (event: any) => {
// called once readAsDataURL is completed
this.url2 = event.target.result;
......
......@@ -8,10 +8,8 @@
</div> -->
</ng-container>
<ng-template #newSelfEvaluation>
<ng-container *ngIf="appraisalCompentency.select&&allCompetencyTypeId.length">
<app-pms-form-employee [evaluationForm]="'self'"
[evaluationRoundId]="appraisalCompentency.select.masfromEvaluationRound.evaluationRoundId"
[evaluaterId]="evaluatee.data.employeeId" [allCompetencyTypeId]="allCompetencyTypeId"
<ng-container *ngIf="appraisalCompentency.select&&allCompetencyTypeId.length&&evaluatee.data.employeeId">
<app-pms-form-employee [evaluationForm]="'self'" [evaluaterId]="evaluatee.data.employeeId"
[evaluateeId]="evaluatee.data.employeeId"></app-pms-form-employee>
</ng-container>
</ng-template>
......
......@@ -251,9 +251,7 @@
[evaluateeId]="formEvaluation.evaluateeId"></app-idp-evalution> -->
<app-pms-form-employee [evaluationForm]="'sup'" [currentTap]="'idp'"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId"
[allCompetencyTypeId]="formEvaluation.allCompetencyTypeId"
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
[evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
</ng-container>
<ng-container *ngIf="pageEvalution=='pms'">
<!-- <app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
......@@ -262,8 +260,7 @@
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-evalution> -->
<app-pms-form-employee [evaluationForm]="'sup'" [currentTap]="'pms'"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId"
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
[evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
</ng-container>
<ng-container *ngIf="pageEvalution!='idp'&&pageEvalution!='pms'&&pageEvalution!=''">
<!-- <app-evaluation [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
......@@ -273,7 +270,5 @@
[competencyTypeId]="formEvaluation.competencyTypeId"></app-evaluation> -->
<app-pms-form-employee [evaluationForm]="'sup'" [currentTap]="pageEvalution"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId"
[allCompetencyTypeId]="formEvaluation.allCompetencyTypeId"
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
[evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-pms-form-employee>
</ng-container>
\ No newline at end of file
......@@ -743,6 +743,7 @@ export interface AppraisalCompentencyModel2 {
lastStep: string
checkStep: string
masfromStatusType: MasfromStatusType
comType: string
}
export interface MasfromStatusType {
code: string
......
......@@ -7,6 +7,7 @@ import { AppraisalCompentencyModel, AppraisalCompentencyModel2 } from '../model/
import { AppraisalSubordinateModel } from '../model/appraisal-subordinate.model';
import { AppraisalPmsFormModel } from '../model/appraisal-pms-form.model';
import { AppraisalPmsModel } from '../model/appraisal-pms.model';
import { CompetencyModel } from '../model/competency.model';
@Injectable({
providedIn: 'root'
})
......@@ -15,6 +16,9 @@ export class AppraisalService {
urlApi = environment.baseUrl + this.api
constructor(private http: HttpClient) {
}
getCompentencyAll(apsassessy: string, bossId?: string): Observable<CompetencyModel[]> {
return this.http.get<CompetencyModel[]>(this.urlApi + "/competencyAll/emp?apsassessy=" + apsassessy + (bossId ? "&bossId=" + bossId : ''))
}
getFormCompentencyById(evaluationRoundId: string, apsassessy: string, typeId: string): Observable<AppraisalCompentencyModel2> {
return this.http.get<AppraisalCompentencyModel2>(this.urlApi + "/competency/" + evaluationRoundId + "/" + apsassessy + "/" + typeId)
}
......
......@@ -5925,6 +5925,10 @@ select option:focus {
.fill-success {
fill: rgb(var(--color-success));
}
.fill-mute {
fill: #cccccc;
}
.fill-transparent {
fill: transparent;
}
......@@ -25034,6 +25038,13 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
border-color: red !important;
}
.\!bg-white{
.\!bg-white {
background-color: white;
}
.ellipsis-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%
}
\ 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