Commit 75f423e8 by Nattana Chaiyamat

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

parent 302f8fe6
......@@ -173,7 +173,6 @@ import { PmsInformationComponent } from '../performance-evaluation/pms-form-empl
import { PmsCompetencyComponent } from '../performance-evaluation/pms-form-employee/pms-competency/pms-competency.component';
import { PmsKpiComponent } from '../performance-evaluation/pms-form-employee/pms-kpi/pms-kpi.component';
import { PmsIdpComponent } from '../performance-evaluation/pms-form-employee/pms-idp/pms-idp.component';
import { PmsSummaryComponent } from '../performance-evaluation/pms-form-employee/pms-summary/pms-summary.component';
import { BarRatingModule } from 'ngx-bar-rating';
import { EmployeeSelfServiceComponent } from '../employee-self-service/employee-self-service.component';
import { MySkillXModuleComponent } from '../my-skill-x-module/my-skill-x-module.component';
......@@ -337,7 +336,6 @@ export class CustomDateAdapter extends NativeDateAdapter {
PmsCompetencyComponent,
PmsKpiComponent,
PmsIdpComponent,
PmsSummaryComponent,
EmployeeSelfServiceComponent,
MySkillXModuleComponent,
DashboardEvaluationComponent,
......
......@@ -220,19 +220,19 @@
<div class="col-span-8">รวมจำนวนเครื่องหมายแต่ละช่อง (1)</div>
<div class="col-span-3 grid grid-cols-5">
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck5}}
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck5Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck4}}
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck4Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck3}}
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck3Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck2}}
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck2Boss}}
</div>
<div class="col-span-1 text-center">
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck1}}
{{appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].numberCheck1Boss}}
</div>
</div>
</div>
......@@ -249,7 +249,7 @@
<div class="py-2 grid grid-cols-11">
<div class="col-span-8">ถ่วงน้ำหนักผลรวม 1X2</div>
<div class="col-span-3 grid grid-cols-5">
<div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{calWeightScore(item)}}</div>
<div class="col-span-1 text-center" *ngFor="let item of [5,4,3,2,1]">{{calWeightScoreBoss(item)}}</div>
</div>
</div>
<div class="py-2 grid grid-cols-11">
......@@ -257,7 +257,7 @@
</div>
<div class="col-span-3 grid grid-cols-5">
<div class="col-span-5 text-center text-indigo-600 font-semibold">
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].weightedTotal)}}
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].weightedTotalBoss)}}
</div>
</div>
</div>
......@@ -266,7 +266,7 @@
</div>
<div class="col-span-3 grid grid-cols-5">
<div class="col-span-5 text-center text-indigo-600 font-semibold">
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScore)}}
{{showNumber(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScoreBoss)}}
</div>
</div>
</div>
......@@ -306,10 +306,10 @@
</div>
</td>
<td class="align-start text-center text-indigo-600 font-semibold">
{{calAverage(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScore)}}
{{calAverage(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScoreBoss)}}
</td>
<td class="align-start text-center text-indigo-600 font-semibold">
{{calGap(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScore)}}
{{calGap(appraisalCompentencyList[appraisalCompentencyIndex].masfromEvaluationAssessment1lList[0].averageScoreBoss)}}
</td>
</tr>
<tr (mouseenter)="hoveredCode2 = 'true'" (mouseleave)="hoveredCode2 = null"
......
......@@ -52,20 +52,20 @@ export class PmsFormEmployeeComponent {
currentDate = new Date()
comment = ""
compentencyScoreBoss: String[] = []
compentencyWeightScoreBoss = ""
compentencyGapBoss = ""
compentencyScore: String[] = []
compentencyWeightScore = ""
compentencyGap = ""
compentencyScoreEmp: String[] = []
compentencyWeightScoreEmp = ""
compentencyGapEmp = ""
inforWeightBoss: Map<string, string> = new Map<string, string>()
inforGapBoss: Map<string, string> = new Map<string, string>()
inforWeight: Map<string, string> = new Map<string, string>()
inforGap: Map<string, string> = new Map<string, string>()
inforWeightEmp: Map<string, string> = new Map<string, string>()
inforGapEmp: Map<string, string> = new Map<string, string>()
kpiScorePartBoss: { text: string, score: string }[] = []
kpiScorePart: { text: string, score: string }[] = []
kpiScorePartEmp: { text: string, score: string }[] = []
menuClose: Map<string, boolean> = new Map<string, boolean>()
......
......@@ -44,26 +44,26 @@
</td>
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<td class="py-2 text-center" style="vertical-align: top">
{{inforWeightEmp.get(item.comType)!=='undefined' && inforWeightEmp.get(item.comType)
!=='null'?inforWeightEmp.get(item.comType): '0'}}
{{inforWeight.get(item.comType)!=='undefined' && inforWeight.get(item.comType)
!=='null'?inforWeight.get(item.comType): '0'}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{inforGapEmp.get(item.comType)!=='null'?inforGapEmp.get(item.comType): ''}}
{{inforGap.get(item.comType)!=='null'?inforGap.get(item.comType): ''}}
</td>
</ng-container>
<ng-container *ngIf="evaluaterId!=evaluateeId||complete">
<td class="py-2 text-center" style="vertical-align: top">
{{inforWeightEmp.get(item.comType)!=='undefined' && inforWeightEmp.get(item.comType)
!=='null'?inforWeightEmp.get(item.comType): '0'}}
{{inforWeight.get(item.comType)!=='undefined' && inforWeight.get(item.comType)
!=='null'?inforWeight.get(item.comType): '0'}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{inforWeight.get(item.comType) !=='null'?inforWeight.get(item.comType): '0'}}
{{inforWeightBoss.get(item.comType) !=='null'?inforWeightBoss.get(item.comType): '0'}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{inforGapEmp.get(item.comType)!=='null'?inforGapEmp.get(item.comType): ''}}
{{inforGap.get(item.comType)!=='null'?inforGap.get(item.comType): ''}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{inforGap.get(item.comType)!=='null'?inforGap.get(item.comType): ''}}
{{inforGapBoss.get(item.comType)!=='null'?inforGapBoss.get(item.comType): ''}}
</td>
</ng-container>
<td class="py-2 text-center" style="vertical-align: top">
......@@ -120,15 +120,15 @@
</td>
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<td class="py-2 text-center" style="vertical-align: top">
{{kpiScoreEmp}}
{{kpiScore}}
</td>
</ng-container>
<ng-container *ngIf="evaluaterId!=evaluateeId||complete">
<td class="py-2 text-center" style="vertical-align: top">
{{kpiScoreEmp}}
{{kpiScore}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{kpiScore}}
{{kpiScoreBoss}}
</td>
</ng-container>
<td class="py-2 text-center" style="vertical-align: top">
......
......@@ -10,14 +10,14 @@ export class PmsInformationComponent {
@Input() canSave = false
@Input() complete = false
@Input() statusType = ''
@Input() inforWeightBoss: Map<string, string> = new Map<string, string>()
@Input() inforGapBoss: Map<string, string> = new Map<string, string>()
@Input() inforWeight: Map<string, string> = new Map<string, string>()
@Input() inforGap: Map<string, string> = new Map<string, string>()
@Input() inforWeightEmp: Map<string, string> = new Map<string, string>()
@Input() inforGapEmp: Map<string, string> = new Map<string, string>()
@Input() appraisalCompentencyList: Competency[] = []
@Input() appraisalPms?: Pms
@Input() kpiScoreBoss: string = ""
@Input() kpiScore: string = ""
@Input() kpiScoreEmp: string = ""
@Input() kpiGrade: string = ""
@Input() kpiName: string = ""
@Input() evaluateeId = ""
......
......@@ -4,14 +4,14 @@
<ng-container *ngIf="appraisalPms">
<div class="flex flex-col">
<div class="flex py-2 flex-row gap-2 sticky" style="top:0;z-index:2;background: white;">
<ng-container *ngIf="currentTap == 'ประเมินผลการปฏิบัติงาน'">
<ng-container *ngFor="let item of partShow;let i=index">
<button type="button"
class="flex justify-center !items-center border bg-white p-1 text-center font-semibold"
(click)="scrollToMenu(currentTap == 'ประเมินผลการปฏิบัติงาน'?('menu-part-'+(i+1)):('menu-part-'+(i+8)));currentPart=item;toggleAllParts(true,item)"
(click)="scrollToMenu('menu-part-'+(i+1));currentPart=item;toggleAllParts(true,item)"
style="border-radius:20px;width: 100px"
[ngClass]="{'!bg-primary text-white':currentPart==item}">
<span class="leading-none">{{ item }}</span>
<ng-container *ngIf="currentTap == 'ประเมินผลการปฏิบัติงาน'">
<ng-container *ngIf="remainList()[i]>=0">
&nbsp;
<span class="flex align-center justify-center rounded-circle text-white"
......@@ -22,9 +22,20 @@
<i *ngIf="!remainList()[i]" class="ti ti-check"></i>
</span>
</ng-container>
</button>
</ng-container>
</ng-container>
<ng-container *ngIf="currentTap != 'ประเมินผลการปฏิบัติงาน'">
<ng-container *ngFor="let item of partShow;let i=index">
<button type="button"
class="flex justify-center !items-center border bg-white p-1 text-center font-semibold"
(click)="scrollToMenu('menu-part-'+(i+8));currentPart=item;toggleAllParts(true,item)"
style="border-radius:20px;width: 100px"
[ngClass]="{'!bg-primary text-white':currentPart==item}">
<span class="leading-none">{{ item }}</span>
</button>
</ng-container>
</ng-container>
<div class="flex justify-around !items-center border bg-white p-2 text-right"
style="border-radius:20px;width: 100px;margin-left: auto;--tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity));">
<i title="แสดงทั้งหมด" class="bg-white cursor-pointer border ti ti-chevron-down"
......@@ -897,9 +908,9 @@
style="border-radius:5px" (mouseenter)="partScore.set(item.tdesc,item2)"
(mouseleave)="partScore.clear()"
(click)="setScorePart5(item,item2);allFormRemain()" [ngClass]="{
'!border-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimScore>=item2:item.pmsWorkingTimScoreBoss>=item2)||(partScore.get(item.tdesc) ?? 0)>=item2 ,
'!text-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimScore>item2:item.pmsWorkingTimScoreBoss>item2)||(partScore.get(item.tdesc) ?? 0)>item2,
'!text-white !bg-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimScore==item2:item.pmsWorkingTimScoreBoss==item2)||(partScore.get(item.tdesc) ?? 0)==item2,
'!border-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimeScore>=item2:item.pmsWorkingTimeScoreBoss>=item2)||(partScore.get(item.tdesc) ?? 0)>=item2 ,
'!text-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimeScore>item2:item.pmsWorkingTimeScoreBoss>item2)||(partScore.get(item.tdesc) ?? 0)>item2,
'!text-white !bg-secondary': (evaluaterId==evaluateeId?item.pmsWorkingTimeScore==item2:item.pmsWorkingTimeScoreBoss==item2)||(partScore.get(item.tdesc) ?? 0)==item2,
'pointer-events-none':!canEdit}">
{{item2}}
</button>
......@@ -914,16 +925,16 @@
</td>
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.weight * item.pmsWorkingTimScore)}}
{{numberFixed2(item.weight * item.pmsWorkingTimeScore)}}
</td>
</ng-container>
<ng-container *ngIf="evaluaterId!=evaluateeId||complete">
<td class="py-2 text-center" style="vertical-align: top">
{{item.pmsWorkingTimScore}}
{{item.pmsWorkingTimeScore}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.weight *
(evaluaterId==evaluateeId?item.pmsWorkingTimScore:item.pmsWorkingTimScoreBoss))}}
(evaluaterId==evaluateeId?item.pmsWorkingTimeScore:item.pmsWorkingTimeScoreBoss))}}
</td>
</ng-container>
</tr>
......@@ -1451,25 +1462,25 @@
</td>
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.scoreObtainedEmp)}}
{{numberFixed2(item.scoreObtained)}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.netScoreEmp)}}
{{numberFixed2(item.netScore)}}
</td>
</ng-container>
<ng-container *ngIf="evaluaterId!=evaluateeId||complete">
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.scoreObtainedEmp)}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.scoreObtained)}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.netScoreEmp)}}
{{numberFixed2(item.scoreObtainedBoss)}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.netScore)}}
</td>
<td class="py-2 text-center" style="vertical-align: top">
{{numberFixed2(item.netScoreBoss)}}
</td>
</ng-container>
</tr>
</ng-container>
......@@ -1484,25 +1495,25 @@
</td>
<ng-container *ngIf="evaluaterId==evaluateeId&&!complete">
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calScoreObtainedEmp()}}
{{calScoreObtained()}}
</td>
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calNetScoreEmp()}}
{{calNetScore()}}
</td>
</ng-container>
<ng-container *ngIf="evaluaterId!=evaluateeId||complete">
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calScoreObtainedEmp()}}
</td>
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calScoreObtained()}}
</td>
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calNetScoreEmp()}}
{{calScoreObtainedBoss()}}
</td>
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calNetScore()}}
</td>
<td class="py-2 align-start text-center font-semibold text-indigo-600">
{{calNetScoreBoss()}}
</td>
</ng-container>
</tr>
</tbody>
......
......@@ -1097,8 +1097,8 @@ export interface Part5Detail {
targetCDetail: string
targetDDetail: string
targetEDetail: string
pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number
pmsWorkingTimeScore: number
pmsWorkingTimeScoreBoss: number
}
export interface Part6Detail {
......
......@@ -713,26 +713,26 @@ export interface MasfromEvaluationAssessment1lList {
apsassessyComment: string
apsassessyDate: string
apsassessyStatus: string
averageScoreBoss: number
averageScore: number
averageScoreEmp: number
companyId: string
competencyType: CompetencyType
evaluationResults: string
lineNo: number
numberCheck1Boss: number
numberCheck2Boss: number
numberCheck3Boss: number
numberCheck4Boss: number
numberCheck5Boss: number
numberCheck1: number
numberCheck2: number
numberCheck3: number
numberCheck4: number
numberCheck5: number
numberCheck1Emp: number
numberCheck2Emp: number
numberCheck3Emp: number
numberCheck4Emp: number
numberCheck5Emp: number
plId: string
sumEvaluationResults: string
weightedTotalBoss: number
weightedTotal: number
weightedTotalEmp: number
masfromEvaluationAssessment2List: MasfromEvaluationAssessment2List[]
}
......@@ -2776,36 +2776,36 @@ export interface Pms {
learningTopicsForStrengths: string
learningTopicsForWeaknesses: string
masfromStatusType: MasfromStatusType4
netScoreBoss: number
netScore: number
netScoreEmp: number
part1Detail: Part1Detail[]
part1Percentage: number
part1SumScoreBoss: number
part1SumScore: number
part1SumScoreEmp: number
part2Detail: Part2Detail[]
part2Percentage: number
part2SumScoreBoss: number
part2SumScore: number
part2SumScoreEmp: number
part3Detail: Part3Detail[]
part3Percentage: number
part3SumScoreBoss: number
part3SumScore: number
part3SumScoreEmp: number
part4Detail: Part4Detail[]
part4Percentage: number
part4SumScoreBoss: number
part4SumScore: number
part4SumScoreEmp: number
part5Detail: Part5Detail[]
part5Percentage: number
part5SumScoreBoss: number
part5SumScore: number
part5SumScoreEmp: number
part6Detail: Part6Detail[]
part6Percentage: number
part6SumScoreBoss: number
part6SumScore: number
part6SumScoreEmp: number
part7Detail: Part7Detail[]
part7Percentage: number
part7SumScoreBoss: number
part7SumScore: number
part7SumScoreEmp: number
performanceWeaknesses: string
personalLevel: PersonalLevel11
pmsMasfromEvaluationRoundModel: PmsMasfromEvaluationRoundModel
......@@ -3706,8 +3706,8 @@ export interface Part5Detail {
edesc: string
performanceTargets: string
pmsWorkingTimeId: string
pmsWorkingTimScore: number
pmsWorkingTimScoreBoss: number
pmsWorkingTimeScore: number
pmsWorkingTimeScoreBoss: number
targetADetail: string
targetBDetail: string
targetCDetail: string
......
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