Commit 4a2412f3 by Nattana Chaiyamat

Merge branch 'DEV' of https://mygit.myhr.co.th/angular/myAppraisal into DEV

# Conflicts:
#	src/app/components/dashboard/dashboard.module.ts
parents b3733491 3d74c836
<div class="header-title-type">
<div class="flex justify-end">
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name" style="height: 40px;">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
<i class="ri-search-line text-gray"></i>
</div>
</div>
</div>
<div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-10 m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
</div>
<div class="header-title-table bg-soft-secondary text-primary">
<span>ประเมินสมรรถนะ</span>
</div>
<div class="page px-rem">
<div class="overflow-auto table-bordered rounded-t-md">
<div id="card-type-1" role="tabpanel" aria-labelledby="card-type-item-1" >
<div class="overflow-auto shadow-md">
<table class="ti-custom-table ti-custom-table-head ti-custom-table-hover" >
<thead>
<tr>
<ng-container
*ngFor="let item of ['รหัสพนักงาน','ชื่อพนักงาน','ตำเเหน่งงาน','ประเมิน','เเผนพัฒนา','PMS','ผลประเมิน','เกรด','สถานะ','สถานะผู้ประเมิน']; let f = first; let l = last; let i = index">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l||'ประเมิณ'||'เเผนพัฒนา'||'PMS'">
<span class="text-sm">{{ item }}</span>
<div class="absolute top-1/2 transform -translate-y-1/2 right-0" *ngIf="!l&&!f&&!i">
<svg class="head-table-icon" xmlns="http://www.w3.org/2000/svg" width="50"
height="16" fill="currentColor" viewBox="0 0 16 16">
<path
d="M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z">
</path>
</svg>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody>
<tr *ngFor="let item of[
['10001', 'ธนพัต อาชาไชย', 'HRD training Officer', '', '', '', '70', 'c', 'ประเมินเเล้ว', 'ผู้อนุมัติลำดับที่ 1'],
['10002', 'พิชญาภา มหาเมธี', 'HRD training Officer', '', '', '', '-', '-', 'ยังไม่ประเมิณ', '-'],
['10003', 'นิรดา บุญเทพ', 'HRD training Officer', '', '', '', '76', '', 'ประเมินเเล้ว', 'ผู้อนุมัติลำดับที่3'],
['10004', 'รัตน์ ธนากร', 'HRD training Officer', '', '', '', '79', '', 'ประเมินเเล้ว', 'ผู้อนุมัติลำดับที่ 1'],
['10005', 'ยศกร ศิริธาดา', 'HRD training Officer', '', '', '', '', '', 'ประเมินเเล้ว', 'ผู้อนุมัติลำดับที่ 2'],
['10006', 'ธนิสรา นพรัตน์พร', 'HRD training Officer', '', '', '', '80', '', 'ประเมินเเล้ว', '-'],
['10007', 'เมริสา สุขทิพย์', 'HRD training Officer', '', '', '', '', '', 'ประเมินเเล้ว', '-']];let i = index">
<td class="text-center" style="font-size: 12px; width: 150px;">{{item[0]}}</td>
<td style="font-size: 12px; width: 175px;">{{item[1]}}</td>
<td style="font-size: 12px;">{{item[2]}}</td>
<td class="flex justify-center" >
<button type="button" class="ti-btn rounded-sm ti-btn-secondary" style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;">
CC
</button>
<button type="button" class="ti-btn rounded-sm ti-btn-warning" style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;">
MC
</button>
<button type="button" class="ti-btn rounded-sm ti-btn-success" style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;">
PC
</button>
</td>
<td style="width: 160px; text-align: center; vertical-align: middle;">
<button type="button" class="ti-btn rounded-sm soft-dark text-white text-center" style="height: 15px; width: 45px; font-size: 12px;">
IDP
</button>
</td>
<td class="text-center">
<button type="button" class="ti-btn rounded-sm ti-btn-success" style="height: 15px; width: 55px; font-size: 12px; display: flex; align-items: center; justify-content: center;">
ประเมิณ
</button>
</td>
<td class="text-center" style="font-size: 12px;">{{item[6]}}</td>
<td class="text-center" style="font-size: 12px;">{{item[7]}}</td>
<td class="text-center" style="font-size: 12px;">{{item[8]}}</td>
<td class="text-center" style="font-size: 12px;">{{item[9]}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
\ No newline at end of file
.button-clear {
position: absolute;
top: 96px;
z-index: 1;
right: 41vw;
}
.button-help {
position: absolute;
top: 0px;
z-index: 1;
right: 0vw;
margin: 4.2rem;
margin-right: 10px; /* เพิ่มใหม่ 12/16*/
}
table.ti-custom-table thead {
height: 60px;
}
table.ti-custom-table thead th span {
font-size: 12px;
font-weight: bold;
}
.ti-custom-table td{
padding-left: 0.9rem;
padding-right: 1rem;
}
.ti-custom-table thead th:first-child {
width: 105px; /* ปรับความกว้างตามที่ต้องการ */
text-align: left; /* จัดตำแหน่งข้อความถ้าต้องการ */
}
.ti-custom-table thead th:last-child {
width: 150px; /* ปรับความกว้างตามที่ต้องการ */
}
a.custom-link {
padding: 10px 40px; /* ปรับ padding ให้เพิ่มขนาด */
}
/* สไตล์ของแถบเมนู */
.nav-tabs {
display: flex;
width: 100%;
cursor: pointer;
margin-bottom: 10px;
height: 20%;
}
.nav-item {
list-style: none;
margin-right: 10px; /* ช่องว่างระหว่างเมนู */
}
.nav-link {
text-decoration: none;
padding: 10px 20px;
display: inline-block;
font-size: large;
border-width: 2px 2px 0px 2px;
border-style: solid;
border-color: #ccc;
border-radius: 5px 5px 0px 0px;
}
.nav-link:hover {
background-color: #f0f0f0; /* เปลี่ยนสีเมื่อ hover */
}
.nav-link.active {
color: #ffffff; /* สีตัวอักษรในสถานะ active */
font-size: large;
border-bottom: 3.5px solid rgb(var(--color-primary)); /* เส้นใต้ */
background-color: rgb(var(--color-primary));
border-width: 2px 2px 0px 2px;
border-style: solid;
border-color: rgb(var(--color-primary));
border-radius: 5px 5px 0px 0px;
}
.tab-content {
margin-top: 20px;
}
.tab-pane.active {
display: block;
}
.nav-item-text {
list-style: none;
margin-right: 10px; /* ช่องว่างระหว่างเมนู */
}
.nav-link-text {
text-decoration: none;
display: inline-block;
font-size: large;
color: #569bf5;
border-bottom: 2px solid #569bf5;
line-height: 0.8;
}
.ti-pagination .page-link.active {
background-color: #569bf5;
color: white;
border-radius: 50%;
padding: 8px 12px;
}
.box-body{
padding: 0rem;
}
.page{
min-height: 0vh;
}
.ti-modal-content-alert{
width: 35%; /* ความกว้างที่คุณต้องการ */
position: absolute; /* ทำให้สามารถจัดตำแหน่งได้ */
top: 50%; /* ให้อยู่กลางในแนวตั้ง */
left: 50%; /* ให้อยู่กลางในแนวนอน */
transform: translate(-50%, -50%); /* เคลื่อนที่ modal กลับมาให้ตรงกลาง */
background-color: #ffffff;
}
.header-title-type {
width: 100%;
min-height: 50px; /* ใช้ min-height เพื่อให้มีความยืดหยุ่น */
// margin-top: 50px;
// margin-bottom: 10px;
justify-content: space-between; /* จัดเรียงองค์ประกอบภายใน */
align-items: center; /* จัดกลางแนวตั้ง */
padding-top: 50px;
padding-bottom: 1rem;
}
.header-title-table {
display: flex;
align-items: center; /* จัดกึ่งกลางในแนวตั้ง */
justify-content: flex-start; /* จัดตัวอักษรชิดซ้าย */
height: 60px; /* ความสูงของกรอบ */
padding-left: 20px; /* ระยะชิดซ้าย */
margin-bottom: 10px;
border-radius: 5px;
}
.header-title-table span {
font-size: 18px;
font-weight: bold;
}
.soft-dark{
background-color: #838282;
}
\ No newline at end of file
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ToastrService } from 'ngx-toastr';
@Component({
selector: 'app-round-one',
templateUrl: './round-one.component.html',
styleUrls: ['./round-one.component.scss']
})
export class RoundOneComponent {
@Input() pathTitle = ['การประเมินสมรรถนะ', 'ทะเบียนเครื่องมือ', 'เครื่องมือประเมิน'];
@Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น
isChecked: boolean = false;
// ฟังก์ชันในการเปลี่ยนแท็บ
changeTab(tab: { id: string, text: string }) {
this.sendPathTitle.emit(['การประเมินสมรรถนะ', 'ทะเบียนเครื่องมือ', tab.text]);
this.activeTab = tab.id;
}
toggleCheckbox(): void {
this.isChecked = !this.isChecked;
}
// การจัดการการเปิดปิด modal
modalOptions: {
[nameModal: string]: {
isModalOpen: boolean;
modalSize: string;
backdropClose: boolean;
};
} = {
"add": {
isModalOpen: false,
modalSize: 'm',
backdropClose: true,
},
"edit": {
isModalOpen: false,
modalSize: 'm',
backdropClose: true,
}
};
openModal(name: string, size: string, closeOnBackdrop?: boolean) {
this.modalOptions[name].modalSize = size;
this.modalOptions[name].backdropClose = closeOnBackdrop || false;
this.modalOptions[name].isModalOpen = true;
this.currentModal = name; // ตั้งค่าค่าของ currentModal เป็น 'add' หรือ 'edit'
document.body.style.overflow = 'hidden';
}
closeModal(name: string) {
this.modalOptions[name].isModalOpen = false;
if (!this.isAnyModalOpen()) {
document.body.style.overflow = ''; // คืนค่าการ Scroll เฉพาะเมื่อ Modal ทั้งหมดปิดแล้ว
}
}
isAnyModalOpen(): boolean {
return Object.values(this.modalOptions).some(modal => modal.isModalOpen); // ตรวจสอบว่า modal อื่นยังเปิดอยู่หรือไม่
}
// ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
addUser() {
}
currentModal = ""
constructor(private toastr: ToastrService) { }
showSuccess() {
this.toastr.success('บันทึกข้อมูลสำเร็จ', 'เเจ้งเตือน', {
timeOut: 3000,
positionClass: 'toast-top-right',
});
}
showSuccessEdit() {
this.toastr.success('เเก้ไขข้อมูลสำเร็จ', 'เเจ้งเตือน', {
timeOut: 3000,
positionClass: 'toast-top-right',
});
}
showSuccessDelete() {
this.toastr.success('ลบข้อมูลสำเร็จ', 'เเจ้งเตือน', {
timeOut: 3000,
positionClass: 'toast-top-right',
});
}
}
<app-page-header [pathTitle]="pathTitle"></app-page-header>
<div class="bg-card-white">
</div>
<div class="block-main-content">
<div class="text-lg font-bold py-2 text-primary px-8">
ประเมินผล ประจำปี 2024
</div>
<div class="page">
<div class="border-b border-gray-200 dark:border-white/10 px-8">
<nav class="flex rtl:space-x-reverse space-x-5" style="padding-top: 20px;">
<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 class="mt-3 px-3rem">
<div id="underline-1" role="tabpanel" aria-labelledby="underline-item-1">
<app-round-one [pathTitle]="pathTitle"
(sendPathTitle)="pathTitle=$event"></app-round-one>
</div>
<div id="underline-2" role="tabpanel" aria-labelledby="underline-item-2">
</div>
</div>
</div>
</div>
\ No newline at end of file
import { Component } from '@angular/core';
@Component({
selector: 'app-supervisor-evaluation',
templateUrl: './supervisor-evaluation.component.html',
styleUrls: ['./supervisor-evaluation.component.scss']
})
export class SupervisorEvaluationComponent {
pathTitle = ['การประเมินผล', 'ประเมินโดยหัวหน้า']
}
// import { Component, EventEmitter, Input, Output } from '@angular/core';
// @Component({
// selector: 'app-user-settings',
// templateUrl: './user-settings.component.html',
// styleUrls: ['./user-settings.component.scss']
// })
// export class UserSettingsComponent {
// @Input() pathTitle = ['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', 'สร้างรหัสผู้ใช้งาน']
// @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
// activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น
// // ฟังก์ชันในการเปลี่ยนแท็บ
// changeTab(tab: { id: string, text: string }) {
// this.sendPathTitle.emit(['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', tab.text])
// this.activeTab = tab.id;
// }
// modalOptions: {
// [nameModal: string]: { // ชื่อตรวจสอบการเปิดปิด
// isModalOpen: boolean; // เปิด/ปิด
// modalSize: string; // ขนาดของ Modal (s,m,l,vw10-vw100 )
// backdropClose: boolean; // (คลิก Backdrop แล้ว true ปิด false ไม่ปิด )
// }
// } = {
// "add": {
// isModalOpen: false,
// modalSize: 'm',
// backdropClose: true,
// },
// "edit": {
// isModalOpen: false,
// modalSize: 'm',
// backdropClose: true,
// }
// }
// openModal(name: string, size: string, closeOnBackdrop?: boolean) {
// this.modalOptions[name].modalSize = size;
// this.modalOptions[name].backdropClose = closeOnBackdrop || false;
// this.modalOptions[name].isModalOpen = true;
// document.body.style.overflow = 'hidden'; // ล็อก Scroll
// }
// closeModal(name: string) {
// this.modalOptions[name].isModalOpen = false;
// // ตรวจสอบว่ามี Modal อื่นเปิดอยู่หรือไม่
// if (!this.isAnyModalOpen()) {
// document.body.style.overflow = ''; // คืนค่าการ Scroll เฉพาะเมื่อ Modal ทั้งหมดปิดแล้ว
// }
// }
// isAnyModalOpen(): boolean {
// // Logic ตรวจสอบว่า Modal อื่นยังเปิดอยู่หรือไม่
// return Object.values(this.modalOptions).some(modal => modal.isModalOpen); // หากไม่มี Modal อื่นเปิด
// }
// }
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ToastrService } from 'ngx-toastr';
......
......@@ -58,19 +58,9 @@ export class SubEmployeeRegistrationComponent {
// ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
addUser() {
// ฟังก์ชันสำหรับการเพิ่มผู้ใช้งาน
console.log('เพิ่มผู้ใช้งาน');
}
deleteUser() {
// ฟังก์ชันสำหรับการลบผู้ใช้งาน
console.log('ลบผู้ใช้งาน');
}
editUser() {
// ฟังก์ชันสำหรับการแก้ไขผู้ใช้งาน
console.log('แก้ไขผู้ใช้งาน');
}
currentModal = ""
constructor(private toastr: ToastrService) { }
showSuccess() {
......
<div class="flex items-center py-4 border-b-2 border-collapse ">
<button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500" (click)="onBack()">
<button type="button" class="ti-btn ti-btn-outline ti-btn-outline-light h-20px m-0 shadow-md text-blue-500"
(click)="onBack()">
<i class="ri-arrow-left-s-line"></i> ย้อนกลับ
</button>
<div class="text-2xl font-bold py-2 text-primary px-4 ">
แก้ไขกลุ่มสมรรถนะ
</div>
</div>
<div class="py-2 border-b-2 border-collapse ">
<label for="input-label" class="ti-form-label ">ระดับพนักงาน</label>
<input type="text" id="input-label"
class="py-2 px-3 ltr:pr-11 rtl:pl-11 ti-form-input rounded-md ltr:rounded-r-md rtl:rounded-l-md focus:z-10 bg-input-readonly"
readonly value="พนักงานระดับ O1-O2">
<div class="grid grid-cols-3 gap-6">
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">รหัส</label>
</div>
</div>
<div class="grid grid-cols-3 gap-6">
<div class="col-span-1">
<input type="text" id="input-label"
class="py-2 px-3 ltr:pr-11 rtl:pl-11 ti-form-input w-2/3 rounded-md ltr:rounded-r-md rtl:rounded-l-md focus:z-10 bg-input-readonly"
readonly value="O1O2">
</div>
</div>
<div class="grid grid-cols-3 gap-6 mt-5">
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ชื่อระดับพนักงาน (ไทย)</label>
</div>
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ชื่อระดับพนักงาน (อังกฤษ)</label>
</div>
</div>
<div class="grid grid-cols-3 gap-6">
<div class="col-span-1">
<input type="text" id="input-label"
class="py-2 px-3 ltr:pr-11 rtl:pl-11 ti-form-input w-2/3 rounded-md ltr:rounded-r-md rtl:rounded-l-md focus:z-10 bg-input-readonly"
readonly value="พนักงานระดับ O1-O2">
</div>
<div class="col-span-1">
<input type="text" id="input-label"
class="py-2 px-3 ltr:pr-11 rtl:pl-11 ti-form-input w-2/3 rounded-md ltr:rounded-r-md rtl:rounded-l-md focus:z-10 bg-input-readonly"
readonly value="Employee level 01-02">
</div>
</div>
</div>
<div class="header-title-type">
<div class="flex justify-between">
<div class="flex">
......@@ -158,7 +185,8 @@
<div id="edit-group-competencies-table-modal-select" class="hs-overlay hidden ti-modal">
<div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out lg:!max-w-4xl lg:w-full m-3 lg:mx-auto h-[calc(100%-3.5rem)] items-center">
<div
class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out lg:!max-w-4xl lg:w-full m-3 lg:mx-auto h-[calc(100%-3.5rem)] items-center">
<div class="max-h-full overflow-hidden ti-modal-content">
<div class="ti-modal-header">
<h3 class="text-xxl font-bold text-primary">
......
......@@ -53,7 +53,7 @@
<thead>
<tr>
<ng-container
*ngFor="let item of ['รหัส','ชื่อระดับพนักงาน','Action']; let f = first; let l = last; let i = index">
*ngFor="let item of ['รหัส','ชื่อระดับพนักงาน (ไทย)','Action']; let f = first; let l = last; let i = index">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l">
<span class="text-sm">{{ item }}</span>
......
......@@ -128,7 +128,22 @@ export class DefineDocumentFormComponent {
}
basicAlert3() {
Swal.fire({
iconHtml: '<i class="ri-file-upload-line text-center rounded-full !h-80px !w-80px !bg-success"></i>',
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: 'ส่งออกเอกสาร',
text: 'คุณต้องการส่งออกเอกสารฉบับนี้ใช่หรือไม่',
showCancelButton: true,
......@@ -136,9 +151,11 @@ export class DefineDocumentFormComponent {
confirmButtonText: 'ส่งออกเอกสาร',
cancelButtonText: 'ย้อนกลับ',
customClass: {
actions:"!swal2-actions-mt-20px",
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) {
......
......@@ -33,6 +33,7 @@ import { CommandStructureComponent } from '../job-detail-components/command-stru
import { AssessmentManagementComponent } from '../performance-management-evaluation/assessment-management/assessment-management.component';
import { JobPositionIndicatorsComponent } from '../job-detail-components/job-position-indicators/job-position-indicators.component';
import { EvaluationCyclePerformanceComponent } from '../performance-management-evaluation/evaluation-cycle-performance/evaluation-cycle-performance.component';
import { SupervisorEvaluationComponent } from '../Performance Evaluation/supervisor-evaluation/supervisor-evaluation.component';
import { EmployeeRegistrationComponent } from '../company-components/employee-registration/employee-registration.component';
import { NameRegistrationPerfomanceComponent } from '../performance-management-evaluation/name-registration-perfomance/name-registration-perfomance.component';
......@@ -74,6 +75,8 @@ const routes: Routes = [
{ path: "command-structure",title: 'โครงสร้างสายการบังคับบัญชา', component: CommandStructureComponent },
{ path: "assessment-management",title: 'การจัดการการประเมิน', component: AssessmentManagementComponent },
{ path: "job-position-indicators",title: 'ตัวชี้วัดของตำแหน่งงาน', component: JobPositionIndicatorsComponent },
{ path: "evaluation-cycle-performance",title: 'รอบการประเมิณ', component: EvaluationCyclePerformanceComponent },
{ path: "supervisor-evaluation",title: 'ประเมินโดยหัวหน้า', component: SupervisorEvaluationComponent },
{ path: "evaluation-cycle-performance",title: 'รอบการประเมิน', component: EvaluationCyclePerformanceComponent },
{ path: "employee-registration",title: 'ทะเบียนพนักงาน', component: EmployeeRegistrationComponent },
{ path: "name-registration-perfomance",title: 'ทะเบียนกำหนดชื่อ', component: NameRegistrationPerfomanceComponent },
......
......@@ -89,6 +89,8 @@ import { EditDefineDocumentFormComponent } from '../competency-assessment/evalua
import { EvaluationCyclePerformanceComponent } from '../performance-management-evaluation/evaluation-cycle-performance/evaluation-cycle-performance.component';
import { DocumentFormComponent } from '../performance-management-evaluation/evaluation-cycle-performance/document-form/document-form.component';
import { EditEvaluationFormComponent } from '../performance-management-evaluation/evaluation-cycle-performance/document-form/edit-evaluation-form/edit-evaluation-form.component';
import { RoundOneComponent } from '../Performance Evaluation/supervisor-evaluation/round-one/round-one.component';
import { SupervisorEvaluationComponent } from '../Performance Evaluation/supervisor-evaluation/supervisor-evaluation.component';
import { EmployeeRegistrationComponent } from '../company-components/employee-registration/employee-registration.component';
import { SubEmployeeRegistrationComponent } from '../company-components/employee-registration/sub-employee-registration/sub-employee-registration.component';
import { NameRegistrationPerfomanceComponent } from '../performance-management-evaluation/name-registration-perfomance/name-registration-perfomance.component';
......@@ -164,6 +166,8 @@ import { AssessmentTypesComponent } from '../performance-management-evaluation/n
EvaluationCyclePerformanceComponent,
DocumentFormComponent,
EditEvaluationFormComponent,
RoundOneComponent,
SupervisorEvaluationComponent,
EmployeeRegistrationComponent,
SubEmployeeRegistrationComponent,
NameRegistrationPerfomanceComponent,
......
......@@ -147,6 +147,18 @@ export class NavService implements OnDestroy {
{ path: '', title: 'รายงาน', type: 'link' },
],
},
{
title: 'การประเมิณผล',
type: 'sub',
selected: false,
active: false,
path: '/supervisor-evaluation',
children: [
{ path: '/', title: 'การจัดการการประเมิน', type: 'link' },
{ path: '/supervisor-evaluation', title: 'ประเมินโดยหัวหน้า', type: 'link' },
],
},
......
......@@ -24771,16 +24771,26 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
.\!swal2-icon-no-border {
border: 0 !important;
}
.swal2-title.\!swal2-title-mt-20px {
margin-top: 20px !important;
}
.swal2-actions.\!swal2-actions-mt-20px {
margin-top: 20px !important;
}
.swal2-styled.swal2-confirm.\!swal2-button-bg-green {
background-color: #1dbe5a !important;
background-color: #1DBE5A !important;
border-radius: 20px !important;
}
.swal2-styled.swal2-confirm.\!swal2-button-bg-green:focus {
box-shadow: 0 0 0 0px rgba(110, 120, 129, 0.5) !important;
}
.swal2-styled.swal2-cancel.\!swal2-button-bg-gray {
background-color: #B3B3B3 !important;
border-radius: 20px !important;
}
.swal2-styled.swal2-cancel.\!swal2-button-bg-gray:focus {
box-shadow: 0 0 0 3px rgba(110, 120, 129, 0.5) !important;
}
.\!w-80px{
width: 80px !important;
}
......
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