Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
myAppraisal
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
myAppraisal
Commits
1df926b9
Commit
1df926b9
authored
Jan 06, 2025
by
Natthaphat Pankiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
การจัดการรายละเอียดงาน > ตัวชี้วัดของตำแหน่งงาน
parent
80fd4d27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
267 additions
and
0 deletions
+267
-0
dashboard-routing.module.ts
src/app/components/dashboard/dashboard-routing.module.ts
+2
-0
dashboard.module.ts
src/app/components/dashboard/dashboard.module.ts
+4
-0
job-position-indicators.component.html
...osition-indicators/job-position-indicators.component.html
+26
-0
job-position-indicators.component.scss
...osition-indicators/job-position-indicators.component.scss
+0
-0
job-position-indicators.component.ts
...-position-indicators/job-position-indicators.component.ts
+10
-0
sub-job-position-indicators.component.html
...ion-indicators/sub-job-position-indicators.component.html
+0
-0
sub-job-position-indicators.component.scss
...ion-indicators/sub-job-position-indicators.component.scss
+150
-0
sub-job-position-indicators.component.ts
...ition-indicators/sub-job-position-indicators.component.ts
+74
-0
navservice.ts
src/app/shared/services/navservice.ts
+1
-0
No files found.
src/app/components/dashboard/dashboard-routing.module.ts
View file @
1df926b9
...
...
@@ -30,6 +30,7 @@ import { JobCompetencyComponent } from '../job-detail-components/job-competency/
import
{
JobQualificationsComponent
}
from
'../job-detail-components/job-qualifications/job-qualifications.component'
;
import
{
JobDetailComponent
}
from
'../job-detail-components/job-detail/job-detail.component'
;
import
{
CommandStructureComponent
}
from
'../job-detail-components/command-structure/command-structure.component'
;
import
{
JobPositionIndicatorsComponent
}
from
'../job-detail-components/job-position-indicators/job-position-indicators.component'
;
...
...
@@ -67,6 +68,7 @@ const routes: Routes = [
{
path
:
"job-qualifications"
,
title
:
'คุณสมบัติที่จำเป็นต่อการปฏิบัติหน้าที่'
,
component
:
JobQualificationsComponent
},
{
path
:
"job-detail"
,
title
:
'รายละเอียดของงาน'
,
component
:
JobDetailComponent
},
{
path
:
"command-structure"
,
title
:
'โครงสร้างสายการบังคับบัญชา'
,
component
:
CommandStructureComponent
},
{
path
:
"job-position-indicators"
,
title
:
'ตัวชี้วัดของตำแหน่งงาน'
,
component
:
JobPositionIndicatorsComponent
},
]
}
];
...
...
src/app/components/dashboard/dashboard.module.ts
View file @
1df926b9
...
...
@@ -79,6 +79,8 @@ import { JobDetailComponent } from '../job-detail-components/job-detail/job-deta
import
{
WorkDetailComponent
}
from
'../job-detail-components/job-detail/work-detail/work-detail.component'
;
import
{
SubCommandStructureComponent
}
from
'../job-detail-components/command-structure/sub-command-structure/sub-command-structure.component'
;
import
{
CommandStructureComponent
}
from
'../job-detail-components/command-structure/command-structure.component'
;
import
{
JobPositionIndicatorsComponent
}
from
'../job-detail-components/job-position-indicators/job-position-indicators.component'
;
import
{
SubJobPositionIndicatorsComponent
}
from
'../job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-Indicators.component'
;
@
NgModule
({
...
...
@@ -142,6 +144,8 @@ import { CommandStructureComponent } from '../job-detail-components/command-stru
WorkDetailComponent
,
CommandStructureComponent
,
SubCommandStructureComponent
,
JobPositionIndicatorsComponent
,
SubJobPositionIndicatorsComponent
,
],
imports
:
[
CommonModule
,
...
...
src/app/components/job-detail-components/job-position-indicators/job-position-indicators.component.html
0 → 100644
View file @
1df926b9
<app-page-header
[
pathTitle
]="
pathTitle
"
></app-page-header>
<div
class=
"bg-card-white"
>
</div>
<div
class=
"block-main-content"
>
<div
class=
"font-size-18px font-weight-700 pt-1.5rem text-primary px-2rem"
>
ตัวชี้วัดของตำแหน่งงาน
</div>
<div
class=
"page pt-0.75rem"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-2rem"
>
<nav
class=
"-mb-0.5 flex space-x-6 rtl:space-x-reverse"
>
<a
class=
"font-size-16px font-weight-500 hs-tab-active:font-weight-700 hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 hover:text-secondary active"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
(
click
)="
pathTitle =
['การจัดการรายละเอียดงาน','ตัวชี้วัดของตำแหน่งงานd']"
>
ตัวชี้วัดของตำแหน่งงาน
</a>
</nav>
</div>
<div
class=
"mt-3 px-2rem"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
>
<app-sub-job-position-indicators></app-sub-job-position-indicators>
</div>
</div>
</div>
</div>
\ No newline at end of file
src/app/components/job-detail-components/job-position-indicators/job-position-indicators.component.scss
0 → 100644
View file @
1df926b9
src/app/components/job-detail-components/job-position-indicators/job-position-indicators.component.ts
0 → 100644
View file @
1df926b9
import
{
Component
}
from
'@angular/core'
;
@
Component
({
selector
:
'app-job-position-Indicators'
,
templateUrl
:
'./job-position-Indicators.component.html'
,
styleUrls
:
[
'./job-position-Indicators.component.scss'
]
})
export
class
JobPositionIndicatorsComponent
{
pathTitle
=
[
'การจัดการรายละเอียดงาน'
,
'ตัวชี้วัดของตำแหน่งงาน'
]
}
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.html
0 → 100644
View file @
1df926b9
This diff is collapsed.
Click to expand it.
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.scss
0 → 100644
View file @
1df926b9
.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
th
{
height
:
60px
;
}
table
.ti-custom-table
thead
{
height
:
50px
;
}
table
.ti-custom-table
thead
th
span
{
font-size
:
12px
;
font-weight
:
bold
;
}
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
{
overflow
:
hidden
;
}
.header-title-type
{
width
:
100%
;
min-height
:
50px
;
/* ใช้ min-height เพื่อให้มีความยืดหยุ่น */
// margin-top: 50px;
// margin-bottom: 16px;
justify-content
:
space-between
;
/* จัดเรียงองค์ประกอบภายใน */
align-items
:
center
;
/* จัดกลางแนวตั้ง */
padding-top
:
50px
;
padding-bottom
:
1rem
;
}
// .icon-container {
// display: inline-flex;
// align-items: center;
// justify-content: center;
// width: 20px; /* ปรับขนาดตามต้องการ */
// height: 20px; /* ปรับขนาดตามต้องการ */
// border: 2px solid #2196F3; /* กรอบสีน้ำเงิน */
// border-radius: 5px; /* มุมโค้งมนเล็กน้อย */
// background-color: #E3F2FD; /* พื้นหลังสีฟ้าอ่อน */
// margin-bottom: 10px; /* เว้นระยะห่างจาก textarea */
// }
// .icon-container i {
// font-size: 10px; /* ขนาดไอคอน */
// color: #2196F3; /* สีไอคอน */
// }
.icon-container
{
display
:
flex
;
gap
:
1px
;
/* ระยะห่างระหว่างไอคอน */
}
.icon-container
i
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
20px
;
/* ขนาดกรอบ */
height
:
20px
;
border
:
2px
solid
#2196F3
;
/* สีกรอบ */
border-radius
:
4px
;
/* มุมโค้งมน */
background-color
:
#E3F2FD
;
/* พื้นหลังสีฟ้าอ่อน */
color
:
#2196F3
;
/* สีไอคอน */
font-size
:
10px
;
/* ขนาดไอคอน */
}
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.ts
0 → 100644
View file @
1df926b9
import
{
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
import
{
JobModel
,
MyJobModel
}
from
'src/app/shared/model/job.model'
;
@
Component
({
selector
:
'app-sub-job-position-indicators'
,
templateUrl
:
'./sub-job-position-indicators.component.html'
,
styleUrls
:
[
'./sub-job-position-indicators.component.scss'
]
})
export
class
SubJobPositionIndicatorsComponent
{
currentPage
=
1
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
jobList
:
JobModel
[]
=
[]
job
:
JobModel
=
new
MyJobModel
({})
search
=
""
constructor
(
private
toastr
:
ToastrService
)
{
}
ngOnInit
():
void
{
}
searchChange
()
{
this
.
currentPage
=
1
this
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
this
.
jobListFilter
().
length
/
10
)
},
(
_
,
i
)
=>
i
+
1
);
}
jobListFilter
()
{
return
this
.
jobList
.
filter
(
x
=>
x
.
jobid
.
toLowerCase
().
includes
(
this
.
search
)
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
)
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
))
}
selectJob
(
job
:
JobModel
)
{
// this.showSuccess()
this
.
job
=
new
MyJobModel
(
job
)
}
showSuccessAdd
()
{
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'
,
});
}
addBu1
()
{
// this.bu1Service.post(this.bu1).subscribe((response:any) => {
// if (response.success) {
// this.getBu1List()
// }
// })
}
deleteJob
(
job
:
JobModel
)
{
// this.bu1Service.delete(new MyBu1Model(bu1)).subscribe((response:any) => {
// if (response.success) {
// this.getBu1List()
// }
// })
}
}
\ No newline at end of file
src/app/shared/services/navservice.ts
View file @
1df926b9
...
...
@@ -108,6 +108,7 @@ export class NavService implements OnDestroy {
{
path
:
'/job-detail'
,
title
:
'รายละเอียดของงาน'
,
type
:
'link'
},
{
path
:
'/job-qualifications'
,
title
:
'คุณสมบัติที่จำเป็นต่อการปฏิบัติหน้าที่'
,
type
:
'link'
},
{
path
:
'/job-competency'
,
title
:
'ความรู้ ทักษะ ความสามารถในตำเเหน่งงาน'
,
type
:
'link'
},
{
path
:
'/job-position-indicators'
,
title
:
'ตัวชี้วัดของตำแหน่งงาน'
,
type
:
'link'
},
],
},
...
...
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