Commit 05f14baf by Nattana Chaiyamat

ข้อมูลลักษณะงาน (JD)

parent 038a89a0
...@@ -130,7 +130,8 @@ const routes: Routes = [ ...@@ -130,7 +130,8 @@ 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: "admin/job-description-emp", title: 'รายละเอียดของงาน', component: JobDescriptionEmpComponent }, // { path: "admin/job-description-emp", title: 'รายละเอียดของงาน', component: JobDescriptionEmpComponent },
{ path: "ess/job-description-emp", title: 'รายละเอียดของงาน', component: JobDescriptionEmpComponent },
] ]
} }
]; ];
......
...@@ -18,7 +18,7 @@ export class EmployeeSelfServiceComponent { ...@@ -18,7 +18,7 @@ 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('Job Description<p>รายละเอียดของงาน'), route: '/ess/job-description-emp' },
{ 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' },
......
<!-- <div class="relative"> <div class="relative">
<div class="flex relative before:absolute before:w-full before:h-full bg-gradient-custom" <div class="flex relative before:absolute before:w-full before:h-full bg-gradient-custom"
style="margin-top: -50px;margin-left: -100px;margin-right: -100px"> style="margin-top: -50px;margin-left: -100px;margin-right: -100px">
<div class="h-[500px] w-full rounded-sm"></div> <div class="h-[500px] w-full rounded-sm"></div>
...@@ -15,52 +15,47 @@ ...@@ -15,52 +15,47 @@
<h5 class="box-title mb-3 text-center">ใบกำหนดหน้าที่ (JOB DESCRIPTION) </h5> <h5 class="box-title mb-3 text-center">ใบกำหนดหน้าที่ (JOB DESCRIPTION) </h5>
</div> </div>
<div class="col-span-4 mt-3 mb-3 text-center"> <div class="col-span-4 mt-3 mb-3 text-center">
จัดทำเมื่อ : 10/06/2567 จัดทำเมื่อ : {{(empDetail.data.createDate | date:'dd/MM/yyyy') || '-'}}
</div> </div>
<div class="col-span-4 mt-3 mb-3 text-center"> <div class="col-span-4 mt-3 mb-3 text-center">
วันที่แก้ไข : - วันที่แก้ไข : {{(empDetail.data.editDate | date:'dd/MM/yyyy') || '-'}}
</div> </div>
<div class="col-span-4 mt-3 mb-3 text-center"> <div class="col-span-4 mt-3 mb-3 text-center">
Job Code: ACCT-001 Job Code:
{{empDetail.data.jobcodeId}}
</div> </div>
</div> </div>
<nav class="sm:flex sm:space-x-2 space-y-2 sm:space-y-0 rtl:space-x-reverse block" <nav class="sm:flex sm:space-x-2 space-y-2 sm:space-y-0 rtl:space-x-reverse block"
aria-label="Tabs" role="tablist"> aria-label="Tabs" role="tablist">
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 active" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 active"
style="align-items: center;" id="part-item-1" data-hs-tab="#part-1" id="part-item-1" data-hs-tab="#part-1" aria-controls="part-1" role="tab">
aria-controls="part-1" role="tab"> {{'Part 1 : General Information' | translate}}
ส่วนที่ 1 : ข้อมูลทั่วไป (General Information)
</button> </button>
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 "
style="align-items: center;" id="part-item-2" data-hs-tab="#part-2" id="part-item-2" data-hs-tab="#part-2" aria-controls="part-2" role="tab">
aria-controls="part-2" role="tab"> {{'Part 2 : Organization Chart' | translate}}
ส่วนที่ 2 : โครงสร้างสายการบังคับบัญชา (Organization Chart)
</button> </button>
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 "
style="align-items: center;" id="part-item-3" data-hs-tab="#part-3" id="part-item-3" data-hs-tab="#part-3" aria-controls="part-3" role="tab">
aria-controls="part-3" role="tab"> {{'Part 3 : Job Detail' | translate}}
ส่วนที่ 3 : รายละเอียดของงาน (Job Detail)
</button> </button>
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 "
style="align-items: center;" id="part-item-4" data-hs-tab="#part-4" id="part-item-4" data-hs-tab="#part-4" aria-controls="part-4" role="tab">
aria-controls="part-4" role="tab"> {{'Part 4 : Job Specification' | translate}}
ส่วนที่ 4 : คุณสมบัติที่จำเป็นต่อการปฏิบัติหน้าที่ (Job Specification)
</button> </button>
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 "
style="align-items: center;" id="part-item-5" data-hs-tab="#part-5" id="part-item-5" data-hs-tab="#part-5" aria-controls="part-5" role="tab">
aria-controls="part-5" role="tab"> {{'Part 5 : Job Competency' | translate}}
ส่วนที่ 5 : ความรู้ ทักษะ ความสามารถในตำแหน่งงาน (Job Competency)
</button> </button>
<button type="button" style="border-radius:20px" <button type="button" style="border-radius:20px"
class="hs-tab-active:bg-primary hs-tab-active:border-primary hs-tab-active:text-white py-2 px-3 inline-flex w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700" class="hs-tab-active:text-white hs-tab-active:bg-primary hs-tab-active:border-primary py-2 px-3 inline-flex items-center w-full justify-center gap-2 text-sm font-medium text-center border text-gray-500 rounded-sm hover:text-gray-700 "
style="align-items: center;" id="part-item-6" data-hs-tab="#part-6" id="part-item-6" data-hs-tab="#part-6" aria-controls="part-6" role="tab">
aria-controls="part-6" role="tab"> {{'Part 6 : Key Performance Indicators: KPIs' | translate}}
ส่วนที่ 6 : ตัวชี้วัดของตำแหน่งงาน (Key Performance Indicators: KPIs)
</button> </button>
</nav> </nav>
</div> </div>
...@@ -83,59 +78,6 @@ ...@@ -83,59 +78,6 @@
<div id="part-6" class="hidden" role="tabpanel" aria-labelledby="part-item-6"> <div id="part-6" class="hidden" role="tabpanel" aria-labelledby="part-item-6">
<ng-container *ngTemplateOutlet="part6"></ng-container> <ng-container *ngTemplateOutlet="part6"></ng-container>
</div> </div>
<div class="grid grid-cols-12 gap-x-6 mb-3 mt-3">
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
จัดทำโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div>
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
ตรวจสอบโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div>
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
อนุมัติโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -143,8 +85,8 @@ ...@@ -143,8 +85,8 @@
</div> </div>
</div> </div>
</div> </div>
</div> --> </div>
<app-page-header [pathTitle]="pathTitle"></app-page-header> <!-- <app-page-header [pathTitle]="pathTitle"></app-page-header>
<div class="bg-card-white"> <div class="bg-card-white">
</div> </div>
<div class="block-main-content"> <div class="block-main-content">
...@@ -265,61 +207,8 @@ ...@@ -265,61 +207,8 @@
</ng-container> </ng-container>
</div> </div>
</div> </div>
<!-- <div class="grid grid-cols-12 gap-x-6 mb-3 mt-3">
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
จัดทำโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div>
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
ตรวจสอบโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div>
<div class="col-span-4 mt-3 mb-3 text-center">
<div class="col-span-12">
อนุมัติโดย
</div>
<div class="col-span-12">
……………………………
</div>
<div class="col-span-12">
(……………………………)
</div>
<div class="col-span-12">
ตำแหน่ง :
</div>
<div class="col-span-12">
ว/ด/ป : / /
</div>
</div> </div>
</div> --> </div> -->
</div>
</div>
<ng-template #part1> <ng-template #part1>
...@@ -513,7 +402,7 @@ ...@@ -513,7 +402,7 @@
<td style="vertical-align: top;" class="text-center"> <td style="vertical-align: top;" class="text-center">
1.งานบริหาร (Management) 1.งานบริหาร (Management)
</td> </td>
<td style="vertical-align: top;"> <td style="vertical-align: top;" class="text-center">
{{empDetail.data.serviceWorkText}} {{empDetail.data.serviceWorkText}}
</td> </td>
<td class="text-center"> <td class="text-center">
...@@ -524,7 +413,7 @@ ...@@ -524,7 +413,7 @@
<td style="vertical-align: top;" class="text-center"> <td style="vertical-align: top;" class="text-center">
2.งานที่รับผิดชอบ (งานปฏิบัติ) 2.งานที่รับผิดชอบ (งานปฏิบัติ)
</td> </td>
<td style="vertical-align: top;"> <td style="vertical-align: top;" class="text-center">
{{empDetail.data.responsibleWorkText}} {{empDetail.data.responsibleWorkText}}
</td> </td>
<td class="text-center"> <td class="text-center">
...@@ -535,7 +424,7 @@ ...@@ -535,7 +424,7 @@
<td style="vertical-align: top;" class="text-center"> <td style="vertical-align: top;" class="text-center">
3.งานที่ได้รับมอบหมายพิเศษ 3.งานที่ได้รับมอบหมายพิเศษ
</td> </td>
<td style="vertical-align: top;"> <td style="vertical-align: top;" class="text-center">
{{empDetail.data.specialWorkText}} {{empDetail.data.specialWorkText}}
</td> </td>
<td class="text-center"> <td class="text-center">
...@@ -546,7 +435,7 @@ ...@@ -546,7 +435,7 @@
<td style="vertical-align: top;" class="text-center"> <td style="vertical-align: top;" class="text-center">
4.งานที่ทุกตำแหน่งต้องปฏิบัต 4.งานที่ทุกตำแหน่งต้องปฏิบัต
</td> </td>
<td style="vertical-align: top;"> <td style="vertical-align: top;" class="text-center">
{{empDetail.data.allPositionWorkText}} {{empDetail.data.allPositionWorkText}}
</td> </td>
<td class="text-center"> <td class="text-center">
...@@ -557,7 +446,7 @@ ...@@ -557,7 +446,7 @@
<td style="vertical-align: top;" class="text-center"> <td style="vertical-align: top;" class="text-center">
5.อื่นๆ 5.อื่นๆ
</td> </td>
<td style="vertical-align: top;"> <td style="vertical-align: top;" class="text-center">
{{empDetail.data.otherWorkText}} {{empDetail.data.otherWorkText}}
</td> </td>
<td class="text-center"> <td class="text-center">
......
...@@ -53,6 +53,8 @@ export interface JobCodeModel { ...@@ -53,6 +53,8 @@ export interface JobCodeModel {
supervisorJobCode: SupervisorJobCodeModel supervisorJobCode: SupervisorJobCodeModel
expectation: number | null expectation: number | null
positionInJob: PositionInJobModel[] positionInJob: PositionInJobModel[]
createDate: string
editDate: string
} }
export class MyJobCodeModel implements JobCodeModel { export class MyJobCodeModel implements JobCodeModel {
...@@ -100,6 +102,8 @@ export class MyJobCodeModel implements JobCodeModel { ...@@ -100,6 +102,8 @@ export class MyJobCodeModel implements JobCodeModel {
supervisorJobCode: SupervisorJobCodeModel supervisorJobCode: SupervisorJobCodeModel
expectation: number | null expectation: number | null
positionInJob: PositionInJobModel[] positionInJob: PositionInJobModel[]
createDate: string
editDate: string
constructor(data: Partial<JobCodeModel>) { constructor(data: Partial<JobCodeModel>) {
this.jobcodeId = data.jobcodeId || "" this.jobcodeId = data.jobcodeId || ""
this.companyId = data.companyId || "" this.companyId = data.companyId || ""
...@@ -145,6 +149,8 @@ export class MyJobCodeModel implements JobCodeModel { ...@@ -145,6 +149,8 @@ export class MyJobCodeModel implements JobCodeModel {
this.supervisorJobCode = new MySupervisorJobCodeModel(data?.supervisorJobCode) this.supervisorJobCode = new MySupervisorJobCodeModel(data?.supervisorJobCode)
this.expectation = data?.expectation ?? null this.expectation = data?.expectation ?? null
this.positionInJob = (data?.positionInJob || []).map(e => new MyPositionInJobModel(e)) this.positionInJob = (data?.positionInJob || []).map(e => new MyPositionInJobModel(e))
this.createDate = data?.createDate || ''
this.editDate = data?.editDate || ''
} }
} }
......
...@@ -186,7 +186,7 @@ export class NavService implements OnDestroy { ...@@ -186,7 +186,7 @@ export class NavService implements OnDestroy {
{ id: 'm24', path: 'admin/day-type-registry', title: 'menu.LeaveType', type: 'link', show: true }, { id: 'm24', path: 'admin/day-type-registry', title: 'menu.LeaveType', type: 'link', show: true },
{ id: 'm25', path: 'admin/account-settings', title: 'menu.UserSetting', type: 'link', show: true }, { id: 'm25', path: 'admin/account-settings', title: 'menu.UserSetting', type: 'link', show: true },
{ id: 'm26', path: 'admin/role-permission-config', title: 'menu.AccessPermissions', type: 'link', show: true }, { id: 'm26', path: 'admin/role-permission-config', title: 'menu.AccessPermissions', type: 'link', show: true },
{ id: 'm27', path: 'admin/job-description-emp', title: 'ข้อมูลลักษณะงาน (JD)', type: 'link', show: true }, // { id: 'm27', path: 'admin/job-description-emp', title: 'ข้อมูลลักษณะงาน (JD)', type: 'link', show: true },
], ],
}, },
{ {
......
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