Commit 5beee0d8 by Nattana Chaiyamat

idp pms

parent 5800b432
......@@ -320,8 +320,8 @@
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='1'||!canEdit"
[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'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove1Comment"></textarea>
<span class="pt-2">
วันที่ :
......@@ -343,8 +343,8 @@
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='2'||!canEdit"
[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'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove2Comment"></textarea>
<span class="pt-2">
วันที่ :
......@@ -366,8 +366,8 @@
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='3'||!canEdit"
[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'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove3Comment"></textarea>
<span class="pt-2">
วันที่ :
......@@ -389,8 +389,8 @@
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='4'||!canEdit"
[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'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove4Comment"></textarea>
<span class="pt-2">
วันที่ :
......@@ -412,8 +412,8 @@
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!formIdp.data||formIdp.data.currentStep!='5'||!canEdit"
[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'||!canSave"
[(ngModel)]="formIdp.data.masfromEvaluationIdp.apsapprove5Comment"></textarea>
<span class="pt-2">
วันที่ :
......@@ -423,7 +423,7 @@
</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>
......
......@@ -13,11 +13,13 @@ export class IdpEvalutionComponent {
@Input() evaluationRoundId = ""
@Input() evaluateeId = ""
@Input() evaluaterId = ""
@Input() masfromStatusType = ""
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
currentDate = new Date()
hoveredCode: string | null = null;
formIdp: { loading: boolean, data?: IdpFormModel } = { loading: false, data: undefined }
canEdit = false
canSave = false
constructor(private evaluationIdpService: EvaluationIdpService,
private employeeService: EmployeeService,
private cdr: ChangeDetectorRef
......@@ -32,7 +34,8 @@ export class IdpEvalutionComponent {
next: response => {
this.formIdp.data = JSON.parse(JSON.stringify(response))
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) {
case ("0"): {
......
......@@ -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="col-span-1">ผู้รับการประเมิน</div>
<div class="col-span-1">
{{appraisalCompentency.data.apsassessy.thFullName}}</div>
{{appraisalPms.data.apsassessy.thFullName}}</div>
<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
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>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='0'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='0'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsassessyComment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='0'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='0'||!canSave"
[(ngModel)]="appraisalPms.data.apsassessyComment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsassessyDate)}}
{{convertDate(appraisalPms.data.apsassessyDate)}}
</span>
</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">
{{appraisalCompentency.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}}
{{appraisalPms.data.apsapprove2.employeeId?'ผู้ประเมิน1':'ผู้อนุมัติ'}}
</div>
<div class="col-span-1">
{{appraisalCompentency.data.apsapprove1.thFullName}}</div>
{{appraisalPms.data.apsapprove1.thFullName}}</div>
<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
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>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='1'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='1'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove1Comment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='1'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='1'||!canSave"
[(ngModel)]="appraisalPms.data.apsapprove1Comment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove1Date)}}
{{convertDate(appraisalPms.data.apsapprove1Date)}}
</span>
</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">
{{appraisalCompentency.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}}
{{appraisalPms.data.apsapprove3.employeeId?'ผู้ประเมิน2':'ผู้อนุมัติ'}}
</div>
<div class="col-span-1">
{{appraisalCompentency.data.apsapprove2.thFullName}}</div>
{{appraisalPms.data.apsapprove2.thFullName}}</div>
<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
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>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='2'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='2'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove2Comment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='2'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='2'||!canSave"
[(ngModel)]="appraisalPms.data.apsapprove2Comment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove2Date)}}
{{convertDate(appraisalPms.data.apsapprove2Date)}}
</span>
</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">
{{appraisalCompentency.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}}
{{appraisalPms.data.apsapprove4.employeeId?'ผู้ประเมิน3':'ผู้อนุมัติ'}}
</div>
<div class="col-span-1">
{{appraisalCompentency.data.apsapprove3.thFullName}}</div>
{{appraisalPms.data.apsapprove3.thFullName}}</div>
<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
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>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='3'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='3'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove3Comment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='3'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='3'||!canSave"
[(ngModel)]="appraisalPms.data.apsapprove3Comment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove3Date)}}
{{convertDate(appraisalPms.data.apsapprove3Date)}}
</span>
</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">
{{appraisalCompentency.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}}
{{appraisalPms.data.apsapprove5.employeeId?'ผู้ประเมิน4':'ผู้อนุมัติ'}}
</div>
<div class="col-span-1">
{{appraisalCompentency.data.apsapprove4.thFullName}}</div>
{{appraisalPms.data.apsapprove4.thFullName}}</div>
<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
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>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='4'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='4'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove4Comment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='4'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='4'||!canSave"
[(ngModel)]="appraisalPms.data.apsapprove4Comment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove4Date)}}
{{convertDate(appraisalPms.data.apsapprove4Date)}}
</span>
</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>
<div class="col-span-1">
{{appraisalCompentency.data.apsapprove5.thFullName}}</div>
{{appraisalPms.data.apsapprove5.thFullName}}</div>
<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]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Status=='2'">
[checked]="appraisalPms.data.apsapprove5Status=='2'">
<label for="hs-basic-usage1" class="sr-only">ยืนยันผล</label>
</div>
<div class="col-span-2">
<textarea type="text" rows="2" class="ti-form-input mb-2" placeholder="ใส่ Comment ที่นี่"
[class.!bg-input-readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='5'||!canSave"
[readonly]="!appraisalCompentency.data||appraisalCompentency.data.currentStep!='5'||!canSave"
[(ngModel)]="appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Comment"></textarea>
[class.!bg-input-readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='5'||!canSave"
[readonly]="!appraisalPms.data||appraisalPms.data.currentStep!='5'||!canSave"
[(ngModel)]="appraisalPms.data.apsapprove5Comment"></textarea>
<span class="pt-2">
วันที่ :
{{convertDate(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].apsapprove5Date)}}
{{convertDate(appraisalPms.data.apsapprove5Date)}}
</span>
</div>
</div>
</div>
<div class="flex justify-center mb-1rem pb-2rem" *ngIf="canSave">
<button *ngIf="appraisalCompentency.data.checkStep!='0'&&appraisalCompentency.data.checkStep!='1'"
type="submit" class="ti-btn ti-btn-danger mx-2rem" (click)="save('noApprove')">
<button *ngIf="appraisalPms.data.checkStep!='0'&&appraisalPms.data.checkStep!='1'" type="submit"
class="ti-btn ti-btn-danger mx-2rem" (click)="save('noApprove')">
ไม่อนุมัติ
</button>
<button type="submit" class="ti-btn ti-btn-success mx-2rem" (click)="save('draft')">
บันทึกร่าง
</button>
<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 *ngIf="appraisalCompentency.data.checkStep!='0'">
<ng-container *ngIf="appraisalPms.data.checkStep!='0'">
อนุมัติ
</ng-container>
</button>
</div> -->
</div>
</ng-container>
</ng-template>
......@@ -371,32 +372,37 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part1radioA'+i" (click)="setScore(item,5)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part1radioB'+i" (click)="setScore(item,4)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part1radioC'+i" (click)="setScore(item,3)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part1radioD'+i" (click)="setScore(item,2)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part1radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part1radioE'+i" (click)="setScore(item,1)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part1radio'+i" class="ti-form-radio" [id]="'part1radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
......@@ -551,32 +557,37 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part2radioA'+i" (click)="setScore(item,5)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part2radioB'+i" (click)="setScore(item,4)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part2radioC'+i" (click)="setScore(item,3)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part2radioD'+i" (click)="setScore(item,2)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part2radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part2radioE'+i" (click)="setScore(item,1)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part2radio'+i" class="ti-form-radio" [id]="'part2radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
......@@ -724,32 +735,37 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part3radioA'+i" (click)="setScore(item,5)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part3radioB'+i" (click)="setScore(item,4)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part3radioC'+i" (click)="setScore(item,3)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part3radioD'+i" (click)="setScore(item,2)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part3radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part3radioE'+i" (click)="setScore(item,1)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part3radio'+i" class="ti-form-radio" [id]="'part3radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
......@@ -1038,36 +1054,36 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part5radioA'+i"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioA'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=5:item.pmsWorkingTimScoreBoss=5"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==5:item.pmsWorkingTimScoreBoss==5"><br>
{{item.targetADetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part5radioB'+i"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioB'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=4:item.pmsWorkingTimScoreBoss=4"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==4:item.pmsWorkingTimScoreBoss==4"><br>
{{item.targetBDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part5radioC'+i"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioC'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=3:item.pmsWorkingTimScoreBoss=3"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==3:item.pmsWorkingTimScoreBoss==3"><br>
{{item.targetCDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part5radioD'+i"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioD'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=2:item.pmsWorkingTimScoreBoss=2"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==2:item.pmsWorkingTimScoreBoss==2"><br>
{{item.targetDDetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part5radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part5radioE'+i"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part5radio'+i" class="ti-form-radio" [id]="'part5radioE'+i"
(click)="evaluaterId==evaluateeId?item.pmsWorkingTimScore=1:item.pmsWorkingTimScoreBoss=1"
[checked]="evaluaterId==evaluateeId?item.pmsWorkingTimScore==1:item.pmsWorkingTimScoreBoss==1"><br>
{{item.targetEDetail}}
......@@ -1215,32 +1231,37 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part6radioA'+i" (click)="setScore(item,5)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part6radioB'+i" (click)="setScore(item,4)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part6radioC'+i" (click)="setScore(item,3)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part6radioD'+i" (click)="setScore(item,2)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part6radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part6radioE'+i" (click)="setScore(item,1)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part6radio'+i" class="ti-form-radio" [id]="'part6radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
......@@ -1395,32 +1416,37 @@
{{item.weight}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part7radioA'+i" (click)="setScore(item,5)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioA'+i"
(click)="setScore(item,5)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==5:item.scoreTopicExpectationBoss==5"><br>
{{item.groupAssessment1.pmsTopic.targetAdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part7radioB'+i" (click)="setScore(item,4)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioB'+i"
(click)="setScore(item,4)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==4:item.scoreTopicExpectationBoss==4"><br>
{{item.groupAssessment1.pmsTopic.targetBdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part7radioC'+i" (click)="setScore(item,3)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioC'+i"
(click)="setScore(item,3)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==3:item.scoreTopicExpectationBoss==3"><br>
{{item.groupAssessment1.pmsTopic.targetCdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part7radioD'+i" (click)="setScore(item,2)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioD'+i"
(click)="setScore(item,2)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==2:item.scoreTopicExpectationBoss==2"><br>
{{item.groupAssessment1.pmsTopic.targetDdetail}}
</td>
<td class="align-start text-center !white-space-normal ">
<input type="radio" [name]="'part7radio'+i" class="ti-form-radio cursor-pointer"
[id]="'part7radioE'+i" (click)="setScore(item,1)"
<input [class.cursor-pointer]="canEdit" [class.cursor-not-allowed]="!canEdit" [disabled]="!canEdit" type="radio"
[name]="'part7radio'+i" class="ti-form-radio" [id]="'part7radioE'+i"
(click)="setScore(item,1)"
[checked]="evaluaterId==evaluateeId?item.scoreTopicExpectation==1:item.scoreTopicExpectationBoss==1"><br>
{{item.groupAssessment1.pmsTopic.targetEdetail}}
</td>
......
......@@ -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 { EmployeeService } from 'src/app/shared/services/employee.service';
import { SettingAssessmentService } from 'src/app/shared/services/setting-assessment.service';
import Swal from 'sweetalert2';
export interface DataModel7 {
evaluationFactor: string,
......@@ -25,7 +26,6 @@ export class PmsEvalutionComponent {
part5show = true
part6show = true
part7show = true
part8show = true
data8List: DataModel7[] = [{
evaluationFactor: "Part 1 : ประเมินผลการปฏิบัติงานตามนโยบายบริษัท (Hoshin)",
......@@ -77,12 +77,15 @@ export class PmsEvalutionComponent {
}
canEdit = false
canSave = false
currentDate = new Date()
@Input() pathTitle: string[] = []
@Input() evaluationRoundId = ""
@Input() evaluateeId = ""
@Input() evaluaterId = ""
@Input() competencyTypeId = ""
@Input() masfromStatusType = ""
@Output() sendReturnPath: EventEmitter<any> = new EventEmitter<any>();
appraisalPms: { loading: boolean, data?: AppraisalPmsFormModel } = { loading: false, data: undefined }
constructor(private appraisalService: AppraisalService,
......@@ -100,6 +103,49 @@ export class PmsEvalutionComponent {
next: response => {
console.log(" 🐒 response:", 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.cdr.detectChanges()
}, error: error => {
......@@ -218,11 +264,188 @@ export class PmsEvalutionComponent {
}
setScore(item: any, score: number) {
if (this.evaluaterId == this.evaluateeId) {
item.scoreTopicExpectation = score
item.scoreTopicExpectationBoss = score
console.log(" 🐒 this.canEdit:", this.canEdit)
if(this.canEdit){
console.log(" 🐒 this.canEdit:", this.canEdit)
if (this.evaluaterId == this.evaluateeId) {
item.scoreTopicExpectation = score
item.scoreTopicExpectationBoss = score
} else {
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 {
item.scoreTopicExpectationBoss = score
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
......@@ -16,10 +16,9 @@
<nav class=" flex space-x-2 rtl:space-x-reverse">
<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.active]="f" href="javascript:void(0);" [id]="'card-type-item-'+(i+1)"
[class.ti-btn-soft-mute]="!item.statusCheckDate"
[attr.data-hs-tab]="'#underline-'+(i+1)" [attr.aria-controls]="'underline-'+(i+1)"
(click)="selectAppraisalCompentency(item)">
[class.active]="f" href="javascript:void(0);" [id]="'card-type-item-'+(i+1)"
[class.ti-btn-soft-mute]="!item.statusCheckDate" [attr.data-hs-tab]="'#underline-'+(i+1)"
[attr.aria-controls]="'underline-'+(i+1)" (click)="selectAppraisalCompentency(item)">
{{item.masfromEvaluationRound.tdesc}}
</a>
</nav>
......@@ -259,6 +258,7 @@
<ng-container *ngIf="onEdit=='pms'">
<app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินตนเอง','ประเมิน']"
(sendReturnPath)="getAppraisalCompentencyList();getAppraisalPmsList();onEdit='' ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']"
[masfromStatusType]="appraisalPms.select?.masfromStatusType?.code||''"
[evaluationRoundId]="appraisalPms.select?.pmsMasfromEvaluationRound?.pmsEvaluationRoundId || ''"
[evaluaterId]="evaluatee.data.employeeId" [evaluateeId]="evaluatee.data.employeeId"></app-pms-evalution>
</ng-container>
\ No newline at end of file
......@@ -125,7 +125,7 @@
[class.ti-btn-soft-warning]="item.statusIdp.statusType == 'BossEvaluating'"
[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;"
(click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId);pageEvalution='idp'">
(click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId,item.statusIdp.statusType);pageEvalution='idp'">
IDP
</button>
</div>
......@@ -134,7 +134,7 @@
<div class="flex justify-center">
<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;"
(click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId);pageEvalution='pms'">
(click)="selectSubordinate(item,'',subordinate.select?.evaluationRoundId,'');pageEvalution='pms'">
PMS
</button>
</div>
......@@ -241,14 +241,14 @@
<ng-container *ngIf="pageEvalution=='idp'">
<app-idp-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId"
[evaluateeId]="formEvaluation.evaluateeId"></app-idp-evalution>
[masfromStatusType]="formEvaluation.masfromStatusType" [evaluationRoundId]="formEvaluation.evaluationRoundId"
[evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-idp-evalution>
</ng-container>
<ng-container *ngIf="pageEvalution=='pms'">
<app-pms-evalution [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
(sendReturnPath)="getBossList();pageEvalution='' ; pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']"
[evaluationRoundId]="formEvaluation.evaluationRoundId" [evaluaterId]="formEvaluation.evaluaterId"
[evaluateeId]="formEvaluation.evaluateeId"></app-pms-evalution>
[masfromStatusType]="formEvaluation.masfromStatusType" [evaluationRoundId]="formEvaluation.evaluationRoundId"
[evaluaterId]="formEvaluation.evaluaterId" [evaluateeId]="formEvaluation.evaluateeId"></app-pms-evalution>
</ng-container>
<ng-container *ngIf="pageEvalution=='evaluation'">
<app-evaluation [pathTitle]="['การประเมินผล', 'ประเมินโดยหัวหน้า','ประเมิน']"
......
......@@ -19,7 +19,8 @@ export class SupervisorEvaluationComponent {
evaluateeId: "",
evaluaterId: "",
competencyTypeId: "",
evaluationRoundId: ""
evaluationRoundId: "",
masfromStatusType: ""
}
constructor(private appraisalService: AppraisalService,
private cdr: ChangeDetectorRef) {
......@@ -66,11 +67,12 @@ export class SupervisorEvaluationComponent {
this.currentPage = 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) {
this.formEvaluation.evaluateeId = data.apsassessy.employeeId
this.formEvaluation.competencyTypeId = competencyTypeId
this.formEvaluation.evaluationRoundId = evaluationRoundId
this.formEvaluation.masfromStatusType = masfromStatusType || ''
this.cdr.detectChanges()
}
}
......
......@@ -2,1246 +2,1275 @@ import { CompetencytypeModel, MyCompetencytypeModel } from "./competencytype.mod
import { MyStatusCodeModel, StatusCodeModel } from "./status-code.model"
export interface AppraisalPmsFormModel {
personalLevel: PersonalLevel
pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel
companyId: string
apsassessy: Apsassessy
apsapprove1: Apsapprove1
apsapprove2: Apsapprove2
apsapprove3: Apsapprove3
apsapprove4: Apsapprove4
apsapprove5: Apsapprove5
apsassessyStatus: string
apsapprove1Status: string
apsapprove2Status: string
apsapprove3Status: string
apsapprove4Status: string
apsapprove5Status: string
apsassessyScore: number
apsapprove1Score: number
apsapprove2Score: number
apsapprove3Score: number
apsapprove4Score: number
apsapprove5Score: number
part1Detail: Part1Detail[]
part2Detail: Part2Detail[]
part3Detail: Part3Detail[]
part4Detail: Part4Detail[]
part5Detail: Part5Detail[]
part6Detail: Part6Detail[]
part7Detail: Part7Detail[]
}
export interface PersonalLevel {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsMasfromEvaluationRoundModel {
pmsEvaluationRoundId: string
companyId: string
tdesc: string
edesc: string
apsyear: string
apsPeriodStart: string
apsPeriodEnd: string
jlId: string
personalLevel: PersonalLevel2[]
active: number
statusFrom: StatusFrom
statusCode: StatusCode
}
export interface PersonalLevel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface StatusFrom {
code: string
tdesc: string
edesc: string
}
export interface StatusCode {
code: string
tdesc: string
edesc: string
}
export interface Apsassessy {
employeeId: string
bossId: string
prefix: Prefix
fname: string
lname: string
efname: string
elname: string
bu1: Bu1
bu2: Bu2
bu3: Bu3
bu4: Bu4
bu5: Bu5
position: Position
job: Job
pl: Pl
status: Status
time0: Time0
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu1 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu2 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu3 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu4 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu5 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time0 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove1 {
employeeId: string
bossId: string
prefix: Prefix2
fname: string
lname: string
efname: string
elname: string
bu1: Bu12
bu2: Bu22
bu3: Bu32
bu4: Bu42
bu5: Bu52
position: Position2
job: Job2
pl: Pl2
status: Status2
time0: Time02
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix2 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu12 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu22 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu32 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu42 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu52 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position2 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job2 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status2 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time02 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove2 {
employeeId: string
bossId: string
prefix: Prefix3
fname: string
lname: string
efname: string
elname: string
bu1: Bu13
bu2: Bu23
bu3: Bu33
bu4: Bu43
bu5: Bu53
position: Position3
job: Job3
pl: Pl3
status: Status3
time0: Time03
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix3 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu13 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu23 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu33 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu43 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu53 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position3 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job3 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status3 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time03 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove3 {
employeeId: string
bossId: string
prefix: Prefix4
fname: string
lname: string
efname: string
elname: string
bu1: Bu14
bu2: Bu24
bu3: Bu34
bu4: Bu44
bu5: Bu54
position: Position4
job: Job4
pl: Pl4
status: Status4
time0: Time04
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix4 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu14 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu24 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu34 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu44 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu54 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position4 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job4 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status4 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time04 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove4 {
employeeId: string
bossId: string
prefix: Prefix5
fname: string
lname: string
efname: string
elname: string
bu1: Bu15
bu2: Bu25
bu3: Bu35
bu4: Bu45
bu5: Bu55
position: Position5
job: Job5
pl: Pl5
status: Status5
time0: Time05
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix5 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu15 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu25 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu35 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu45 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu55 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position5 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job5 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status5 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time05 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove5 {
employeeId: string
bossId: string
prefix: Prefix6
fname: string
lname: string
efname: string
elname: string
bu1: Bu16
bu2: Bu26
bu3: Bu36
bu4: Bu46
bu5: Bu56
position: Position6
job: Job6
pl: Pl6
status: Status6
time0: Time06
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix6 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu16 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu26 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu36 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu46 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu56 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position6 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job6 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status6 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time06 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Part1Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment1
}
export interface GroupAssessment1 {
personalLevelModel: PersonalLevelModel
companyId: string
pmsGroupAssessment0: PmsGroupAssessment0
pmsTopic: PmsTopic2
}
export interface PersonalLevelModel {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment0 {
personalLevel: PersonalLevel3
companyId: string
pmsTopic: PmsTopic
}
export interface PersonalLevel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic {
pmsTopicId: string
pmsType: PmsType
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic2 {
pmsTopicId: string
pmsType: PmsType2
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType2 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part2Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment12
}
export interface GroupAssessment12 {
personalLevelModel: PersonalLevelModel2
companyId: string
pmsGroupAssessment0: PmsGroupAssessment02
pmsTopic: PmsTopic4
}
export interface PersonalLevelModel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment02 {
personalLevel: PersonalLevel4
companyId: string
pmsTopic: PmsTopic3
}
export interface PersonalLevel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic3 {
pmsTopicId: string
pmsType: PmsType3
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType3 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic4 {
pmsTopicId: string
pmsType: PmsType4
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType4 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part3Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment13
}
export interface GroupAssessment13 {
personalLevelModel: PersonalLevelModel3
companyId: string
pmsGroupAssessment0: PmsGroupAssessment03
pmsTopic: PmsTopic6
}
export interface PersonalLevelModel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment03 {
personalLevel: PersonalLevel5
companyId: string
pmsTopic: PmsTopic5
}
export interface PersonalLevel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic5 {
pmsTopicId: string
pmsType: PmsType5
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType5 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic6 {
pmsTopicId: string
pmsType: PmsType6
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType6 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part4Detail {
plId: string
companyId: string
lineNo: number
competencyType: CompetencyType
masfromStatusType: MasfromStatusType
currentStep: string
lastStep: string
checkStep: string
apsassessyStatus: string
apsapprove1Status: string
apsapprove2Status: string
apsapprove3Status: string
apsapprove4Status: string
apsapprove5Status: string
numberCheck1: number
numberCheck2: number
numberCheck3: number
numberCheck4: number
numberCheck5: number
weightedTotal: number
averageScore: number
apsassessyComment: string
apsapprove1Comment: string
apsapprove2Comment: string
apsapprove3Comment: string
apsapprove4Comment: string
apsapprove5Comment: string
apsassessyDate: string
apsapprove1Date: string
apsapprove2Date: string
apsapprove3Date: string
apsapprove4Date: string
apsapprove5Date: string
evaluationResults: string
sumEvaluationResults: string
}
export interface CompetencyType {
competencyTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
expectationLevel: string
weight: number
}
export interface MasfromStatusType {
code: string
tdesc: string
edesc: string
}
export interface Part5Detail {
pmsWorkingTimeId: string
tdesc: string
edesc: string
weight: number
detailUnit: string
performanceTargets: string
targetADetail: string
targetBDetail: string
targetCDetail: string
targetDDetail: string
targetEDetail: string
pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number
}
export interface Part6Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment14
}
export interface GroupAssessment14 {
personalLevelModel: PersonalLevelModel4
companyId: string
pmsGroupAssessment0: PmsGroupAssessment04
pmsTopic: PmsTopic8
}
export interface PersonalLevelModel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment04 {
personalLevel: PersonalLevel6
companyId: string
pmsTopic: PmsTopic7
}
export interface PersonalLevel6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic7 {
pmsTopicId: string
pmsType: PmsType7
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType7 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic8 {
pmsTopicId: string
pmsType: PmsType8
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType8 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part7Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment15
}
export interface GroupAssessment15 {
personalLevelModel: PersonalLevelModel5
companyId: string
pmsGroupAssessment0: PmsGroupAssessment05
pmsTopic: PmsTopic10
}
export interface PersonalLevelModel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment05 {
personalLevel: PersonalLevel7
companyId: string
pmsTopic: PmsTopic9
}
export interface PersonalLevel7 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic9 {
pmsTopicId: string
pmsType: PmsType9
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType9 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic10 {
pmsTopicId: string
pmsType: PmsType10
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType10 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
\ No newline at end of file
personalLevel: PersonalLevel
pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel
companyId: string
active: boolean
masfromStatusType: MasfromStatusType
currentStep: string
lastStep: string
checkStep: string
apsassessy: Apsassessy
apsapprove1: Apsapprove1
apsapprove2: Apsapprove2
apsapprove3: Apsapprove3
apsapprove4: Apsapprove4
apsapprove5: Apsapprove5
apsassessyStatus: string
apsapprove1Status: string
apsapprove2Status: string
apsapprove3Status: string
apsapprove4Status: string
apsapprove5Status: string
employeeStrengths: string
learningTopicsForStrengths: string
performanceWeaknesses: string
learningTopicsForWeaknesses: string
improvementPlan: string
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[]
part2Detail: Part2Detail[]
part3Detail: Part3Detail[]
part4Detail: Part4Detail[]
part5Detail: Part5Detail[]
part6Detail: Part6Detail[]
part7Detail: Part7Detail[]
}
export interface PersonalLevel {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsMasfromEvaluationRoundModel {
pmsEvaluationRoundId: string
companyId: string
tdesc: string
edesc: string
apsyear: string
apsPeriodStart: string
apsPeriodEnd: string
jlId: string
personalLevel: PersonalLevel2[]
active: number
statusFrom: StatusFrom
statusCode: StatusCode
}
export interface PersonalLevel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface StatusFrom {
code: string
tdesc: string
edesc: string
}
export interface StatusCode {
code: string
tdesc: string
edesc: string
}
export interface MasfromStatusType {
code: string
tdesc: string
edesc: string
}
export interface Apsassessy {
employeeId: string
bossId: string
prefix: Prefix
fname: string
lname: string
efname: string
elname: string
bu1: Bu1
bu2: Bu2
bu3: Bu3
bu4: Bu4
bu5: Bu5
position: Position
job: Job
pl: Pl
status: Status
time0: Time0
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu1 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu2 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu3 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu4 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu5 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time0 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove1 {
employeeId: string
bossId: string
prefix: Prefix2
fname: string
lname: string
efname: string
elname: string
bu1: Bu12
bu2: Bu22
bu3: Bu32
bu4: Bu42
bu5: Bu52
position: Position2
job: Job2
pl: Pl2
status: Status2
time0: Time02
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix2 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu12 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu22 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu32 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu42 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu52 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position2 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job2 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status2 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time02 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove2 {
employeeId: string
bossId: string
prefix: Prefix3
fname: string
lname: string
efname: string
elname: string
bu1: Bu13
bu2: Bu23
bu3: Bu33
bu4: Bu43
bu5: Bu53
position: Position3
job: Job3
pl: Pl3
status: Status3
time0: Time03
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix3 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu13 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu23 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu33 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu43 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu53 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position3 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job3 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status3 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time03 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove3 {
employeeId: string
bossId: string
prefix: Prefix4
fname: string
lname: string
efname: string
elname: string
bu1: Bu14
bu2: Bu24
bu3: Bu34
bu4: Bu44
bu5: Bu54
position: Position4
job: Job4
pl: Pl4
status: Status4
time0: Time04
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix4 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu14 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu24 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu34 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu44 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu54 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position4 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job4 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status4 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time04 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove4 {
employeeId: string
bossId: string
prefix: Prefix5
fname: string
lname: string
efname: string
elname: string
bu1: Bu15
bu2: Bu25
bu3: Bu35
bu4: Bu45
bu5: Bu55
position: Position5
job: Job5
pl: Pl5
status: Status5
time0: Time05
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix5 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu15 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu25 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu35 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu45 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu55 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position5 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job5 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status5 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time05 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Apsapprove5 {
employeeId: string
bossId: string
prefix: Prefix6
fname: string
lname: string
efname: string
elname: string
bu1: Bu16
bu2: Bu26
bu3: Bu36
bu4: Bu46
bu5: Bu56
position: Position6
job: Job6
pl: Pl6
status: Status6
time0: Time06
resignDate: string
endWorkDate: string
startDate: string
thFullName: string
engFullName: string
}
export interface Prefix6 {
prefixId: string
tdesc: string
edesc: string
}
export interface Bu16 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
export interface Bu26 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu36 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu46 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Bu56 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
export interface Position6 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
export interface Job6 {
jobCodeId: string
tdesc: string
edesc: string
}
export interface Pl6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface Status6 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
export interface Time06 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
export interface Part1Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment1
}
export interface GroupAssessment1 {
personalLevelModel: PersonalLevelModel
companyId: string
pmsGroupAssessment0: PmsGroupAssessment0
pmsTopic: PmsTopic2
}
export interface PersonalLevelModel {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment0 {
personalLevel: PersonalLevel3
companyId: string
pmsTopic: PmsTopic
}
export interface PersonalLevel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic {
pmsTopicId: string
pmsType: PmsType
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic2 {
pmsTopicId: string
pmsType: PmsType2
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType2 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part2Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment12
}
export interface GroupAssessment12 {
personalLevelModel: PersonalLevelModel2
companyId: string
pmsGroupAssessment0: PmsGroupAssessment02
pmsTopic: PmsTopic4
}
export interface PersonalLevelModel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment02 {
personalLevel: PersonalLevel4
companyId: string
pmsTopic: PmsTopic3
}
export interface PersonalLevel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic3 {
pmsTopicId: string
pmsType: PmsType3
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType3 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic4 {
pmsTopicId: string
pmsType: PmsType4
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType4 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part3Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment13
}
export interface GroupAssessment13 {
personalLevelModel: PersonalLevelModel3
companyId: string
pmsGroupAssessment0: PmsGroupAssessment03
pmsTopic: PmsTopic6
}
export interface PersonalLevelModel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment03 {
personalLevel: PersonalLevel5
companyId: string
pmsTopic: PmsTopic5
}
export interface PersonalLevel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic5 {
pmsTopicId: string
pmsType: PmsType5
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType5 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic6 {
pmsTopicId: string
pmsType: PmsType6
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType6 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part4Detail {
plId: string
companyId: string
lineNo: number
competencyType: CompetencyType
masfromStatusType: MasfromStatusType2
currentStep: string
lastStep: string
checkStep: string
apsassessyStatus: string
apsapprove1Status: string
apsapprove2Status: string
apsapprove3Status: string
apsapprove4Status: string
apsapprove5Status: string
numberCheck1: number
numberCheck2: number
numberCheck3: number
numberCheck4: number
numberCheck5: number
weightedTotal: number
averageScore: number
apsassessyComment: string
apsapprove1Comment: string
apsapprove2Comment: string
apsapprove3Comment: string
apsapprove4Comment: string
apsapprove5Comment: string
apsassessyDate: string
apsapprove1Date: string
apsapprove2Date: string
apsapprove3Date: string
apsapprove4Date: string
apsapprove5Date: string
evaluationResults: string
sumEvaluationResults: string
}
export interface CompetencyType {
competencyTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
expectationLevel: string
weight: number
}
export interface MasfromStatusType2 {
code: string
tdesc: string
edesc: string
}
export interface Part5Detail {
pmsWorkingTimeId: string
tdesc: string
edesc: string
weight: number
detailUnit: string
performanceTargets: string
targetADetail: string
targetBDetail: string
targetCDetail: string
targetDDetail: string
targetEDetail: string
pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number
}
export interface Part6Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment14
}
export interface GroupAssessment14 {
personalLevelModel: PersonalLevelModel4
companyId: string
pmsGroupAssessment0: PmsGroupAssessment04
pmsTopic: PmsTopic8
}
export interface PersonalLevelModel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment04 {
personalLevel: PersonalLevel6
companyId: string
pmsTopic: PmsTopic7
}
export interface PersonalLevel6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic7 {
pmsTopicId: string
pmsType: PmsType7
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType7 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic8 {
pmsTopicId: string
pmsType: PmsType8
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType8 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface Part7Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment15
}
export interface GroupAssessment15 {
personalLevelModel: PersonalLevelModel5
companyId: string
pmsGroupAssessment0: PmsGroupAssessment05
pmsTopic: PmsTopic10
}
export interface PersonalLevelModel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsGroupAssessment05 {
personalLevel: PersonalLevel7
companyId: string
pmsTopic: PmsTopic9
}
export interface PersonalLevel7 {
plId: string
tdesc: string
edesc: string
companyId: string
}
export interface PmsTopic9 {
pmsTopicId: string
pmsType: PmsType9
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType9 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
export interface PmsTopic10 {
pmsTopicId: string
pmsType: PmsType10
companyId: string
lineNo: number
edesc: string
tdesc: string
indicatorsDetail: string
performanceGoalsDetail: string
weight: number
detailUnit: string
completionDate: string
targetAdetail: string
targetBdetail: string
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
export interface PmsType10 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
\ No newline at end of file
......@@ -34,4 +34,7 @@ export class AppraisalService {
getFormPmsById(evaluationRoundId: string, apsassessy: string): Observable<AppraisalPmsFormModel> {
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