Commit e9ba937e by Nattana Chaiyamat

ประเมิน PMS

parent f340884f
...@@ -38,7 +38,7 @@ import { EvaluationFactorsComponent } from '../performance-management-evaluation ...@@ -38,7 +38,7 @@ import { EvaluationFactorsComponent } from '../performance-management-evaluation
import { GradeRegistrationComponent } from '../competency-assessment/grade-registration/grade-registration.component'; import { GradeRegistrationComponent } from '../competency-assessment/grade-registration/grade-registration.component';
import { SettingPerformanceEvalutionComponent } from '../performance-management-evaluation/setting-performance-evalution/setting-performance-evalution.component'; import { SettingPerformanceEvalutionComponent } from '../performance-management-evaluation/setting-performance-evalution/setting-performance-evalution.component';
import { SelfEvaluationComponent } from '../performance-evaluation/self-evaluation/self-evaluation.component'; import { SelfEvaluationComponent } from '../performance-evaluation/self-evaluation/self-evaluation.component';
import { IdpEvalutionComponent } from '../evaluation/idp-evalution.component'; import { IdpEvalutionComponent } from '../performance-evaluation/idp-evaluation/idp-evalution.component';
......
...@@ -110,8 +110,9 @@ import { SubGradeRegistrationComponent } from '../competency-assessment/grade-re ...@@ -110,8 +110,9 @@ import { SubGradeRegistrationComponent } from '../competency-assessment/grade-re
import { SettingPerformanceEvalutionComponent } from '../performance-management-evaluation/setting-performance-evalution/setting-performance-evalution.component'; import { SettingPerformanceEvalutionComponent } from '../performance-management-evaluation/setting-performance-evalution/setting-performance-evalution.component';
import { AssessmentSystemConfigurationComponent } from '../performance-management-evaluation/setting-performance-evalution/assessment-system-configuration/assessment-system-configuration.component'; import { AssessmentSystemConfigurationComponent } from '../performance-management-evaluation/setting-performance-evalution/assessment-system-configuration/assessment-system-configuration.component';
import { SelfEvaluationComponent } from '../performance-evaluation/self-evaluation/self-evaluation.component'; import { SelfEvaluationComponent } from '../performance-evaluation/self-evaluation/self-evaluation.component';
import { IdpEvalutionComponent } from '../evaluation/idp-evalution.component';
import { CompanyRegistrationPageComponent } from '../company-components/company-registration/company-registration-page/company-registration-page.component'; import { CompanyRegistrationPageComponent } from '../company-components/company-registration/company-registration-page/company-registration-page.component';
import { IdpEvalutionComponent } from '../performance-evaluation/idp-evaluation/idp-evalution.component';
import { PmsEvalutionComponent } from '../performance-evaluation/pms-evaluation/pms-evalution.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -205,7 +206,8 @@ import { CompanyRegistrationPageComponent } from '../company-components/company- ...@@ -205,7 +206,8 @@ import { CompanyRegistrationPageComponent } from '../company-components/company-
AssessmentSystemConfigurationComponent, AssessmentSystemConfigurationComponent,
SelfEvaluationComponent, SelfEvaluationComponent,
IdpEvalutionComponent, IdpEvalutionComponent,
CompanyRegistrationPageComponent CompanyRegistrationPageComponent,
PmsEvalutionComponent,
], ],
imports: [ imports: [
CommonModule, CommonModule,
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
<ng-template #idpEvaluation> <ng-template #idpEvaluation>
<div class="pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center"> <div class="pb-2rem px-2rem pt-1.5rem w-full min-height-50px justify-between items-center">
<div class="flex"> <div class="flex">
<button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"> <button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"
(click)="returnPage()">
<i class="ti ti-chevron-left"></i> <i class="ti ti-chevron-left"></i>
ย้อนกลับ ย้อนกลับ
</button> </button>
......
import { Component } from '@angular/core'; import { Component, EventEmitter, Output } from '@angular/core';
export interface DataModel { export interface DataModel {
code: string, code: string,
bis: BisModel[], bis: BisModel[],
...@@ -23,6 +23,7 @@ export interface CdrModel { ...@@ -23,6 +23,7 @@ export interface CdrModel {
styleUrls: ['./idp-evalution.component.scss'] styleUrls: ['./idp-evalution.component.scss']
}) })
export class IdpEvalutionComponent { export class IdpEvalutionComponent {
@Output() sendPageEvalution: EventEmitter<string> = new EventEmitter<string>();
pathTitle = ['การประเมินผล', 'ประเมินผล'] pathTitle = ['การประเมินผล', 'ประเมินผล']
hoveredCode: string | null = null; hoveredCode: string | null = null;
dataList: DataModel[] = [{ dataList: DataModel[] = [{
...@@ -81,4 +82,8 @@ export class IdpEvalutionComponent { ...@@ -81,4 +82,8 @@ export class IdpEvalutionComponent {
dataListFilter() { dataListFilter() {
return this.dataList return this.dataList
} }
returnPage() {
this.sendPageEvalution.emit("")
}
} }
...@@ -125,7 +125,6 @@ ...@@ -125,7 +125,6 @@
// margin-bottom: 10px; // margin-bottom: 10px;
justify-content: space-between; /* จัดเรียงองค์ประกอบภายใน */ justify-content: space-between; /* จัดเรียงองค์ประกอบภายใน */
align-items: center; /* จัดกลางแนวตั้ง */ align-items: center; /* จัดกลางแนวตั้ง */
padding-top: 50px;
padding-bottom: 1rem; padding-bottom: 1rem;
} }
.header-title-table { .header-title-table {
......
...@@ -2,13 +2,14 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; ...@@ -2,13 +2,14 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ToastrService } from 'ngx-toastr'; import { ToastrService } from 'ngx-toastr';
@Component({ @Component({
selector: 'app-round-one', selector: 'app-round-one',
templateUrl: './round-one.component.html', templateUrl: './round-one.component.html',
styleUrls: ['./round-one.component.scss'] styleUrls: ['./round-one.component.scss']
}) })
export class RoundOneComponent { export class RoundOneComponent {
@Input() pathTitle = ['การประเมินสมรรถนะ', 'ทะเบียนเครื่องมือ', 'เครื่องมือประเมิน']; @Input() pathTitle = ['การประเมินสมรรถนะ', 'ทะเบียนเครื่องมือ', 'เครื่องมือประเมิน'];
@Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>(); @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
@Output() sendPageEvalution: EventEmitter<string> = new EventEmitter<string>();
activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น
isChecked: boolean = false; isChecked: boolean = false;
...@@ -30,17 +31,17 @@ export class RoundOneComponent { ...@@ -30,17 +31,17 @@ export class RoundOneComponent {
backdropClose: boolean; backdropClose: boolean;
}; };
} = { } = {
"add": { "add": {
isModalOpen: false, isModalOpen: false,
modalSize: 'm', modalSize: 'm',
backdropClose: true, backdropClose: true,
}, },
"edit": { "edit": {
isModalOpen: false, isModalOpen: false,
modalSize: 'm', modalSize: 'm',
backdropClose: true, backdropClose: true,
} }
}; };
openModal(name: string, size: string, closeOnBackdrop?: boolean) { openModal(name: string, size: string, closeOnBackdrop?: boolean) {
this.modalOptions[name].modalSize = size; this.modalOptions[name].modalSize = size;
...@@ -63,7 +64,7 @@ export class RoundOneComponent { ...@@ -63,7 +64,7 @@ export class RoundOneComponent {
// ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล // ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
addUser() { addUser() {
} }
currentModal = "" currentModal = ""
...@@ -86,5 +87,8 @@ export class RoundOneComponent { ...@@ -86,5 +87,8 @@ export class RoundOneComponent {
positionClass: 'toast-top-right', positionClass: 'toast-top-right',
}); });
} }
returnPage(text: string) {
this.sendPageEvalution.emit(text)
}
} }
<app-page-header [pathTitle]="pathTitle"></app-page-header> <ng-container *ngIf="pageEvalution==''">
<div class="bg-card-white"> <app-page-header [pathTitle]="pathTitle"></app-page-header>
</div> <div class="bg-card-white">
<div class="block-main-content">
<div class="text-lg font-bold py-2 text-primary px-8">
ประเมินผล ประจำปี 2024
</div> </div>
<div class="page"> <div class="block-main-content">
<div class="border-b border-gray-200 dark:border-white/10 px-8"> <div class="font-size-18px font-weight-700 pt-1.5rem text-primary px-2rem">
<nav class="flex rtl:space-x-reverse space-x-5" style="padding-top: 20px;"> ประเมินผล ประจำปี 2024
<a class="border w-44 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-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 text-white hover:text-gray-900 bg-primary"
href="javascript:void(0);" id="underline-item-1" data-hs-tab="#underline-1"
aria-controls="underline-1" (click)="pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']">
รอบการประเมินที่ 1/2
</a>
<a style="margin-left: 100px;" class="border w-44 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-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 text-white hover:text-gray-900 bg-primary"
href="javascript:void(0);" id="underline-item-2" data-hs-tab="#underline-2"
aria-controls="underline-2" (click)="pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']">
รอบการประเมินที่ 2/2
</a>
</nav>
</div> </div>
<div class="mt-3 px-3rem"> <div class="pt-0.75rem">
<div id="underline-1" role="tabpanel" aria-labelledby="underline-item-1"> <div class="border-b border-gray-200 dark:border-white/10 px-2rem">
<app-round-one [pathTitle]="pathTitle" <nav class=" flex space-x-2 rtl:space-x-reverse">
(sendPathTitle)="pathTitle=$event"></app-round-one> <a class="border justify-center rounded-top-4px bg-primary text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 active"
href="javascript:void(0);" id="card-type-item-1" data-hs-tab="#underline-1"
aria-controls="underline-1">
รอบการประเมินที่ 1/2
</a>
<a class="border justify-center rounded-top-4px bg-primary text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 active"
href="javascript:void(0);" id="card-type-item-1" data-hs-tab="#underline-1"
aria-controls="underline-1">
รอบการประเมินที่ 2/2
</a>
</nav>
</div> </div>
<div id="underline-2" role="tabpanel" aria-labelledby="underline-item-2"> <div class="pt-50px px-2rem">
<div id="underline-1" role="tabpanel" aria-labelledby="underline-item-1">
<app-round-one [pathTitle]="pathTitle" (sendPathTitle)="pathTitle=$event"
(sendPageEvalution)="pageEvalution=$event"></app-round-one>
</div>
<div id="underline-2" role="tabpanel" aria-labelledby="underline-item-2">
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </ng-container>
\ No newline at end of file
<ng-container *ngIf="pageEvalution=='idp'">
<app-idp-evalution (sendPageEvalution)="pageEvalution=$event"></app-idp-evalution>
</ng-container>
<ng-container *ngIf="pageEvalution=='pms'">
<app-pms-evalution (sendPageEvalution)="pageEvalution=$event"></app-pms-evalution>
</ng-container>
\ No newline at end of file
...@@ -7,4 +7,5 @@ import { Component } from '@angular/core'; ...@@ -7,4 +7,5 @@ import { Component } from '@angular/core';
}) })
export class SupervisorEvaluationComponent { export class SupervisorEvaluationComponent {
pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า'] pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']
pageEvalution = ''
} }
...@@ -9551,12 +9551,12 @@ select.tabulator-page-size option { ...@@ -9551,12 +9551,12 @@ select.tabulator-page-size option {
padding-left: 0px !important; padding-left: 0px !important;
padding-right: 0px !important; padding-right: 0px !important;
} }
.sortable-data select { ftable-data select {
border-radius: 0.5rem !important; border-radius: 0.5rem !important;
border-color: inherit !important; border-color: inherit !important;
background-size: 1rem 1rem !important; background-size: 1rem 1rem !important;
} }
.sortable-data .choices { ftable-data .choices {
margin-bottom: 0px !important; margin-bottom: 0px !important;
} }
.tabulator .tabulator-col-resize-handle:last-child { .tabulator .tabulator-col-resize-handle:last-child {
...@@ -9630,7 +9630,7 @@ select.tabulator-page-size option { ...@@ -9630,7 +9630,7 @@ select.tabulator-page-size option {
} }
.tabulator .tabulator
.tabulator-header .tabulator-header
.tabulator-col.tabulator-sortable[aria-sort="ascending"] .tabulator-col.tabulatorftable[aria-sort="ascending"]
.tabulator-col-content .tabulator-col-content
.tabulator-col-sorter { .tabulator-col-sorter {
--tw-text-opacity: 1; --tw-text-opacity: 1;
...@@ -24878,7 +24878,10 @@ div:where(.swal2-container) div:where(.swal2-validation-message) { ...@@ -24878,7 +24878,10 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
.border-none { .border-none {
border: none; border: none;
} }
.bg-table-soft-gray {
--tw-bg-opacity: 1;
background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}
.bg-table-gray { .bg-table-gray {
background-color: rgb(170 170 170); background-color: rgb(170 170 170);
} }
......
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