Commit 0f370421 by Nattana Chaiyamat

ปุ่มไม่อนุมัติหน้าประเมิน

parent ddf38e69
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center"> <div class="pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center">
<div class="flex"> <div class="flex">
<button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500" <button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"
(click)="returnPage()"> (click)="returnPath()">
<i class="ti ti-chevron-left"></i> <i class="ti ti-chevron-left"></i>
ย้อนกลับ ย้อนกลับ
</button> </button>
...@@ -19,35 +19,71 @@ ...@@ -19,35 +19,71 @@
</div> </div>
</div> </div>
</div> </div>
<ng-container *ngIf="appraisalPms.data">
<div class="pb-2rem px-2rem"> <div class="pb-2rem px-2rem">
<div class="font-size-18px font-weight-700 text-primary"> <div class="font-size-18px font-weight-700 text-primary">
JOB PERFORMANCE EVALUATION FORM JOB PERFORMANCE EVALUATION FORM
</div> </div>
</div> </div>
<div class="pb-1rem px-2rem"> <div class="pb-1rem px-2rem">
<div class="py-2 grid grid-cols-8 gap-3"> <div class="py-2 grid grid-cols-10">
<div class="col-span-1 text-gray-400">ชื่อผู้รับการประเมิน(Employee)</div> <div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400">น.ส. กมลชนก ภูผาลินิน</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
<div class="col-span-1 text-gray-400">รหัส (ID)</div> ชื่อผู้รับการประเมิน(Employee)</div>
<div class="col-span-1 text-gray-400">18794</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">ชื่อผู้การประเมิน(Evaluator)
<div class="col-span-1 text-gray-400">ตำแหน่ง (Position)</div> </div>
<div class="col-span-1 text-gray-400">HRD Training Officer</div> </div>
<div class="col-span-1 text-gray-400">แผนก (Section)</div> <div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400">ฝ่าย (Department)</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
</div> {{appraisalPms.data.apsassessy.prefix.tdesc}}
<div class="py-2 grid grid-cols-8 gap-3"> {{appraisalPms.data.apsassessy.thFullName}}</div>
<div class="col-span-1 text-gray-400">ชื่อผู้รับการประเมิน(Employee)</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
<div class="col-span-1 text-gray-400">น.ส. พิมพร อูรณการ</div> {{appraisalPms.data.apsapprove1.prefix.tdesc}}
<div class="col-span-1 text-gray-400">รหัส (ID)</div> {{appraisalPms.data.apsapprove1.thFullName}}</div>
<div class="col-span-1 text-gray-400">17724</div> </div>
<div class="col-span-1 text-gray-400">Human Resource Development Officer S3</div> <div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400">HRD Training Officer</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">รหัส (ID)</div>
<div class="col-span-1 text-gray-400">แผนก (Section)</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">รหัส (ID)</div>
<div class="col-span-1 text-gray-400">ฝ่าย (Department)</div> </div>
</div> <div class="py-2 grid grid-cols-1 col-span-1">
</div> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsassessy.employeeId}}</div>
<ng-container *ngTemplateOutlet="part1"></ng-container> <div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsapprove1.employeeId}}</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">ตำแหน่ง (Position)</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">ตำแหน่ง (Position)</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsassessy.position.tdesc}}</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsapprove1.position.tdesc}}</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">แผนก (Section)</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">แผนก (Section)</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsassessy.bu2.tdesc}}</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsapprove1.bu2.tdesc}}</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">ฝ่าย (Department)</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">ฝ่าย (Department)</div>
</div>
<div class="py-2 grid grid-cols-1 col-span-1">
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsassessy.bu1.tdesc}}</div>
<div class="col-span-1 text-gray-400 border" style="padding-top:5px;min-height: 60px;">
{{appraisalPms.data.apsapprove1.bu1.tdesc}}</div>
</div>
</div>
</div>
<ng-container *ngIf="appraisalPms.data.part1Detail else part1"></ng-container>
<ng-container *ngTemplateOutlet="part2"></ng-container> <ng-container *ngTemplateOutlet="part2"></ng-container>
<ng-container *ngTemplateOutlet="part3"></ng-container> <ng-container *ngTemplateOutlet="part3"></ng-container>
<ng-container *ngTemplateOutlet="part4"></ng-container> <ng-container *ngTemplateOutlet="part4"></ng-container>
...@@ -56,7 +92,6 @@ ...@@ -56,7 +92,6 @@
<ng-container *ngTemplateOutlet="part7"></ng-container> <ng-container *ngTemplateOutlet="part7"></ng-container>
<ng-container *ngTemplateOutlet="part8"></ng-container> <ng-container *ngTemplateOutlet="part8"></ng-container>
<ng-container *ngTemplateOutlet="part9"></ng-container> <ng-container *ngTemplateOutlet="part9"></ng-container>
<div class="pb-1rem px-2rem"> <div class="pb-1rem px-2rem">
<div class="py-2 grid grid-cols-7 gap-3"> <div class="py-2 grid grid-cols-7 gap-3">
<div class="col-span-1">ผู้ประเมิน1</div> <div class="col-span-1">ผู้ประเมิน1</div>
...@@ -110,6 +145,7 @@ ...@@ -110,6 +145,7 @@
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
</ng-container>
</ng-template> </ng-template>
......
import { Component, EventEmitter, Output } from '@angular/core'; import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
import { AppraisalPmsFormModel } from 'src/app/shared/model/appraisal-pms-form.model';
import { AppraisalService } from 'src/app/shared/services/appraisal.service';
import { EmployeeService } from 'src/app/shared/services/employee.service';
import { SettingAssessmentService } from 'src/app/shared/services/setting-assessment.service';
export interface DataModel { export interface DataModel {
hoshin: string hoshin: string
performance: string performance: string
...@@ -72,8 +76,7 @@ export interface DataModel7 { ...@@ -72,8 +76,7 @@ export interface DataModel7 {
styleUrls: ['./pms-evalution.component.scss'] styleUrls: ['./pms-evalution.component.scss']
}) })
export class PmsEvalutionComponent { export class PmsEvalutionComponent {
@Output() sendPageEvalution: EventEmitter<string> = new EventEmitter<string>();
pathTitle = ['การประเมินผล', 'ประเมินผล']
part1show = true part1show = true
dataList: DataModel[] = [{ dataList: DataModel[] = [{
hoshin: "C1 CUSTOMER ORIENTED (SQCDME)", hoshin: "C1 CUSTOMER ORIENTED (SQCDME)",
...@@ -342,7 +345,40 @@ export class PmsEvalutionComponent { ...@@ -342,7 +345,40 @@ export class PmsEvalutionComponent {
data8ListFilter() { data8ListFilter() {
return this.data8List return this.data8List
} }
returnPage() {
this.sendPageEvalution.emit("")
@Input() pathTitle: string[] = []
@Input() evaluationRoundId = ""
@Input() evaluateeId = ""
@Input() evaluaterId = ""
@Input() competencyTypeId = ""
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
appraisalPms: { loading: boolean, data?: AppraisalPmsFormModel } = { loading: false, data: undefined }
constructor(private appraisalService: AppraisalService,
private employeeService: EmployeeService,
private cdr: ChangeDetectorRef,
private settingAssessmentService: SettingAssessmentService
) {
}
ngOnInit(): void {
this.getAppraisalPmsForm()
}
getAppraisalPmsForm() {
this.appraisalPms.loading = true
this.appraisalService.getFormPmsById('testlvl3', '10000003').subscribe({
next: response => {
console.log(" 🐒 response:", response)
this.appraisalPms.data = JSON.parse(JSON.stringify(response))
this.appraisalPms.loading = false
this.cdr.detectChanges()
}, error: error => {
this.appraisalPms.loading = false
this.cdr.detectChanges()
}
})
}
returnPath() {
this.sendReturnPath.emit()
} }
} }
\ No newline at end of file
...@@ -131,13 +131,13 @@ ...@@ -131,13 +131,13 @@
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<!-- <div class="flex justify-center"> <div class="flex justify-center">
<button type="button" class="ti-btn rounded-sm ti-btn-soft-mute" <!-- <button type="button" class="ti-btn rounded-sm ti-btn-soft-mute"
style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;margin-left:4px;" style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;margin-left:4px;"
(click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId);pageEvalution='pms'"> (click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId);pageEvalution='pms'">
PMS PMS
</button> </button> -->
</div> --> </div>
</td> </td>
<td class="text-center" style="font-size: 12px;">{{item.sumScore}}</td> <td class="text-center" style="font-size: 12px;">{{item.sumScore}}</td>
<td class="text-center" style="font-size: 12px;">{{item.gread}}</td> <td class="text-center" style="font-size: 12px;">{{item.gread}}</td>
......
...@@ -6,6 +6,7 @@ import { AlertModel } from '../model/alert.model'; ...@@ -6,6 +6,7 @@ import { AlertModel } from '../model/alert.model';
import { AppraisalFormModel } from '../model/appraisal-form.model'; import { AppraisalFormModel } from '../model/appraisal-form.model';
import { AppraisalCompentencyModel, AppraisalCompentencyModel2 } from '../model/appraisal-competency.model'; import { AppraisalCompentencyModel, AppraisalCompentencyModel2 } from '../model/appraisal-competency.model';
import { AppraisalSubordinateModel } from '../model/appraisal-subordinate.model'; import { AppraisalSubordinateModel } from '../model/appraisal-subordinate.model';
import { AppraisalPmsFormModel } from '../model/appraisal-pms-form.model';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
...@@ -27,7 +28,7 @@ export class AppraisalService { ...@@ -27,7 +28,7 @@ export class AppraisalService {
return this.http.get<AppraisalSubordinateModel[]>(this.urlApi + "/boss/emp") return this.http.get<AppraisalSubordinateModel[]>(this.urlApi + "/boss/emp")
} }
getFormPmsById(evaluationRoundId: string, apsassessy: string): Observable<AppraisalCompentencyModel2> { getFormPmsById(evaluationRoundId: string, apsassessy: string): Observable<AppraisalPmsFormModel> {
return this.http.get<AppraisalCompentencyModel2>(this.urlApi + "/pms/" + evaluationRoundId + "/" + apsassessy) return this.http.get<AppraisalPmsFormModel>(this.urlApi + "/pms/" + evaluationRoundId + "/" + apsassessy)
} }
} }
\ 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