Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mySkill-x
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
angular
mySkill-x
Commits
b0814b9d
Commit
b0814b9d
authored
Aug 13, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ใบกำหนดหน้าที่ (JOB DESCRIPTION)
parent
0520217b
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
589 additions
and
10 deletions
+589
-10
dashboard-routing.module.ts
src/app/components/dashboard/dashboard-routing.module.ts
+2
-0
dashboard.module.ts
src/app/components/dashboard/dashboard.module.ts
+3
-1
employee-self-service.component.ts
.../employee-self-service/employee-self-service.component.ts
+2
-1
ess-profile.component.html
src/app/components/ess-profile/ess-profile.component.html
+3
-4
job-description-ess.component.html
...ts/job-description-ess/job-description-ess.component.html
+546
-0
job-description-ess.component.scss
...ts/job-description-ess/job-description-ess.component.scss
+8
-0
job-description-ess.component.ts
...ents/job-description-ess/job-description-ess.component.ts
+21
-0
pms-form-employee.component.html
...uation/pms-form-employee/pms-form-employee.component.html
+2
-2
sidebar.component.ts
src/app/shared/components/sidebar/sidebar.component.ts
+2
-2
No files found.
src/app/components/dashboard/dashboard-routing.module.ts
View file @
b0814b9d
...
@@ -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
},
]
]
}
}
];
];
...
...
src/app/components/dashboard/dashboard.module.ts
View file @
b0814b9d
...
@@ -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
,
...
...
src/app/components/employee-self-service/employee-self-service.component.ts
View file @
b0814b9d
...
@@ -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'
},
...
...
src/app/components/ess-profile/ess-profile.component.html
View file @
b0814b9d
...
@@ -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>
...
...
src/app/components/job-description-ess/job-description-ess.component.html
0 → 100644
View file @
b0814b9d
<div
class=
"relative"
>
<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"
>
<div
class=
"h-[500px] w-full rounded-sm"
></div>
</div>
<div
class=
"main-content "
style=
"margin-top:-29rem"
>
<div
class=
"grid grid-cols-12 gap-x-6"
>
<div
class=
"col-span-12 xxl:col-span-2"
>
</div>
<div
class=
"col-span-12 xxl:col-span-8"
>
<div
class=
"box"
style=
"border-radius:20px"
>
<div
class=
"box-header"
>
<div
class=
"grid grid-cols-12 gap-x-6 mb-3 mt-3"
>
<div
class=
"col-span-12"
>
<h5
class=
"box-title mb-3 text-center"
>
ใบกำหนดหน้าที่ (JOB DESCRIPTION)
</h5>
</div>
<div
class=
"col-span-4 mt-3 mb-3 text-center"
>
จัดทำเมื่อ : 10/06/2567
</div>
<div
class=
"col-span-4 mt-3 mb-3 text-center"
>
วันที่แก้ไข : -
</div>
<div
class=
"col-span-4 mt-3 mb-3 text-center"
>
Job Code: ACCT-001
</div>
</div>
<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"
>
<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"
style=
"align-items: center;"
id=
"part-item-1"
data-hs-tab=
"#part-1"
aria-controls=
"part-1"
role=
"tab"
>
ส่วนที่ 1 : ข้อมูลทั่วไป (General Information)
</button>
<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"
style=
"align-items: center;"
id=
"part-item-2"
data-hs-tab=
"#part-2"
aria-controls=
"part-2"
role=
"tab"
>
ส่วนที่ 2 : โครงสร้างสายการบังคับบัญชา (Organization Chart)
</button>
<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"
style=
"align-items: center;"
id=
"part-item-3"
data-hs-tab=
"#part-3"
aria-controls=
"part-3"
role=
"tab"
>
ส่วนที่ 3 : รายละเอียดของงาน (Job Detail)
</button>
<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"
style=
"align-items: center;"
id=
"part-item-4"
data-hs-tab=
"#part-4"
aria-controls=
"part-4"
role=
"tab"
>
ส่วนที่ 4 : คุณสมบัติที่จำเป็นต่อการปฏิบัติหน้าที่ (Job Specification)
</button>
<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"
style=
"align-items: center;"
id=
"part-item-5"
data-hs-tab=
"#part-5"
aria-controls=
"part-5"
role=
"tab"
>
ส่วนที่ 5 : ความรู้ ทักษะ ความสามารถในตำแหน่งงาน (Job Competency)
</button>
<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"
style=
"align-items: center;"
id=
"part-item-6"
data-hs-tab=
"#part-6"
aria-controls=
"part-6"
role=
"tab"
>
ส่วนที่ 6 : ตัวชี้วัดของตำแหน่งงาน (Key Performance Indicators: KPIs)
</button>
</nav>
</div>
<div
class=
"box-body"
>
<div
id=
"part-1"
class=
""
role=
"tabpanel"
aria-labelledby=
"part-item-1"
>
<ng-container
*
ngTemplateOutlet=
"part1"
></ng-container>
</div>
<div
id=
"part-2"
class=
"hidden"
role=
"tabpanel"
aria-labelledby=
"part-item-2"
>
<ng-container
*
ngTemplateOutlet=
"part2"
></ng-container>
</div>
<div
id=
"part-3"
class=
"hidden"
role=
"tabpanel"
aria-labelledby=
"part-item-3"
>
<ng-container
*
ngTemplateOutlet=
"part3"
></ng-container>
</div>
<div
id=
"part-4"
class=
"hidden"
role=
"tabpanel"
aria-labelledby=
"part-item-4"
>
<ng-container
*
ngTemplateOutlet=
"part4"
></ng-container>
</div>
<div
id=
"part-5"
class=
"hidden"
role=
"tabpanel"
aria-labelledby=
"part-item-5"
>
<ng-container
*
ngTemplateOutlet=
"part5"
></ng-container>
</div>
<div
id=
"part-6"
class=
"hidden"
role=
"tabpanel"
aria-labelledby=
"part-item-6"
>
<ng-container
*
ngTemplateOutlet=
"part6"
></ng-container>
</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
class=
"col-span-12 xxl:col-span-2"
>
</div>
</div>
</div>
</div>
<ng-template
#
part1
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 1 : ข้อมูลทั่วไป (General Information)
</h5>
<div
class=
"p-2 pt-0"
>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ตำแหน่ง (ภาษาไทย)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
เจ้าหน้าที่บัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ตำแหน่ง (ภาษาอังกฤษ)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
Accounting Officer
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ระดับงาน (Job Grade)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
เจ้าหน้าที่
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
งาน (Unit)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
งานบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
แผนก (Section)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
บัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ส่วน (Division)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
การเงินและบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ฝ่าย (Department)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
สำนักงานกลาง
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
สายงาน (Business Line)
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
สนับสนุนธุรกิจ
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ตำแหน่งผู้บังคับบัญชา
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
หัวหน้าบัญชี
</td>
</tr>
</tbody>
</table>
</div>
<h5
class=
"box-title mt-3 mb-3"
>
วัตถุประสงค์ของตำแหน่งงาน (Objective)
</h5>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
1. จัดทำบัญชีทั่วไปและบัญชีรายวันให้ถูกต้องและครบถ้วนตามมาตรฐานบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
2. ตรวจสอบเอกสารทางการเงินก่อนบันทึกบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
3. สนับสนุนการจัดทำงบการเงินรายเดือน/รายปี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
4. ประสานงานกับฝ่ายที่เกี่ยวข้องเพื่อความถูกต้องของข้อมูลบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
5. ปฏิบัติงานอื่น ๆ ที่ได้รับมอบหมายจากผู้บังคับบัญชา
</td>
</tr>
</tbody>
</table>
</div>
</div>
</ng-template>
<ng-template
#
part2
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 2 : โครงสร้างสายการบังคับบัญชา (Organization Chart)
</h5>
</ng-template>
<ng-template
#
part3
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 3 : รายละเอียดของงาน (Job Detail)
</h5>
<div
class=
"p-2 pt-0"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<th
scope=
"col"
class=
" px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700"
>
งานหลัก (Major Responsibility)
</span>
</th>
<th
scope=
"col"
class=
" px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700"
>
รายละเอียด (Job Detail)
</span>
</th>
<th
scope=
"col"
class=
" px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700"
>
เปอร์เซ็นต์น้ำหนัก (%)
</span>
</th>
</tr>
</thead>
<tbody>
<tr
style=
"align-items: start"
>
<td
style=
"vertical-align: top;"
class=
"text-center"
>
1.งานบริหาร (Management)
</td>
<td
style=
"vertical-align: top;"
>
-
</td>
<td
class=
"text-center"
>
0%
</td>
</tr>
<tr
style=
"align-items: start"
>
<td
style=
"vertical-align: top;"
class=
"text-center"
>
2.งานที่รับผิดชอบ (งานปฏิบัติ)
</td>
<td
style=
"vertical-align: top;"
>
1. บันทึกบัญชีเจ้าหนี้/ลูกหนี้
<p></p>
2. จัดทำใบสำคัญจ่าย-รับ
<p></p>
3. ตรวจสอบเอกสารภาษี
<p></p>
4. ติดตามเอกสารค่าใช้จ่ายจากหน่วยงาน
<p></p>
5. สนับสนุนการปิดงบ
</td>
<td
class=
"text-center"
>
70%
</td>
</tr>
<tr
style=
"align-items: start"
>
<td
style=
"vertical-align: top;"
class=
"text-center"
>
3.งานที่ได้รับมอบหมายพิเศษ
</td>
<td
style=
"vertical-align: top;"
>
1. งานโครงการตรวจสอบบัญชี
<p></p>
2. งานตรวจสอบภายในเบื้องต้น
</td>
<td
class=
"text-center"
>
10%
</td>
</tr>
<tr
style=
"align-items: start"
>
<td
style=
"vertical-align: top;"
class=
"text-center"
>
4.งานที่ทุกตำแหน่งต้องปฏิบัต
</td>
<td
style=
"vertical-align: top;"
>
1. เข้าร่วมกิจกรรมองค์กร
<p></p>
2. ปฏิบัติตามระเบียบวินัย
<p></p>
3. รักษาความลับข้อมูล
<p></p>
4. รายงานความผิดปกติ
<p></p>
5. ทำงานร่วมกับทีม
</td>
<td
class=
"text-center"
>
15%
</td>
</tr>
<tr
style=
"align-items: start"
>
<td
style=
"vertical-align: top;"
class=
"text-center"
>
5.อื่นๆ
</td>
<td
style=
"vertical-align: top;"
>
1. สนับสนุนการฝึกอบรม/ตรวจนับ
<p></p>
2. งานด้านจัดซื้อที่เกี่ยวข้อง
</td>
<td
class=
"text-center"
>
5%
</td>
</tr>
</tbody>
</table>
</div>
</ng-template>
<ng-template
#
part4
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 4 : คุณสมบัติที่จำเป็นต่อการปฏิบัติหน้าที่ (Job Specification)
</h5>
<div
class=
"p-2 pt-0"
>
<h5
class=
"box-title mb-3"
>
การศึกษา/ประสบการณ์ (Education/Experience)
</h5>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
วุฒิ
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
ปริญญาตรี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
สาขาวิชา
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
บัญชี หรือการเงิน
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
ประสบการณ์ด้าน
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
ด้านบัญชี
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
อย่างน้อย
</td>
<td
class=
"!p-2"
>
:
</td>
<td
class=
"!p-2 !text-gray-500 dark:!text-white/70"
>
1 ปี
</td>
</tr>
</tbody>
</table>
</div>
<h5
class=
"box-title mb-3"
>
ใบประกาศนียบัตร (Certificate) /ใบประกอบวิชาชีพ (Licensed Professional)
</h5>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
1. หากมี CPA / CPD จะพิจารณาเป็นพิเศษ
</td>
</tr>
</tbody>
</table>
</div>
<h5
class=
"box-title mb-3"
>
การฝึกอบรมที่จำเป็นต่อการปฏิบัติงาน (Especially Training Course)
</h5>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
1. มาตรฐานบัญช
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
2. โปรแกรมบัญชีสำเร็จรูป
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
3. ภาษีอากร
</td>
</tr>
</tbody>
</table>
</div>
<h5
class=
"box-title mb-3"
>
ความสามารถอื่นๆ (Other Abilities)
</h5>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
<b>
ภาษา (Language) : (ระบุ : ฟัง, พูด, อ่าน, เขียน)
</b>
<p></p>
1. อังกฤษ (ฟัง, พูด, อ่าน, เขียน) มาตรฐาน TOEIC ≥ 500 คะแนน
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
<b>
โปรแกรมคอมพิวเตอร์ (Computer Program)
</b>
<p></p>
1. Microsoft Excel
<p></p>
2. โปรแกรมบัญชี (เช่น Express, QuickBooks)
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
<b>
อื่นๆ (Others) :
</b>
<p></p>
1. ความละเอียดรอบคอบ
<p></p>
2. การจัดการเวลา
</td>
</tr>
</tbody>
</table>
</div>
</div>
</ng-template>
<ng-template
#
part5
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 5 : ความรู้ ทักษะ ความสามารถในตำแหน่งงาน (Job Competency)
</h5>
<div
class=
"p-2 pt-0"
>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
1. ความรู้ด้านบัญชีและภาษีอากร
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
2. ความสามารถในการใช้โปรแกรมบัญช
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
3. ทักษะการจัดการเวลา
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
4. ความละเอียดรอบคอบและความถูกต้อง
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
5. การทำงานเป็นทีม
</td>
</tr>
</tbody>
</table>
</div>
</div>
</ng-template>
<ng-template
#
part6
>
<h5
class=
"box-title mb-3"
>
ส่วนที่ 6 : ตัวชี้วัดของตำแหน่งงาน (Key Performance Indicators: KPIs)
</h5>
<div
class=
"p-2 pt-0"
>
<div
class=
"overflow-auto w-1/2 mb-3"
>
<table
class=
"ti-custom-table border-0 whitespace-nowrap"
>
<tbody>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
1. ความถูกต้องของรายการบัญชี ≥ 98%
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
2. ส่งงบการเงินรายเดือนตรงเวลา 100%
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
3. ความครบถ้วนของเอกสารประกอบบัญชี ≥ 95%
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
4. ลดข้อผิดพลาดจากการตรวจสอบภายใน
</td>
</tr>
<tr
class=
"!border-0"
>
<td
class=
"!p-2 font-medium !text-gray-500 dark:!text-white/70"
>
5. ระยะเวลาการปิดบัญชีรายเดือน ≤ 5 วันทำการ
</td>
</tr>
</tbody>
</table>
</div>
</div>
</ng-template>
\ No newline at end of file
src/app/components/job-description-ess/job-description-ess.component.scss
0 → 100644
View file @
b0814b9d
.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
src/app/components/job-description-ess/job-description-ess.component.ts
0 → 100644
View file @
b0814b9d
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
src/app/components/performance-evaluation/pms-form-employee/pms-form-employee.component.html
View file @
b0814b9d
...
@@ -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"
>
...
...
src/app/shared/components/sidebar/sidebar.component.ts
View file @
b0814b9d
...
@@ -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
=
''
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment