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,6 +264,9 @@ export class PmsEvalutionComponent {
}
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) {
item.scoreTopicExpectation = score
item.scoreTopicExpectationBoss = score
......@@ -225,4 +274,178 @@ export class PmsEvalutionComponent {
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 @@
<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.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()
}
}
......
......@@ -5,6 +5,11 @@ export interface AppraisalPmsFormModel {
personalLevel: PersonalLevel
pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel
companyId: string
active: boolean
masfromStatusType: MasfromStatusType
currentStep: string
lastStep: string
checkStep: string
apsassessy: Apsassessy
apsapprove1: Apsapprove1
apsapprove2: Apsapprove2
......@@ -17,12 +22,31 @@ export interface AppraisalPmsFormModel {
apsapprove3Status: string
apsapprove4Status: string
apsapprove5Status: string
apsassessyScore: number
apsapprove1Score: number
apsapprove2Score: number
apsapprove3Score: number
apsapprove4Score: number
apsapprove5Score: number
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[]
......@@ -30,16 +54,16 @@ export interface AppraisalPmsFormModel {
part5Detail: Part5Detail[]
part6Detail: Part6Detail[]
part7Detail: Part7Detail[]
}
}
export interface PersonalLevel {
export interface PersonalLevel {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsMasfromEvaluationRoundModel {
export interface PmsMasfromEvaluationRoundModel {
pmsEvaluationRoundId: string
companyId: string
tdesc: string
......@@ -52,28 +76,34 @@ export interface AppraisalPmsFormModel {
active: number
statusFrom: StatusFrom
statusCode: StatusCode
}
}
export interface PersonalLevel2 {
export interface PersonalLevel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface StatusFrom {
export interface StatusFrom {
code: string
tdesc: string
edesc: string
}
}
export interface StatusCode {
export interface StatusCode {
code: string
tdesc: string
edesc: string
}
}
export interface Apsassessy {
export interface MasfromStatusType {
code: string
tdesc: string
edesc: string
}
export interface Apsassessy {
employeeId: string
bossId: string
prefix: Prefix
......@@ -96,91 +126,91 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix {
export interface Prefix {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu1 {
export interface Bu1 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu2 {
export interface Bu2 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu3 {
export interface Bu3 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu4 {
export interface Bu4 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu5 {
export interface Bu5 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position {
export interface Position {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job {
export interface Job {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl {
export interface Pl {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status {
export interface Status {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time0 {
export interface Time0 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Apsapprove1 {
export interface Apsapprove1 {
employeeId: string
bossId: string
prefix: Prefix2
......@@ -203,91 +233,91 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix2 {
export interface Prefix2 {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu12 {
export interface Bu12 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu22 {
export interface Bu22 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu32 {
export interface Bu32 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu42 {
export interface Bu42 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu52 {
export interface Bu52 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position2 {
export interface Position2 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job2 {
export interface Job2 {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl2 {
export interface Pl2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status2 {
export interface Status2 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time02 {
export interface Time02 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Apsapprove2 {
export interface Apsapprove2 {
employeeId: string
bossId: string
prefix: Prefix3
......@@ -310,91 +340,91 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix3 {
export interface Prefix3 {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu13 {
export interface Bu13 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu23 {
export interface Bu23 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu33 {
export interface Bu33 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu43 {
export interface Bu43 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu53 {
export interface Bu53 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position3 {
export interface Position3 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job3 {
export interface Job3 {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl3 {
export interface Pl3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status3 {
export interface Status3 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time03 {
export interface Time03 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Apsapprove3 {
export interface Apsapprove3 {
employeeId: string
bossId: string
prefix: Prefix4
......@@ -417,91 +447,91 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix4 {
export interface Prefix4 {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu14 {
export interface Bu14 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu24 {
export interface Bu24 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu34 {
export interface Bu34 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu44 {
export interface Bu44 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu54 {
export interface Bu54 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position4 {
export interface Position4 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job4 {
export interface Job4 {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl4 {
export interface Pl4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status4 {
export interface Status4 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time04 {
export interface Time04 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Apsapprove4 {
export interface Apsapprove4 {
employeeId: string
bossId: string
prefix: Prefix5
......@@ -524,91 +554,91 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix5 {
export interface Prefix5 {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu15 {
export interface Bu15 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu25 {
export interface Bu25 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu35 {
export interface Bu35 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu45 {
export interface Bu45 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu55 {
export interface Bu55 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position5 {
export interface Position5 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job5 {
export interface Job5 {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl5 {
export interface Pl5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status5 {
export interface Status5 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time05 {
export interface Time05 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Apsapprove5 {
export interface Apsapprove5 {
employeeId: string
bossId: string
prefix: Prefix6
......@@ -631,127 +661,127 @@ export interface AppraisalPmsFormModel {
startDate: string
thFullName: string
engFullName: string
}
}
export interface Prefix6 {
export interface Prefix6 {
prefixId: string
tdesc: string
edesc: string
}
}
export interface Bu16 {
export interface Bu16 {
bu1id: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Bu26 {
export interface Bu26 {
bu2id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu36 {
export interface Bu36 {
bu3id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu46 {
export interface Bu46 {
bu4id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Bu56 {
export interface Bu56 {
bu5id: string
tdesc: string
edesc: string
parent: string
companyId: string
}
}
export interface Position6 {
export interface Position6 {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
}
export interface Job6 {
export interface Job6 {
jobCodeId: string
tdesc: string
edesc: string
}
}
export interface Pl6 {
export interface Pl6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface Status6 {
export interface Status6 {
statusCode: string
statusType: string
tdesc: string
edesc: string
}
}
export interface Time06 {
export interface Time06 {
time0id: string
tdesc: string
edesc: string
stickTm: string
hourD: number
}
}
export interface Part1Detail {
export interface Part1Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment1
}
}
export interface GroupAssessment1 {
export interface GroupAssessment1 {
personalLevelModel: PersonalLevelModel
companyId: string
pmsGroupAssessment0: PmsGroupAssessment0
pmsTopic: PmsTopic2
}
}
export interface PersonalLevelModel {
export interface PersonalLevelModel {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsGroupAssessment0 {
export interface PmsGroupAssessment0 {
personalLevel: PersonalLevel3
companyId: string
pmsTopic: PmsTopic
}
}
export interface PersonalLevel3 {
export interface PersonalLevel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsTopic {
export interface PmsTopic {
pmsTopicId: string
pmsType: PmsType
companyId: string
......@@ -768,18 +798,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType {
export interface PmsType {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface PmsTopic2 {
export interface PmsTopic2 {
pmsTopicId: string
pmsType: PmsType2
companyId: string
......@@ -796,54 +826,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType2 {
export interface PmsType2 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface Part2Detail {
export interface Part2Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment12
}
}
export interface GroupAssessment12 {
export interface GroupAssessment12 {
personalLevelModel: PersonalLevelModel2
companyId: string
pmsGroupAssessment0: PmsGroupAssessment02
pmsTopic: PmsTopic4
}
}
export interface PersonalLevelModel2 {
export interface PersonalLevelModel2 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsGroupAssessment02 {
export interface PmsGroupAssessment02 {
personalLevel: PersonalLevel4
companyId: string
pmsTopic: PmsTopic3
}
}
export interface PersonalLevel4 {
export interface PersonalLevel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsTopic3 {
export interface PmsTopic3 {
pmsTopicId: string
pmsType: PmsType3
companyId: string
......@@ -860,18 +890,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType3 {
export interface PmsType3 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface PmsTopic4 {
export interface PmsTopic4 {
pmsTopicId: string
pmsType: PmsType4
companyId: string
......@@ -888,54 +918,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType4 {
export interface PmsType4 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface Part3Detail {
export interface Part3Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment13
}
}
export interface GroupAssessment13 {
export interface GroupAssessment13 {
personalLevelModel: PersonalLevelModel3
companyId: string
pmsGroupAssessment0: PmsGroupAssessment03
pmsTopic: PmsTopic6
}
}
export interface PersonalLevelModel3 {
export interface PersonalLevelModel3 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsGroupAssessment03 {
export interface PmsGroupAssessment03 {
personalLevel: PersonalLevel5
companyId: string
pmsTopic: PmsTopic5
}
}
export interface PersonalLevel5 {
export interface PersonalLevel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsTopic5 {
export interface PmsTopic5 {
pmsTopicId: string
pmsType: PmsType5
companyId: string
......@@ -952,18 +982,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType5 {
export interface PmsType5 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface PmsTopic6 {
export interface PmsTopic6 {
pmsTopicId: string
pmsType: PmsType6
companyId: string
......@@ -980,23 +1010,23 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType6 {
export interface PmsType6 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface Part4Detail {
export interface Part4Detail {
plId: string
companyId: string
lineNo: number
competencyType: CompetencyType
masfromStatusType: MasfromStatusType
masfromStatusType: MasfromStatusType2
currentStep: string
lastStep: string
checkStep: string
......@@ -1027,9 +1057,9 @@ export interface AppraisalPmsFormModel {
apsapprove5Date: string
evaluationResults: string
sumEvaluationResults: string
}
}
export interface CompetencyType {
export interface CompetencyType {
competencyTypeId: string
companyId: string
edesc: string
......@@ -1037,15 +1067,15 @@ export interface AppraisalPmsFormModel {
shortName: string
expectationLevel: string
weight: number
}
}
export interface MasfromStatusType {
export interface MasfromStatusType2 {
code: string
tdesc: string
edesc: string
}
}
export interface Part5Detail {
export interface Part5Detail {
pmsWorkingTimeId: string
tdesc: string
edesc: string
......@@ -1059,45 +1089,45 @@ export interface AppraisalPmsFormModel {
targetEDetail: string
pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number
}
}
export interface Part6Detail {
export interface Part6Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment14
}
}
export interface GroupAssessment14 {
export interface GroupAssessment14 {
personalLevelModel: PersonalLevelModel4
companyId: string
pmsGroupAssessment0: PmsGroupAssessment04
pmsTopic: PmsTopic8
}
}
export interface PersonalLevelModel4 {
export interface PersonalLevelModel4 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsGroupAssessment04 {
export interface PmsGroupAssessment04 {
personalLevel: PersonalLevel6
companyId: string
pmsTopic: PmsTopic7
}
}
export interface PersonalLevel6 {
export interface PersonalLevel6 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsTopic7 {
export interface PmsTopic7 {
pmsTopicId: string
pmsType: PmsType7
companyId: string
......@@ -1114,18 +1144,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType7 {
export interface PmsType7 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface PmsTopic8 {
export interface PmsTopic8 {
pmsTopicId: string
pmsType: PmsType8
companyId: string
......@@ -1142,54 +1172,54 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType8 {
export interface PmsType8 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface Part7Detail {
export interface Part7Detail {
companyId: string
weight: number
lineNo: number
scoreTopicExpectation: number
scoreTopicExpectationBoss: number
groupAssessment1: GroupAssessment15
}
}
export interface GroupAssessment15 {
export interface GroupAssessment15 {
personalLevelModel: PersonalLevelModel5
companyId: string
pmsGroupAssessment0: PmsGroupAssessment05
pmsTopic: PmsTopic10
}
}
export interface PersonalLevelModel5 {
export interface PersonalLevelModel5 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsGroupAssessment05 {
export interface PmsGroupAssessment05 {
personalLevel: PersonalLevel7
companyId: string
pmsTopic: PmsTopic9
}
}
export interface PersonalLevel7 {
export interface PersonalLevel7 {
plId: string
tdesc: string
edesc: string
companyId: string
}
}
export interface PmsTopic9 {
export interface PmsTopic9 {
pmsTopicId: string
pmsType: PmsType9
companyId: string
......@@ -1206,18 +1236,18 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType9 {
export interface PmsType9 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
}
export interface PmsTopic10 {
export interface PmsTopic10 {
pmsTopicId: string
pmsType: PmsType10
companyId: string
......@@ -1234,14 +1264,13 @@ export interface AppraisalPmsFormModel {
targetCdetail: string
targetDdetail: string
targetEdetail: string
}
}
export interface PmsType10 {
export interface PmsType10 {
pmsTypeId: string
companyId: string
edesc: string
tdesc: string
shortName: string
weight: number
}
\ No newline at end of file
}
\ 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