Commit b0814b9d by Nattana Chaiyamat

ใบกำหนดหน้าที่ (JOB DESCRIPTION)

parent 0520217b
...@@ -56,6 +56,7 @@ import { EssProfileComponent } from '../ess-profile/ess-profile.component'; ...@@ -56,6 +56,7 @@ import { EssProfileComponent } from '../ess-profile/ess-profile.component';
import { ExcelReportComponent } from '../excel-report/excel-report.component'; import { ExcelReportComponent } from '../excel-report/excel-report.component';
import { SettingIndividualKpiComponent } from '../setting-individual-kpi/setting-individual-kpi.component'; import { SettingIndividualKpiComponent } from '../setting-individual-kpi/setting-individual-kpi.component';
import { SettingIndividualKpiSupervisorComponent } from '../setting-individual-kpi-supervisor/setting-individual-kpi-supervisor.component'; import { SettingIndividualKpiSupervisorComponent } from '../setting-individual-kpi-supervisor/setting-individual-kpi-supervisor.component';
import { JobDescriptionEssComponent } from '../job-description-ess/job-description-ess.component';
...@@ -125,6 +126,7 @@ const routes: Routes = [ ...@@ -125,6 +126,7 @@ const routes: Routes = [
{ path: "ess/self-setting-individual-kpi", title: 'แก้ไข Individual KPI ตนเอง', component: SettingIndividualKpiComponent }, { path: "ess/self-setting-individual-kpi", title: 'แก้ไข Individual KPI ตนเอง', component: SettingIndividualKpiComponent },
{ path: "ess/supervisor-setting-individual-kpi", title: 'แก้ไข Individual KPI โดยหัวหน้า', component: SettingIndividualKpiSupervisorComponent }, { path: "ess/supervisor-setting-individual-kpi", title: 'แก้ไข Individual KPI โดยหัวหน้า', component: SettingIndividualKpiSupervisorComponent },
{ path: "ess/job-description", title: 'รายละเอียดของงาน', component: JobDescriptionEssComponent },
] ]
} }
]; ];
......
...@@ -206,6 +206,7 @@ import { ...@@ -206,6 +206,7 @@ import {
} from '@syncfusion/ej2-angular-grids'; } from '@syncfusion/ej2-angular-grids';
import { SettingIndividualKpiComponent } from '../setting-individual-kpi/setting-individual-kpi.component'; import { SettingIndividualKpiComponent } from '../setting-individual-kpi/setting-individual-kpi.component';
import { SettingIndividualKpiSupervisorComponent } from '../setting-individual-kpi-supervisor/setting-individual-kpi-supervisor.component'; import { SettingIndividualKpiSupervisorComponent } from '../setting-individual-kpi-supervisor/setting-individual-kpi-supervisor.component';
import { JobDescriptionEssComponent } from '../job-description-ess/job-description-ess.component';
export const MY_DATE_FORMATS = { export const MY_DATE_FORMATS = {
parse: { parse: {
...@@ -353,7 +354,8 @@ export class CustomDateAdapter extends NativeDateAdapter { ...@@ -353,7 +354,8 @@ export class CustomDateAdapter extends NativeDateAdapter {
ExcelReportComponent, ExcelReportComponent,
PivotSyncfutionComponent, PivotSyncfutionComponent,
SettingIndividualKpiComponent, SettingIndividualKpiComponent,
SettingIndividualKpiSupervisorComponent SettingIndividualKpiSupervisorComponent,
JobDescriptionEssComponent
], ],
imports: [ imports: [
CommonModule, CommonModule,
......
...@@ -17,7 +17,8 @@ export class EmployeeSelfServiceComponent { ...@@ -17,7 +17,8 @@ export class EmployeeSelfServiceComponent {
// ▶︎ เมนูย่อย (ฝั่งขวา) // ▶︎ เมนูย่อย (ฝั่งขวา)
modules: SubModule[] = [ modules: SubModule[] = [
{ title: this.sanitizer.bypassSecurityTrustHtml('ประเมิน<p>Competency & PMS'), route: '/ess/self-evaluation' }, { title: this.sanitizer.bypassSecurityTrustHtml('ประเมิน<p>Competency & PMS'), route: '/ess/self-evaluation' },
{ title: this.sanitizer.bypassSecurityTrustHtml('Job Description<p>รายละเอียดของงาน'), file: '2._JD.pdf' }, // { title: this.sanitizer.bypassSecurityTrustHtml('Job Description<p>รายละเอียดของงาน'), file: '2._JD.pdf' },
{ title: this.sanitizer.bypassSecurityTrustHtml('Job Description<p>รายละเอียดของงาน'), route: '/ess/job-description' },
{ title: this.sanitizer.bypassSecurityTrustHtml('Gap Analysis<p>การวิเคราะห์ Gap'), file: '3._Gap_analysis.pdf' }, { title: this.sanitizer.bypassSecurityTrustHtml('Gap Analysis<p>การวิเคราะห์ Gap'), file: '3._Gap_analysis.pdf' },
{ title: this.sanitizer.bypassSecurityTrustHtml('Profile<p>ข้อมูลพนักงาน'), route: '/ess/profile' }, { title: this.sanitizer.bypassSecurityTrustHtml('Profile<p>ข้อมูลพนักงาน'), route: '/ess/profile' },
{ title: this.sanitizer.bypassSecurityTrustHtml('Skill Map<p>ทักษะที่จำเป็นสำหรับแต่ละตำแหน่งงาน'), file: '5._skill_map.pdf' }, { title: this.sanitizer.bypassSecurityTrustHtml('Skill Map<p>ทักษะที่จำเป็นสำหรับแต่ละตำแหน่งงาน'), file: '5._skill_map.pdf' },
......
...@@ -16,10 +16,9 @@ ...@@ -16,10 +16,9 @@
<div class="absolute inset-x-0 text-center space-y-3" style="top:4rem"> <div class="absolute inset-x-0 text-center space-y-3" style="top:4rem">
<div class="flex justify-center w-full"> <div class="flex justify-center w-full">
<div class="relative"> <div class="relative">
<img <img [src]="employee.data.picture?getImg(employee.data.picture):'./assets/img/users/defaultperson.jpg'"
[src]="employee.data.picture?getImg(employee.data.picture):'./assets/img/users/defaultperson.jpg'" (error)="onImageError($event)" (error)="onImageError($event)" class="rounded-full ring-4 ring-white/10 mx-auto object-cover" id="profile-img"
class="rounded-full ring-4 ring-white/10 mx-auto object-cover" id="profile-img" alt="profile-img" alt="profile-img" style="height: 10rem;width: 10rem;">
style="height: 10rem;width: 10rem;">
<!-- <span <!-- <span
class="absolute bottom-0 ltr:right-0 rtl:left-0 block p-1 rounded-full ring-2 ring-white/10 text-white bg-white/10 dark:bg-bgdark leading-none cursor-pointer"> class="absolute bottom-0 ltr:right-0 rtl:left-0 block p-1 rounded-full ring-2 ring-white/10 text-white bg-white/10 dark:bg-bgdark leading-none cursor-pointer">
<i class="ri ri-pencil-line cursor-pointer"></i> <i class="ri ri-pencil-line cursor-pointer"></i>
......
.bg-gradient-custom {
background: linear-gradient(135deg, #4f46e5, #ec4899 60%, #f59e0b);
-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
mask-size: 100% 100%;
mask-repeat: no-repeat;
}
\ No newline at end of file
import { ViewportScroller } from '@angular/common';
import { ChangeDetectorRef, Component } from '@angular/core';
import { EmployeeModel, MyEmployeeModel } from 'src/app/shared/model/employee.model';
import { MyStatusModel, StatusModel } from 'src/app/shared/model/status.model';
import { EmpStatusService } from 'src/app/shared/services/emp-status.service';
import { EmployeeService } from 'src/app/shared/services/employee.service';
import { FileService } from 'src/app/shared/services/file.service';
export interface BiModel {
name: string,
tools: string[],
degree: string
}
@Component({
selector: 'app-job-description-ess',
templateUrl: './job-description-ess.component.html',
styleUrls: ['./job-description-ess.component.scss']
})
export class JobDescriptionEssComponent {
}
\ No newline at end of file
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="flex flex-col w-3/4 gap-2"> <div class="flex flex-col w-3/4 gap-2">
<div class="w-full mb-2 flex"> <div class="w-full mb-2 flex">
<div class="w-1/2 flex flex-row gap-2"> <div class="w-1/2 flex flex-row gap-2">
<ng-container *ngFor="let item of compentency.dataList; let i=index ; let f= first"> <!-- <ng-container *ngFor="let item of compentency.dataList; let i=index ; let f= first">
<div class="font-size-18px font-weight-700"> <div class="font-size-18px font-weight-700">
<span class="cursor-pointer" <span class="cursor-pointer"
[ngClass]="{'text-secondary border-secondary border-b':compentency.data?.tdesc==item.tdesc,'hover:text-gray-900':!(compentency.data?.tdesc==item.tdesc)}" [ngClass]="{'text-secondary border-secondary border-b':compentency.data?.tdesc==item.tdesc,'hover:text-gray-900':!(compentency.data?.tdesc==item.tdesc)}"
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
{{item.tdesc}} {{item.tdesc}}
</span> </span>
</div> </div>
</ng-container> </ng-container> -->
</div> </div>
<div class="w-1/2"> <div class="w-1/2">
<div class="font-size-18px font-weight-700 text-primary text-right"> <div class="font-size-18px font-weight-700 text-primary text-right">
......
...@@ -95,7 +95,7 @@ export class SidebarComponent { ...@@ -95,7 +95,7 @@ export class SidebarComponent {
this.currentUrl = this.router.url this.currentUrl = this.router.url
this.isESSRoute = this.currentUrl.includes('/ess'); this.isESSRoute = this.currentUrl.includes('/ess');
this.isAdminRoute = this.currentUrl.includes('/admin'); this.isAdminRoute = this.currentUrl.includes('/admin');
this.showSideMenu = this.currentUrl.includes('my-skill-x-module') || this.currentUrl.includes('employee-self-service') || this.currentUrl.includes('ess/profile') this.showSideMenu = this.currentUrl.includes('my-skill-x-module') || this.currentUrl.includes('employee-self-service') || this.currentUrl.includes('ess/profile') || this.currentUrl.includes('ess/job-description')
if (this.showSideMenu) { if (this.showSideMenu) {
const html: any = this.elementRef.nativeElement.ownerDocument.documentElement;; const html: any = this.elementRef.nativeElement.ownerDocument.documentElement;;
html.style = ''; html.style = '';
...@@ -164,7 +164,7 @@ export class SidebarComponent { ...@@ -164,7 +164,7 @@ export class SidebarComponent {
// Update the boolean values // Update the boolean values
this.isESSRoute = this.currentUrl.includes('/ess'); this.isESSRoute = this.currentUrl.includes('/ess');
this.isAdminRoute = this.currentUrl.includes('/admin'); this.isAdminRoute = this.currentUrl.includes('/admin');
this.showSideMenu = this.currentUrl.includes('my-skill-x-module') || this.currentUrl.includes('employee-self-service') || this.currentUrl.includes('ess/profile') this.showSideMenu = this.currentUrl.includes('my-skill-x-module') || this.currentUrl.includes('employee-self-service') || this.currentUrl.includes('ess/profile') || this.currentUrl.includes('ess/job-description')
if (this.showSideMenu) { if (this.showSideMenu) {
const html: any = this.elementRef.nativeElement.ownerDocument.documentElement;; const html: any = this.elementRef.nativeElement.ownerDocument.documentElement;;
html.style = ''; html.style = '';
......
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