Commit 5beee0d8 by Nattana Chaiyamat

idp pms

parent 5800b432
...@@ -320,8 +320,8 @@ ...@@ -320,8 +320,8 @@
</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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='1'||!canEdit" [class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='1'||!canSave"
[readonly]="!formIdp.data||formIdp.data.currentStep!='1'||!canEdit" [readonly]="!formIdp.data||formIdp.data.currentStep!='1'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove1Comment"></textarea> [(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove1Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
...@@ -343,8 +343,8 @@ ...@@ -343,8 +343,8 @@
</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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='2'||!canEdit" [class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='2'||!canSave"
[readonly]="!formIdp.data||formIdp.data.currentStep!='2'||!canEdit" [readonly]="!formIdp.data||formIdp.data.currentStep!='2'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove2Comment"></textarea> [(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove2Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
...@@ -366,8 +366,8 @@ ...@@ -366,8 +366,8 @@
</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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='3'||!canEdit" [class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='3'||!canSave"
[readonly]="!formIdp.data||formIdp.data.currentStep!='3'||!canEdit" [readonly]="!formIdp.data||formIdp.data.currentStep!='3'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove3Comment"></textarea> [(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove3Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
...@@ -389,8 +389,8 @@ ...@@ -389,8 +389,8 @@
</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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='4'||!canEdit" [class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='4'||!canSave"
[readonly]="!formIdp.data||formIdp.data.currentStep!='4'||!canEdit" [readonly]="!formIdp.data||formIdp.data.currentStep!='4'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove4Comment"></textarea> [(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove4Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
...@@ -412,8 +412,8 @@ ...@@ -412,8 +412,8 @@
</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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='5'||!canEdit" [class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='5'||!canSave"
[readonly]="!formIdp.data||formIdp.data.currentStep!='5'||!canEdit" [readonly]="!formIdp.data||formIdp.data.currentStep!='5'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove5Comment"></textarea> [(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove5Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
...@@ -423,7 +423,7 @@ ...@@ -423,7 +423,7 @@
</div> </div>
</div> </div>
<div class="flex justify-center mb-1rem pb-2rem" *ngIf="canEdit"> <div class="flex justify-center mb-1rem pb-2rem" *ngIf="canSave">
<button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save('draft')"> <button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save('draft')">
บันทึกร่าง บันทึกร่าง
</button> </button>
......
...@@ -13,11 +13,13 @@ export class IdpEvalutionComponent { ...@@ -13,11 +13,13 @@ export class IdpEvalutionComponent {
@Input() evaluationRoundId = "" @Input() evaluationRoundId = ""
@Input() evaluateeId = "" @Input() evaluateeId = ""
@Input() evaluaterId = "" @Input() evaluaterId = ""
@Input() masfromStatusType = ""
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>(); @Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
currentDate = new Date() currentDate = new Date()
hoveredCode: string | null = null; hoveredCode: string | null = null;
formIdp: { loading: boolean, data?: IdpFormModel } = { loading: false, data: undefined } formIdp: { loading: boolean, data?: IdpFormModel } = { loading: false, data: undefined }
canEdit = false canEdit = false
canSave = false
constructor(private evaluationIdpService: EvaluationIdpService, constructor(private evaluationIdpService: EvaluationIdpService,
private employeeService: EmployeeService, private employeeService: EmployeeService,
private cdr: ChangeDetectorRef private cdr: ChangeDetectorRef
...@@ -32,7 +34,8 @@ export class IdpEvalutionComponent { ...@@ -32,7 +34,8 @@ export class IdpEvalutionComponent {
next: response => { next: response => {
this.formIdp.data = JSON.parse(JSON.stringify(response)) this.formIdp.data = JSON.parse(JSON.stringify(response))
if (this.formIdp.data) { if (this.formIdp.data) {
this.canEdit = this.formIdp.data.currentStep == this.formIdp.data.checkStep this.canSave = (this.formIdp.data.currentStep == this.formIdp.data.checkStep) && (this.masfromStatusType != 'Boss_finish' && this.masfromStatusType != 'Not_evaluating_yet')
this.canEdit = (this.formIdp.data.currentStep == this.formIdp.data.checkStep && (+(this.formIdp.data.checkStep) <= 1))
} }
switch (this.formIdp.data?.currentStep) { switch (this.formIdp.data?.currentStep) {
case ("0"): { case ("0"): {
......
...@@ -128,162 +128,163 @@ ...@@ -128,162 +128,163 @@
<!-- <div class="py-1rem px-2rem"> <div class="py-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">ผู้รับการประเมิน</div> <div class="col-span-1">ผู้รับการประเมิน</div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsassessy.thFullName}}</div> {{appraisalPms.data.apsassessy.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none " checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none "
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsassessyStatus=='2'"> [checked]="appraisalPms.data.apsassessyStatus=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='0'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='0'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='0'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='0'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsassessyComment"></textarea> [(ngModel)]="appraisalPms.data.apsassessyComment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsassessyDate)}} {{convertDate(appraisalPms.data.apsassessyDate)}}
</span> </span>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentency.data.apsapprove1.employeeId"> <div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalPms.data.apsapprove1.employeeId">
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}} {{appraisalPms.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}}
</div> </div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove1.thFullName}}</div> {{appraisalPms.data.apsapprove1.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none" checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove1Status=='2'"> [checked]="appraisalPms.data.apsapprove1Status=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='1'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='1'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='1'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='1'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove1Comment"></textarea> [(ngModel)]="appraisalPms.data.apsapprove1Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove1Date)}} {{convertDate(appraisalPms.data.apsapprove1Date)}}
</span> </span>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentency.data.apsapprove2.employeeId"> <div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalPms.data.apsapprove2.employeeId">
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}} {{appraisalPms.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}}
</div> </div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove2.thFullName}}</div> {{appraisalPms.data.apsapprove2.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none" checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove2Status=='2'"> [checked]="appraisalPms.data.apsapprove2Status=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='2'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='2'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='2'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='2'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove2Comment"></textarea> [(ngModel)]="appraisalPms.data.apsapprove2Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove2Date)}} {{convertDate(appraisalPms.data.apsapprove2Date)}}
</span> </span>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentency.data.apsapprove3.employeeId"> <div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalPms.data.apsapprove3.employeeId">
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}} {{appraisalPms.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}}
</div> </div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove3.thFullName}}</div> {{appraisalPms.data.apsapprove3.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none" checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove3Status=='2'"> [checked]="appraisalPms.data.apsapprove3Status=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='3'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='3'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='3'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='3'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove3Comment"></textarea> [(ngModel)]="appraisalPms.data.apsapprove3Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove3Date)}} {{convertDate(appraisalPms.data.apsapprove3Date)}}
</span> </span>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentency.data.apsapprove4.employeeId"> <div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalPms.data.apsapprove4.employeeId">
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}} {{appraisalPms.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}}
</div> </div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove4.thFullName}}</div> {{appraisalPms.data.apsapprove4.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none" checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove4Status=='2'"> [checked]="appraisalPms.data.apsapprove4Status=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='4'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='4'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='4'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='4'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove4Comment"></textarea> [(ngModel)]="appraisalPms.data.apsapprove4Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove4Date)}} {{convertDate(appraisalPms.data.apsapprove4Date)}}
</span> </span>
</div> </div>
</div> </div>
<div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalCompentency.data.apsapprove5.employeeId"> <div class="py-2 grid grid-cols-7 gap-3" *ngIf="appraisalPms.data.apsapprove5.employeeId">
<div class="col-span-1"> <div class="col-span-1">
ผู้อนุมัติ ผู้อนุมัติ
</div> </div>
<div class="col-span-1"> <div class="col-span-1">
{{appraisalCompentency.data.apsapprove5.thFullName}}</div> {{appraisalPms.data.apsapprove5.thFullName}}</div>
<div class="col-span-1"> <div class="col-span-1">
<input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600 <input type="checkbox" id="hs-basic-usage1" class="ti-switch checked:bg-none checked:bg-green-600
checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none" checked:before:bg-green-200 dark:checked:before:bg-green-200 pointer-events-none"
[checked]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Status=='2'"> [checked]="appraisalPms.data.apsapprove5Status=='2'">
<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 type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='5'||!canSave" [class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='5'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='5'||!canSave" [readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='5'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Comment"></textarea> [(ngModel)]="appraisalPms.data.apsapprove5Comment"></textarea>
<span class="pt-2"> <span class="pt-2">
วันที่ : วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Date)}} {{convertDate(appraisalPms.data.apsapprove5Date)}}
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div class="flex justify-center mb-1rem pb-2rem" *ngIf="canSave"> <div class="flex justify-center mb-1rem pb-2rem" *ngIf="canSave">
<button *ngIf="appraisalCompentency.data.checkStep!='0'&&appraisalCompentency.data.checkStep!='1'" <button *ngIf="appraisalPms.data.checkStep!='0'&&appraisalPms.data.checkStep!='1'" type="submit"
type="submit" class="ti-btn ti-btn-danger mx-2rem" (click)="save('noApprove')"> class="ti-btn ti-btn-danger mx-2rem" (click)="save('noApprove')">
ไม่อนุมัติ ไม่อนุมัติ
</button> </button>
<button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save('draft')"> <button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save('draft')">
บันทึกร่าง บันทึกร่าง
</button> </button>
<button type="submit" class="ti-btn ti-btn-secondary mx-2rem" (click)="save('approve')"> <button type="submit" class="ti-btn ti-btn-secondary mx-2rem" (click)="save('approve')">
<ng-container *ngIf="appraisalCompentency.data.checkStep=='0'"> <ng-container *ngIf="appraisalPms.data.checkStep=='0'">
ยืนยันข้อมูล ยืนยันข้อมูล
</ng-container> </ng-container>
<ng-container *ngIf="appraisalCompentency.data.checkStep!='0'"> <ng-container *ngIf="appraisalPms.data.checkStep!='0'">
อนุมัติ อนุมัติ
</ng-container> </ng-container>
</button> </button>
</div> --> </div>
</ng-container> </ng-container>
</ng-template> </ng-template>
...@@ -371,32 +372,37 @@ ...@@ -371,32 +372,37 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part1radioA'+i" (click)="setScore(item,5)" [name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}} {{item.groupAssessment1.pmsTopic.targetAdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part1radioB'+i" (click)="setScore(item,4)" [name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}} {{item.groupAssessment1.pmsTopic.targetBdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part1radioC'+i" (click)="setScore(item,3)" [name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}} {{item.groupAssessment1.pmsTopic.targetCdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part1radioD'+i" (click)="setScore(item,2)" [name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}} {{item.groupAssessment1.pmsTopic.targetDdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part1radioE'+i" (click)="setScore(item,1)" [name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}} {{item.groupAssessment1.pmsTopic.targetEdetail}}
</td> </td>
...@@ -551,32 +557,37 @@ ...@@ -551,32 +557,37 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part2radioA'+i" (click)="setScore(item,5)" [name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}} {{item.groupAssessment1.pmsTopic.targetAdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part2radioB'+i" (click)="setScore(item,4)" [name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}} {{item.groupAssessment1.pmsTopic.targetBdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part2radioC'+i" (click)="setScore(item,3)" [name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}} {{item.groupAssessment1.pmsTopic.targetCdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part2radioD'+i" (click)="setScore(item,2)" [name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}} {{item.groupAssessment1.pmsTopic.targetDdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part2radioE'+i" (click)="setScore(item,1)" [name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}} {{item.groupAssessment1.pmsTopic.targetEdetail}}
</td> </td>
...@@ -724,32 +735,37 @@ ...@@ -724,32 +735,37 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part3radioA'+i" (click)="setScore(item,5)" [name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}} {{item.groupAssessment1.pmsTopic.targetAdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part3radioB'+i" (click)="setScore(item,4)" [name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}} {{item.groupAssessment1.pmsTopic.targetBdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part3radioC'+i" (click)="setScore(item,3)" [name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}} {{item.groupAssessment1.pmsTopic.targetCdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part3radioD'+i" (click)="setScore(item,2)" [name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}} {{item.groupAssessment1.pmsTopic.targetDdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part3radioE'+i" (click)="setScore(item,1)" [name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}} {{item.groupAssessment1.pmsTopic.targetEdetail}}
</td> </td>
...@@ -1038,36 +1054,36 @@ ...@@ -1038,36 +1054,36 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part5radioA'+i" [name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioA'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=5:item.pmsWorkingTimScoreBoss=5" (click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=5:item.pmsWorkingTimScoreBoss=5"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==5:item.pmsWorkingTimScoreBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==5:item.pmsWorkingTimScoreBoss==5"><br>
{{item.targetADetail}} {{item.targetADetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part5radioB'+i" [name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioB'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=4:item.pmsWorkingTimScoreBoss=4" (click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=4:item.pmsWorkingTimScoreBoss=4"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==4:item.pmsWorkingTimScoreBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==4:item.pmsWorkingTimScoreBoss==4"><br>
{{item.targetBDetail}} {{item.targetBDetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part5radioC'+i" [name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioC'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=3:item.pmsWorkingTimScoreBoss=3" (click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=3:item.pmsWorkingTimScoreBoss=3"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==3:item.pmsWorkingTimScoreBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==3:item.pmsWorkingTimScoreBoss==3"><br>
{{item.targetCDetail}} {{item.targetCDetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part5radioD'+i" [name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioD'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=2:item.pmsWorkingTimScoreBoss=2" (click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=2:item.pmsWorkingTimScoreBoss=2"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==2:item.pmsWorkingTimScoreBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==2:item.pmsWorkingTimScoreBoss==2"><br>
{{item.targetDDetail}} {{item.targetDDetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part5radioE'+i" [name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioE'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=1:item.pmsWorkingTimScoreBoss=1" (click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=1:item.pmsWorkingTimScoreBoss=1"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==1:item.pmsWorkingTimScoreBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==1:item.pmsWorkingTimScoreBoss==1"><br>
{{item.targetEDetail}} {{item.targetEDetail}}
...@@ -1215,32 +1231,37 @@ ...@@ -1215,32 +1231,37 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part6radioA'+i" (click)="setScore(item,5)" [name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}} {{item.groupAssessment1.pmsTopic.targetAdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part6radioB'+i" (click)="setScore(item,4)" [name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}} {{item.groupAssessment1.pmsTopic.targetBdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part6radioC'+i" (click)="setScore(item,3)" [name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}} {{item.groupAssessment1.pmsTopic.targetCdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part6radioD'+i" (click)="setScore(item,2)" [name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}} {{item.groupAssessment1.pmsTopic.targetDdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part6radioE'+i" (click)="setScore(item,1)" [name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}} {{item.groupAssessment1.pmsTopic.targetEdetail}}
</td> </td>
...@@ -1395,32 +1416,37 @@ ...@@ -1395,32 +1416,37 @@
{{item.weight}} {{item.weight}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part7radioA'+i" (click)="setScore(item,5)" [name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}} {{item.groupAssessment1.pmsTopic.targetAdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part7radioB'+i" (click)="setScore(item,4)" [name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}} {{item.groupAssessment1.pmsTopic.targetBdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part7radioC'+i" (click)="setScore(item,3)" [name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}} {{item.groupAssessment1.pmsTopic.targetCdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part7radioD'+i" (click)="setScore(item,2)" [name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}} {{item.groupAssessment1.pmsTopic.targetDdetail}}
</td> </td>
<td class="align-start text-center !white-space-normal "> <td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer" <input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[id]="'part7radioE'+i" (click)="setScore(item,1)" [name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br> [checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}} {{item.groupAssessment1.pmsTopic.targetEdetail}}
</td> </td>
......
...@@ -3,6 +3,7 @@ import { AppraisalPmsFormModel } from 'src/app/shared/model/appraisal-pms-form.m ...@@ -3,6 +3,7 @@ import { AppraisalPmsFormModel } from 'src/app/shared/model/appraisal-pms-form.m
import { AppraisalService } from 'src/app/shared/services/appraisal.service'; import { AppraisalService } from 'src/app/shared/services/appraisal.service';
import { EmployeeService } from 'src/app/shared/services/employee.service'; import { EmployeeService } from 'src/app/shared/services/employee.service';
import { SettingAssessmentService } from 'src/app/shared/services/setting-assessment.service'; import { SettingAssessmentService } from 'src/app/shared/services/setting-assessment.service';
import Swal from 'sweetalert2';
export interface DataModel7 { export interface DataModel7 {
evaluationFactor: string, evaluationFactor: string,
...@@ -25,7 +26,6 @@ export class PmsEvalutionComponent { ...@@ -25,7 +26,6 @@ export class PmsEvalutionComponent {
part5show = true part5show = true
part6show = true part6show = true
part7show = true part7show = true
part8show = true part8show = true
data8List: DataModel7[] = [{ data8List: DataModel7[] = [{
evaluationFactor: "Part 1 : ประเมินผลการปฏิบัติงานตามนโยบายบริษัท (Hoshin)", evaluationFactor: "Part 1 : ประเมินผลการปฏิบัติงานตามนโยบายบริษัท (Hoshin)",
...@@ -77,12 +77,15 @@ export class PmsEvalutionComponent { ...@@ -77,12 +77,15 @@ export class PmsEvalutionComponent {
} }
canEdit = false
canSave = false
currentDate = new Date()
@Input() pathTitle: string[] = [] @Input() pathTitle: string[] = []
@Input() evaluationRoundId = "" @Input() evaluationRoundId = ""
@Input() evaluateeId = "" @Input() evaluateeId = ""
@Input() evaluaterId = "" @Input() evaluaterId = ""
@Input() competencyTypeId = "" @Input() competencyTypeId = ""
@Input() masfromStatusType = ""
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>(); @Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
appraisalPms: { loading: boolean, data?: AppraisalPmsFormModel } = { loading: false, data: undefined } appraisalPms: { loading: boolean, data?: AppraisalPmsFormModel } = { loading: false, data: undefined }
constructor(private appraisalService: AppraisalService, constructor(private appraisalService: AppraisalService,
...@@ -100,6 +103,49 @@ export class PmsEvalutionComponent { ...@@ -100,6 +103,49 @@ export class PmsEvalutionComponent {
next: response => { next: response => {
console.log(" 🐒 response:", response) console.log(" 🐒 response:", response)
this.appraisalPms.data = JSON.parse(JSON.stringify(response)) this.appraisalPms.data = JSON.parse(JSON.stringify(response))
if (this.appraisalPms.data) {
this.canSave = (this.appraisalPms.data.currentStep == this.appraisalPms.data.checkStep) && (this.masfromStatusType != 'Boss_finish' && this.masfromStatusType != 'Not_evaluating_yet')
this.canEdit = (this.appraisalPms.data.currentStep == this.appraisalPms.data.checkStep)
switch (this.appraisalPms.data?.currentStep) {
case ("0"): {
if (this.canSave) {
this.appraisalPms.data.apsassessyDate = this.currentDate.toISOString().split('T')[0];
}
break
}
case ("1"): {
if (this.canSave) {
this.appraisalPms.data.apsapprove1Date = this.currentDate.toISOString().split('T')[0];
}
break
}
case ("2"): {
if (this.canSave) {
this.appraisalPms.data.apsapprove2Date = this.currentDate.toISOString().split('T')[0];
}
break
}
case ("3"): {
if (this.canSave) {
this.appraisalPms.data.apsapprove3Date = this.currentDate.toISOString().split('T')[0];
}
break
}
case ("4"): {
if (this.canSave) {
this.appraisalPms.data.apsapprove4Date = this.currentDate.toISOString().split('T')[0];
}
break
}
case ("5"): {
if (this.canSave) {
this.appraisalPms.data.apsapprove5Date = this.currentDate.toISOString().split('T')[0];
}
break
}
default: { return }
}
}
this.appraisalPms.loading = false this.appraisalPms.loading = false
this.cdr.detectChanges() this.cdr.detectChanges()
}, error: error => { }, error: error => {
...@@ -218,6 +264,9 @@ export class PmsEvalutionComponent { ...@@ -218,6 +264,9 @@ export class PmsEvalutionComponent {
} }
setScore(item: any, score: number) { setScore(item: any, score: number) {
console.log(" 🐒 this.canEdit:", this.canEdit)
if(this.canEdit){
console.log(" 🐒 this.canEdit:", this.canEdit)
if (this.evaluaterId == this.evaluateeId) { if (this.evaluaterId == this.evaluateeId) {
item.scoreTopicExpectation = score item.scoreTopicExpectation = score
item.scoreTopicExpectationBoss = score item.scoreTopicExpectationBoss = score
...@@ -225,4 +274,178 @@ export class PmsEvalutionComponent { ...@@ -225,4 +274,178 @@ export class PmsEvalutionComponent {
item.scoreTopicExpectationBoss = score item.scoreTopicExpectationBoss = score
} }
} }
}
convertDate(dateInput?: string | Date): string {
let date = new Date()
if (dateInput) {
if (typeof dateInput === 'string') {
const [year, month, day] = dateInput.split('-').map(Number);
date = new Date(year, month - 1, day);
} else {
date = dateInput
}
} else {
return ''
}
return date?.toLocaleDateString('th-TH', { day: 'numeric', month: 'long', year: 'numeric' }) || ''
}
save(status: 'approve' | 'noApprove' | 'draft') {
let title = ''
let text = ''
let confirmButtonText = ''
let approveStatus = '0'
if (status == 'draft') {
title = 'บันทึกแบบร่าง'
text = 'คุณต้องการบันทึกแบบร่างของการประเมินนี้ใช่หรือไม่'
confirmButtonText = 'ยืนยันการบันทึก'
approveStatus = '1'
} else if (status == 'approve') {
approveStatus = '2'
if (this.appraisalPms?.data?.checkStep == '0') {
title = 'ยืนยันข้อมูล'
text = 'คุณต้องการยืนยันข้อมูลการประเมินนี้ใช่หรือไม่'
confirmButtonText = 'ยืนยันการบันทึก'
} else {
title == 'อนุมัติ'
text = 'คุณต้องการอนุมัติข้อมูลการประเมินนี้ใช่หรือไม่'
confirmButtonText = 'ยืนยันการอนุมัติ'
}
} else if (status == 'noApprove') {
approveStatus = '0'
title == 'ไม่อนุมัติ'
text = 'คุณต้องการไม่อนุมัติข้อมูลการประเมินนี้ใช่หรือไม่'
confirmButtonText = 'ยืนยันการไม่อนุมัติ'
}
Swal.fire({
iconHtml: `
<div class="flex items-center justify-center rounded-full !h-80px !w-80px" style="background-color: #E8F8EE;">
<svg width="39" height="39" viewBox="0 0 39 39" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="39" height="39" fill="#D2D2D2"/>
<g id="Component">
<g id="alert cart">
<g id="mdi:file-export">
<circle cx="22.5" cy="19.5" r="33.5" fill="#E8F8EE"/>
<path d="M9.75 3.25C8.88805 3.25 8.0614 3.59241 7.4519 4.2019C6.84241 4.8114 6.5 5.63805 6.5 6.5V32.5C6.5 33.362 6.84241 34.1886 7.4519 34.7981C8.0614 35.4076 8.88805 35.75 9.75 35.75H29.25C30.112 35.75 30.9386 35.4076 31.5481 34.7981C32.1576 34.1886 32.5 33.362 32.5 32.5V13L22.75 3.25M21.125 5.6875L30.0625 14.625H21.125M14.5113 19.8575H26V31.3463L22.555 27.9013L17.9563 32.5L13.3575 27.9013L17.9563 23.3188"
fill="#1DBE5A"/>
</g>
</g>
</g>
</svg>
</div>
`,
title: title,
text: text,
showCancelButton: true,
confirmButtonText: confirmButtonText,
cancelButtonText: 'ย้อนกลับ',
customClass: {
title: '!swal2-title-mt-20px',
actions: '!swal2-actions-mt-20px',
icon: '!swal2-icon-no-border',
confirmButton: '!swal2-button-bg-green',
cancelButton: '!swal2-button-bg-gray',
},
}).then((result) => {
if (result.isConfirmed && this.appraisalPms) {
this.saveApi(approveStatus)
} else if (result.dismiss === Swal.DismissReason.cancel) {
Swal.fire({
title: 'ยกเลิก!',
text: 'การบันทึกถูกยกเลิก',
icon: 'error',
customClass: {
confirmButton: '!swal2-button-bg-danger',
}
})
}
})
}
saveApi(approveStatus: string) {
let body = this.appraisalPms.data
switch (this.appraisalPms.data?.currentStep) {
case ("0"): {
body = {
...this.appraisalPms.data,
apsassessyStatus: approveStatus
}
break
}
case ("1"): {
body = {
...this.appraisalPms.data,
apsapprove1Status: approveStatus
}
break
}
case ("2"): {
body = {
...this.appraisalPms.data,
apsapprove1Status: approveStatus == '0' ? approveStatus : this.appraisalPms.data.apsapprove1Status,
apsapprove2Status: approveStatus
}
break
}
case ("3"): {
body = {
...this.appraisalPms.data,
apsapprove2Status: approveStatus == '0' ? approveStatus : this.appraisalPms.data.apsapprove2Status,
apsapprove3Status: approveStatus
}
break
}
case ("4"): {
body = {
...this.appraisalPms.data,
apsapprove3Status: approveStatus == '0' ? approveStatus : this.appraisalPms.data.apsapprove3Status,
apsapprove4Status: approveStatus
}
break
}
case ("5"): {
body = {
...this.appraisalPms.data,
apsapprove4Status: approveStatus == '0' ? approveStatus : this.appraisalPms.data.apsapprove4Status,
apsapprove5Status: approveStatus
}
break
}
default: { return }
}
this.appraisalService.postPms(body).subscribe({
next: response => {
if (response.success) {
Swal.fire({
title: 'บันทึกสำเร็จ!',
text: 'การประเมินของคุณถูกบันทึกแล้ว',
icon: 'success',
customClass: {
confirmButton: '!swal2-button-bg-green',
}
});
this.getAppraisalPmsForm()
} else {
Swal.fire({
title: 'ยกเลิก!',
text: 'การบันทึกถูกยกเลิก',
icon: 'error',
customClass: {
confirmButton: '!swal2-button-bg-danger',
}
});
}
}, error: error => {
Swal.fire({
title: 'ยกเลิก!',
text: 'การบันทึกถูกยกเลิก',
icon: 'error',
customClass: {
confirmButton: '!swal2-button-bg-danger',
}
});
}
})
}
} }
\ No newline at end of file
...@@ -17,9 +17,8 @@ ...@@ -17,9 +17,8 @@
<a *ngFor="let item of appraisalCompentency.dataList; let i=index ; let f= first" <a *ngFor="let item of appraisalCompentency.dataList; let i=index ; let f= first"
class="border justify-center rounded-top-4px hs-tab-active:!bg-primary hs-tab-active:text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center hover:text-gray-900" class="border justify-center rounded-top-4px hs-tab-active:!bg-primary hs-tab-active:text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center hover:text-gray-900"
[class.active]="f" href="javascript:void(0);" [id]="'card-type-item-'+(i+1)" [class.active]="f" href="javascript:void(0);" [id]="'card-type-item-'+(i+1)"
[class.ti-btn-soft-mute]="!item.statusCheckDate" [class.ti-btn-soft-mute]="!item.statusCheckDate" [attr.data-hs-tab]="'#underline-'+(i+1)"
[attr.data-hs-tab]="'#underline-'+(i+1)" [attr.aria-controls]="'underline-'+(i+1)" [attr.aria-controls]="'underline-'+(i+1)" (click)="selectAppraisalCompentency(item)">
(click)="selectAppraisalCompentency(item)">
{{item.masfromEvaluationRound.tdesc}} {{item.masfromEvaluationRound.tdesc}}
</a> </a>
</nav> </nav>
...@@ -259,6 +258,7 @@ ...@@ -259,6 +258,7 @@
<ng-container *ngIf="onEdit=='pms'"> <ng-container *ngIf="onEdit=='pms'">
<app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินตนเอง','ประเมิน']" <app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินตนเอง','ประเมิน']"
(sendReturnPath)="getAppraisalCompentencyList();getAppraisalPmsList();onEdit='' ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']" (sendReturnPath)="getAppraisalCompentencyList();getAppraisalPmsList();onEdit='' ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']"
[masfromStatusType]="appraisalPms.select?.masfromStatusType?.code||''"
[evaluationRoundId]="appraisalPms.select?.pmsMasfromEvaluationRound?.pmsEvaluationRoundId || ''" [evaluationRoundId]="appraisalPms.select?.pmsMasfromEvaluationRound?.pmsEvaluationRoundId || ''"
[evaluaterId]="evaluatee.data.employeeId" [evaluateeId]="evaluatee.data.employeeId"></app-pms-evalution> [evaluaterId]="evaluatee.data.employeeId" [evaluateeId]="evaluatee.data.employeeId"></app-pms-evalution>
</ng-container> </ng-container>
\ No newline at end of file
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
[class.ti-btn-soft-warning]="item.statusIdp.statusType == 'BossEvaluating'" [class.ti-btn-soft-warning]="item.statusIdp.statusType == 'BossEvaluating'"
[class.ti-btn-soft-success]="item.statusIdp.statusType == 'Boss_finish'" [class.ti-btn-soft-success]="item.statusIdp.statusType == 'Boss_finish'"
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='idp'"> (click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId,item.statusIdp.statusType);pageEvalution='idp'">
IDP IDP
</button> </button>
</div> </div>
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
<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>
...@@ -241,14 +241,14 @@ ...@@ -241,14 +241,14 @@
<ng-container *ngIf="pageEvalution=='idp'"> <ng-container *ngIf="pageEvalution=='idp'">
<app-idp-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']" <app-idp-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']" (sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId" [masfromStatusType]="formEvaluation.masfromStatusType" [evaluationRoundId]="formEvaluation.evaluationRoundId"
[evaluateeId]="formEvaluation.evaluateeId"></app-idp-evalution> [evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-idp-evalution>
</ng-container> </ng-container>
<ng-container *ngIf="pageEvalution=='pms'"> <ng-container *ngIf="pageEvalution=='pms'">
<app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']" <app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']" (sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId" [masfromStatusType]="formEvaluation.masfromStatusType" [evaluationRoundId]="formEvaluation.evaluationRoundId"
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-evalution> [evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-pms-evalution>
</ng-container> </ng-container>
<ng-container *ngIf="pageEvalution=='evaluation'"> <ng-container *ngIf="pageEvalution=='evaluation'">
<app-evaluation [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']" <app-evaluation [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
......
...@@ -19,7 +19,8 @@ export class SupervisorEvaluationComponent { ...@@ -19,7 +19,8 @@ export class SupervisorEvaluationComponent {
evaluateeId: "", evaluateeId: "",
evaluaterId: "", evaluaterId: "",
competencyTypeId: "", competencyTypeId: "",
evaluationRoundId: "" evaluationRoundId: "",
masfromStatusType: ""
} }
constructor(private appraisalService: AppraisalService, constructor(private appraisalService: AppraisalService,
private cdr: ChangeDetectorRef) { private cdr: ChangeDetectorRef) {
...@@ -66,11 +67,12 @@ export class SupervisorEvaluationComponent { ...@@ -66,11 +67,12 @@ export class SupervisorEvaluationComponent {
this.currentPage = 1 this.currentPage = 1
this.page = Array.from({ length: Math.ceil(this.subordinateFilter().length / 10) }, (_, i) => i + 1); this.page = Array.from({ length: Math.ceil(this.subordinateFilter().length / 10) }, (_, i) => i + 1);
} }
selectSubordinate(data: Masfromevaluationassessment, competencyTypeId: string, evaluationRoundId?: string) { selectSubordinate(data: Masfromevaluationassessment, competencyTypeId: string, evaluationRoundId?: string, masfromStatusType?: string) {
if (data && evaluationRoundId) { if (data && evaluationRoundId) {
this.formEvaluation.evaluateeId = data.apsassessy.employeeId this.formEvaluation.evaluateeId = data.apsassessy.employeeId
this.formEvaluation.competencyTypeId = competencyTypeId this.formEvaluation.competencyTypeId = competencyTypeId
this.formEvaluation.evaluationRoundId = evaluationRoundId this.formEvaluation.evaluationRoundId = evaluationRoundId
this.formEvaluation.masfromStatusType = masfromStatusType || ''
this.cdr.detectChanges() this.cdr.detectChanges()
} }
} }
......
...@@ -5,6 +5,11 @@ export interface AppraisalPmsFormModel { ...@@ -5,6 +5,11 @@ export interface AppraisalPmsFormModel {
personalLevel: PersonalLevel personalLevel: PersonalLevel
pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel
companyId: string companyId: string
active: boolean
masfromStatusType: MasfromStatusType
currentStep: string
lastStep: string
checkStep: string
apsassessy: Apsassessy apsassessy: Apsassessy
apsapprove1: Apsapprove1 apsapprove1: Apsapprove1
apsapprove2: Apsapprove2 apsapprove2: Apsapprove2
...@@ -17,12 +22,31 @@ export interface AppraisalPmsFormModel { ...@@ -17,12 +22,31 @@ export interface AppraisalPmsFormModel {
apsapprove3Status: string apsapprove3Status: string
apsapprove4Status: string apsapprove4Status: string
apsapprove5Status: string apsapprove5Status: string
apsassessyScore: number employeeStrengths: string
apsapprove1Score: number learningTopicsForStrengths: string
apsapprove2Score: number performanceWeaknesses: string
apsapprove3Score: number learningTopicsForWeaknesses: string
apsapprove4Score: number improvementPlan: string
apsapprove5Score: number learningTopicsForImprovement: string
apsassessyComment: string
apsapprove1Comment: string
apsapprove2Comment: string
apsapprove3Comment: string
apsapprove4Comment: string
apsapprove5Comment: string
apsassessyDate: string
apsapprove1Date: string
apsapprove2Date: string
apsapprove3Date: string
apsapprove4Date: string
apsapprove5Date: string
part1Percentage: number
part2Percentage: number
part3Percentage: number
part4Percentage: number
part5Percentage: number
part6Percentage: number
part7Percentage: number
part1Detail: Part1Detail[] part1Detail: Part1Detail[]
part2Detail: Part2Detail[] part2Detail: Part2Detail[]
part3Detail: Part3Detail[] part3Detail: Part3Detail[]
...@@ -30,16 +54,16 @@ export interface AppraisalPmsFormModel { ...@@ -30,16 +54,16 @@ export interface AppraisalPmsFormModel {
part5Detail: Part5Detail[] part5Detail: Part5Detail[]
part6Detail: Part6Detail[] part6Detail: Part6Detail[]
part7Detail: Part7Detail[] part7Detail: Part7Detail[]
} }
export interface PersonalLevel { export interface PersonalLevel {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsMasfromEvaluationRoundModel { export interface PmsMasfromEvaluationRoundModel {
pmsEvaluationRoundId: string pmsEvaluationRoundId: string
companyId: string companyId: string
tdesc: string tdesc: string
...@@ -52,28 +76,34 @@ export interface AppraisalPmsFormModel { ...@@ -52,28 +76,34 @@ export interface AppraisalPmsFormModel {
active: number active: number
statusFrom: StatusFrom statusFrom: StatusFrom
statusCode: StatusCode statusCode: StatusCode
} }
export interface PersonalLevel2 { export interface PersonalLevel2 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface StatusFrom { export interface StatusFrom {
code: string code: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface StatusCode { export interface StatusCode {
code: string code: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Apsassessy { export interface MasfromStatusType {
code: string
tdesc: string
edesc: string
}
export interface Apsassessy {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix prefix: Prefix
...@@ -96,91 +126,91 @@ export interface AppraisalPmsFormModel { ...@@ -96,91 +126,91 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix { export interface Prefix {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu1 { export interface Bu1 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu2 { export interface Bu2 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu3 { export interface Bu3 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu4 { export interface Bu4 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu5 { export interface Bu5 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position { export interface Position {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job { export interface Job {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl { export interface Pl {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status { export interface Status {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time0 { export interface Time0 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Apsapprove1 { export interface Apsapprove1 {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix2 prefix: Prefix2
...@@ -203,91 +233,91 @@ export interface AppraisalPmsFormModel { ...@@ -203,91 +233,91 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix2 { export interface Prefix2 {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu12 { export interface Bu12 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu22 { export interface Bu22 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu32 { export interface Bu32 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu42 { export interface Bu42 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu52 { export interface Bu52 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position2 { export interface Position2 {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job2 { export interface Job2 {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl2 { export interface Pl2 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status2 { export interface Status2 {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time02 { export interface Time02 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Apsapprove2 { export interface Apsapprove2 {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix3 prefix: Prefix3
...@@ -310,91 +340,91 @@ export interface AppraisalPmsFormModel { ...@@ -310,91 +340,91 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix3 { export interface Prefix3 {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu13 { export interface Bu13 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu23 { export interface Bu23 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu33 { export interface Bu33 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu43 { export interface Bu43 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu53 { export interface Bu53 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position3 { export interface Position3 {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job3 { export interface Job3 {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl3 { export interface Pl3 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status3 { export interface Status3 {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time03 { export interface Time03 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Apsapprove3 { export interface Apsapprove3 {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix4 prefix: Prefix4
...@@ -417,91 +447,91 @@ export interface AppraisalPmsFormModel { ...@@ -417,91 +447,91 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix4 { export interface Prefix4 {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu14 { export interface Bu14 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu24 { export interface Bu24 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu34 { export interface Bu34 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu44 { export interface Bu44 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu54 { export interface Bu54 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position4 { export interface Position4 {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job4 { export interface Job4 {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl4 { export interface Pl4 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status4 { export interface Status4 {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time04 { export interface Time04 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Apsapprove4 { export interface Apsapprove4 {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix5 prefix: Prefix5
...@@ -524,91 +554,91 @@ export interface AppraisalPmsFormModel { ...@@ -524,91 +554,91 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix5 { export interface Prefix5 {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu15 { export interface Bu15 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu25 { export interface Bu25 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu35 { export interface Bu35 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu45 { export interface Bu45 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu55 { export interface Bu55 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position5 { export interface Position5 {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job5 { export interface Job5 {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl5 { export interface Pl5 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status5 { export interface Status5 {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time05 { export interface Time05 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Apsapprove5 { export interface Apsapprove5 {
employeeId: string employeeId: string
bossId: string bossId: string
prefix: Prefix6 prefix: Prefix6
...@@ -631,127 +661,127 @@ export interface AppraisalPmsFormModel { ...@@ -631,127 +661,127 @@ export interface AppraisalPmsFormModel {
startDate: string startDate: string
thFullName: string thFullName: string
engFullName: string engFullName: string
} }
export interface Prefix6 { export interface Prefix6 {
prefixId: string prefixId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Bu16 { export interface Bu16 {
bu1id: string bu1id: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Bu26 { export interface Bu26 {
bu2id: string bu2id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu36 { export interface Bu36 {
bu3id: string bu3id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu46 { export interface Bu46 {
bu4id: string bu4id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Bu56 { export interface Bu56 {
bu5id: string bu5id: string
tdesc: string tdesc: string
edesc: string edesc: string
parent: string parent: string
companyId: string companyId: string
} }
export interface Position6 { export interface Position6 {
positionId: string positionId: string
tdesc: string tdesc: string
edesc: string edesc: string
consolidate: string consolidate: string
shortName: string shortName: string
companyId: string companyId: string
} }
export interface Job6 { export interface Job6 {
jobCodeId: string jobCodeId: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Pl6 { export interface Pl6 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface Status6 { export interface Status6 {
statusCode: string statusCode: string
statusType: string statusType: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Time06 { export interface Time06 {
time0id: string time0id: string
tdesc: string tdesc: string
edesc: string edesc: string
stickTm: string stickTm: string
hourD: number hourD: number
} }
export interface Part1Detail { export interface Part1Detail {
companyId: string companyId: string
weight: number weight: number
lineNo: number lineNo: number
scoreTopicExpectation: number scoreTopicExpectation: number
scoreTopicExpectationBoss: number scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment1 groupAssessment1: GroupAssessment1
} }
export interface GroupAssessment1 { export interface GroupAssessment1 {
personalLevelModel: PersonalLevelModel personalLevelModel: PersonalLevelModel
companyId: string companyId: string
pmsGroupAssessment0: PmsGroupAssessment0 pmsGroupAssessment0: PmsGroupAssessment0
pmsTopic: PmsTopic2 pmsTopic: PmsTopic2
} }
export interface PersonalLevelModel { export interface PersonalLevelModel {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsGroupAssessment0 { export interface PmsGroupAssessment0 {
personalLevel: PersonalLevel3 personalLevel: PersonalLevel3
companyId: string companyId: string
pmsTopic: PmsTopic pmsTopic: PmsTopic
} }
export interface PersonalLevel3 { export interface PersonalLevel3 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsTopic { export interface PmsTopic {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType pmsType: PmsType
companyId: string companyId: string
...@@ -768,18 +798,18 @@ export interface AppraisalPmsFormModel { ...@@ -768,18 +798,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType { export interface PmsType {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface PmsTopic2 { export interface PmsTopic2 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType2 pmsType: PmsType2
companyId: string companyId: string
...@@ -796,54 +826,54 @@ export interface AppraisalPmsFormModel { ...@@ -796,54 +826,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType2 { export interface PmsType2 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface Part2Detail { export interface Part2Detail {
companyId: string companyId: string
weight: number weight: number
lineNo: number lineNo: number
scoreTopicExpectation: number scoreTopicExpectation: number
scoreTopicExpectationBoss: number scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment12 groupAssessment1: GroupAssessment12
} }
export interface GroupAssessment12 { export interface GroupAssessment12 {
personalLevelModel: PersonalLevelModel2 personalLevelModel: PersonalLevelModel2
companyId: string companyId: string
pmsGroupAssessment0: PmsGroupAssessment02 pmsGroupAssessment0: PmsGroupAssessment02
pmsTopic: PmsTopic4 pmsTopic: PmsTopic4
} }
export interface PersonalLevelModel2 { export interface PersonalLevelModel2 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsGroupAssessment02 { export interface PmsGroupAssessment02 {
personalLevel: PersonalLevel4 personalLevel: PersonalLevel4
companyId: string companyId: string
pmsTopic: PmsTopic3 pmsTopic: PmsTopic3
} }
export interface PersonalLevel4 { export interface PersonalLevel4 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsTopic3 { export interface PmsTopic3 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType3 pmsType: PmsType3
companyId: string companyId: string
...@@ -860,18 +890,18 @@ export interface AppraisalPmsFormModel { ...@@ -860,18 +890,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType3 { export interface PmsType3 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface PmsTopic4 { export interface PmsTopic4 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType4 pmsType: PmsType4
companyId: string companyId: string
...@@ -888,54 +918,54 @@ export interface AppraisalPmsFormModel { ...@@ -888,54 +918,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType4 { export interface PmsType4 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface Part3Detail { export interface Part3Detail {
companyId: string companyId: string
weight: number weight: number
lineNo: number lineNo: number
scoreTopicExpectation: number scoreTopicExpectation: number
scoreTopicExpectationBoss: number scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment13 groupAssessment1: GroupAssessment13
} }
export interface GroupAssessment13 { export interface GroupAssessment13 {
personalLevelModel: PersonalLevelModel3 personalLevelModel: PersonalLevelModel3
companyId: string companyId: string
pmsGroupAssessment0: PmsGroupAssessment03 pmsGroupAssessment0: PmsGroupAssessment03
pmsTopic: PmsTopic6 pmsTopic: PmsTopic6
} }
export interface PersonalLevelModel3 { export interface PersonalLevelModel3 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsGroupAssessment03 { export interface PmsGroupAssessment03 {
personalLevel: PersonalLevel5 personalLevel: PersonalLevel5
companyId: string companyId: string
pmsTopic: PmsTopic5 pmsTopic: PmsTopic5
} }
export interface PersonalLevel5 { export interface PersonalLevel5 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsTopic5 { export interface PmsTopic5 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType5 pmsType: PmsType5
companyId: string companyId: string
...@@ -952,18 +982,18 @@ export interface AppraisalPmsFormModel { ...@@ -952,18 +982,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType5 { export interface PmsType5 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface PmsTopic6 { export interface PmsTopic6 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType6 pmsType: PmsType6
companyId: string companyId: string
...@@ -980,23 +1010,23 @@ export interface AppraisalPmsFormModel { ...@@ -980,23 +1010,23 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType6 { export interface PmsType6 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface Part4Detail { export interface Part4Detail {
plId: string plId: string
companyId: string companyId: string
lineNo: number lineNo: number
competencyType: CompetencyType competencyType: CompetencyType
masfromStatusType: MasfromStatusType masfromStatusType: MasfromStatusType2
currentStep: string currentStep: string
lastStep: string lastStep: string
checkStep: string checkStep: string
...@@ -1027,9 +1057,9 @@ export interface AppraisalPmsFormModel { ...@@ -1027,9 +1057,9 @@ export interface AppraisalPmsFormModel {
apsapprove5Date: string apsapprove5Date: string
evaluationResults: string evaluationResults: string
sumEvaluationResults: string sumEvaluationResults: string
} }
export interface CompetencyType { export interface CompetencyType {
competencyTypeId: string competencyTypeId: string
companyId: string companyId: string
edesc: string edesc: string
...@@ -1037,15 +1067,15 @@ export interface AppraisalPmsFormModel { ...@@ -1037,15 +1067,15 @@ export interface AppraisalPmsFormModel {
shortName: string shortName: string
expectationLevel: string expectationLevel: string
weight: number weight: number
} }
export interface MasfromStatusType { export interface MasfromStatusType2 {
code: string code: string
tdesc: string tdesc: string
edesc: string edesc: string
} }
export interface Part5Detail { export interface Part5Detail {
pmsWorkingTimeId: string pmsWorkingTimeId: string
tdesc: string tdesc: string
edesc: string edesc: string
...@@ -1059,45 +1089,45 @@ export interface AppraisalPmsFormModel { ...@@ -1059,45 +1089,45 @@ export interface AppraisalPmsFormModel {
targetEDetail: string targetEDetail: string
pmsWorkingTimScore: number pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number pmsWorkingTimScoreBoss: number
} }
export interface Part6Detail { export interface Part6Detail {
companyId: string companyId: string
weight: number weight: number
lineNo: number lineNo: number
scoreTopicExpectation: number scoreTopicExpectation: number
scoreTopicExpectationBoss: number scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment14 groupAssessment1: GroupAssessment14
} }
export interface GroupAssessment14 { export interface GroupAssessment14 {
personalLevelModel: PersonalLevelModel4 personalLevelModel: PersonalLevelModel4
companyId: string companyId: string
pmsGroupAssessment0: PmsGroupAssessment04 pmsGroupAssessment0: PmsGroupAssessment04
pmsTopic: PmsTopic8 pmsTopic: PmsTopic8
} }
export interface PersonalLevelModel4 { export interface PersonalLevelModel4 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsGroupAssessment04 { export interface PmsGroupAssessment04 {
personalLevel: PersonalLevel6 personalLevel: PersonalLevel6
companyId: string companyId: string
pmsTopic: PmsTopic7 pmsTopic: PmsTopic7
} }
export interface PersonalLevel6 { export interface PersonalLevel6 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsTopic7 { export interface PmsTopic7 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType7 pmsType: PmsType7
companyId: string companyId: string
...@@ -1114,18 +1144,18 @@ export interface AppraisalPmsFormModel { ...@@ -1114,18 +1144,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType7 { export interface PmsType7 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface PmsTopic8 { export interface PmsTopic8 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType8 pmsType: PmsType8
companyId: string companyId: string
...@@ -1142,54 +1172,54 @@ export interface AppraisalPmsFormModel { ...@@ -1142,54 +1172,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType8 { export interface PmsType8 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface Part7Detail { export interface Part7Detail {
companyId: string companyId: string
weight: number weight: number
lineNo: number lineNo: number
scoreTopicExpectation: number scoreTopicExpectation: number
scoreTopicExpectationBoss: number scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment15 groupAssessment1: GroupAssessment15
} }
export interface GroupAssessment15 { export interface GroupAssessment15 {
personalLevelModel: PersonalLevelModel5 personalLevelModel: PersonalLevelModel5
companyId: string companyId: string
pmsGroupAssessment0: PmsGroupAssessment05 pmsGroupAssessment0: PmsGroupAssessment05
pmsTopic: PmsTopic10 pmsTopic: PmsTopic10
} }
export interface PersonalLevelModel5 { export interface PersonalLevelModel5 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsGroupAssessment05 { export interface PmsGroupAssessment05 {
personalLevel: PersonalLevel7 personalLevel: PersonalLevel7
companyId: string companyId: string
pmsTopic: PmsTopic9 pmsTopic: PmsTopic9
} }
export interface PersonalLevel7 { export interface PersonalLevel7 {
plId: string plId: string
tdesc: string tdesc: string
edesc: string edesc: string
companyId: string companyId: string
} }
export interface PmsTopic9 { export interface PmsTopic9 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType9 pmsType: PmsType9
companyId: string companyId: string
...@@ -1206,18 +1236,18 @@ export interface AppraisalPmsFormModel { ...@@ -1206,18 +1236,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType9 { export interface PmsType9 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
export interface PmsTopic10 { export interface PmsTopic10 {
pmsTopicId: string pmsTopicId: string
pmsType: PmsType10 pmsType: PmsType10
companyId: string companyId: string
...@@ -1234,14 +1264,13 @@ export interface AppraisalPmsFormModel { ...@@ -1234,14 +1264,13 @@ export interface AppraisalPmsFormModel {
targetCdetail: string targetCdetail: string
targetDdetail: string targetDdetail: string
targetEdetail: string targetEdetail: string
} }
export interface PmsType10 { export interface PmsType10 {
pmsTypeId: string pmsTypeId: string
companyId: string companyId: string
edesc: string edesc: string
tdesc: string tdesc: string
shortName: string shortName: string
weight: number weight: number
} }
\ No newline at end of file
\ No newline at end of file
...@@ -34,4 +34,7 @@ export class AppraisalService { ...@@ -34,4 +34,7 @@ export class AppraisalService {
getFormPmsById(evaluationRoundId: string, apsassessy: string): Observable<AppraisalPmsFormModel> { getFormPmsById(evaluationRoundId: string, apsassessy: string): Observable<AppraisalPmsFormModel> {
return this.http.get<AppraisalPmsFormModel>(this.urlApi + "/pms/" + evaluationRoundId + "/" + apsassessy) return this.http.get<AppraisalPmsFormModel>(this.urlApi + "/pms/" + evaluationRoundId + "/" + apsassessy)
} }
postPms(body: AppraisalPmsFormModel): Observable<AlertModel> {
return this.http.post<AlertModel>(this.urlApi + "/pms", body)
}
} }
\ 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