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
43bdbbf3
Commit
43bdbbf3
authored
Mar 14, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ทะเบียนพนักงาน
parent
4e42d7bf
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1025 additions
and
83 deletions
+1025
-83
sub-employee-registration.component.html
...yee-registration/sub-employee-registration.component.html
+814
-40
sub-employee-registration.component.ts
...loyee-registration/sub-employee-registration.component.ts
+179
-22
employee-level.component.html
...-description/employee-level/employee-level.component.html
+2
-2
evaluation-cycle.component.html
...-manager/evaluation-cycle/evaluation-cycle.component.html
+2
-2
idp-evalution.component.html
...ce-evaluation/idp-evaluation/idp-evalution.component.html
+20
-13
management-evaluation-cycle.component.html
...aluation-cycle/management-evaluation-cycle.component.html
+2
-2
assessment-topics.component.html
...omance/assessment-topics/assessment-topics.component.html
+2
-2
style.css
src/assets/css/style.css
+4
-0
No files found.
src/app/components/company-components/employee-registration/sub-employee-registration/sub-employee-registration.component.html
View file @
43bdbbf3
...
...
@@ -45,7 +45,7 @@
</div>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
data-hs-overlay=
"#sub-employee-registration-modal"
(
click
)="
selectEmployee
();
modalType=
'add'
"
>
data-hs-overlay=
"#sub-employee-registration-modal"
(
click
)="
modalType=
'add'
;
selectEmployee
()
"
>
<i
class=
"ri-add-line"
></i>
Add
</button>
...
...
@@ -64,12 +64,12 @@
Print
</button>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
-->
</div>
</div>
</div>
...
...
@@ -124,10 +124,10 @@
<td>
{{item.data.jobCode.bu1.tdesc}}
</td>
<td
class=
"flex justify-center"
>
<i
class=
"ti ti-edit cursor-pointer i-gray fs-l px-1"
data-hs-overlay=
"#sub-employee-registration-modal"
(
click
)="
selectEmployee
(
item
.
data
);
modalType=
'update'
"
></i>
(
click
)="
modalType=
'update'
;
selectEmployee
(
item
.
data
)
"
></i>
<i
class=
"ti ti-trash cursor-pointer i-gray fs-l px-1"
data-hs-overlay=
"#sub-employee-registration-alert-delete-modal"
(
click
)="
selectEmployee
(
item
.
data
);
modalType=
'delete'
"
></i>
(
click
)="
modalType=
'delete'
;
selectEmployee
(
item
.
data
)
"
></i>
</td>
</tr>
</tbody>
...
...
@@ -194,9 +194,24 @@
<div
class=
"w-full flex justify-end"
>
<div
class=
"absolute flex"
>
<div
class=
"px-1"
>
<button
href=
"javascript:void(0);"
class=
"ti-btn ti-btn-soft-warning h-45px m-0 shadow-md"
>
<
!-- <
button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button> -->
<button
type=
"button"
class=
"ti-btn ti-btn-soft-indigo h-45px m-0 shadow-md"
(
click
)="
selectEmployee
()"
>
<svg
class=
"svg-indigo"
width=
"16"
height=
"16"
viewBox=
"0 0 64.00 64.00"
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
stroke=
"#595BEA"
stroke-width=
"3.84"
transform=
"rotate(45)matrix(-1, 0, 0, 1, 0, 0)"
>
<g
id=
"SVGRepo_bgCarrier"
stroke-width=
"0"
></g>
<g
id=
"SVGRepo_tracerCarrier"
stroke-linecap=
"round"
stroke-linejoin=
"round"
></g>
<g
id=
"SVGRepo_iconCarrier"
>
<path
d=
"M15 49A24 24 0 0 1 32 8"
></path>
<path
d=
"M49 15a24 24 0 0 1-17 41"
></path>
<polyline
points=
"15.03 40 15.03 48.97 8 48.97"
></polyline>
<polyline
points=
"48.97 24 48.97 15.03 56 15.03"
></polyline>
</g>
</svg>
Clear
</button>
</div>
</div>
...
...
@@ -236,7 +251,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-empgroup-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-empgroup-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -250,7 +265,7 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<mat-form-field>
<input
matInput
[
matDatepicker
]="
firstHireDate
"
type=
"text"
readonly
class=
"ti-form-input rounded-l-none focus:z-10 flatpickr-input !text-gray-500 bg-white"
id=
"datetime"
class=
"ti-form-input rounded-l-none focus:z-10 flatpickr-input !text-gray-500
!
bg-white"
id=
"datetime"
[(
ngModel
)]="
employee
.
select
.
dateIso
"
(
ngModelChange
)="
changeDate
(
this
.
employee
.
select
,
'
firstHireDate
',
employee
.
select
.
dateIso
);"
>
<mat-datepicker-toggle
matSuffix
[
for
]="
firstHireDate
"
></mat-datepicker-toggle>
...
...
@@ -273,7 +288,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
1-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -288,15 +303,15 @@
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
2
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
2
.
bu2id=
''
;
employee
.
select
.
bu2
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
2-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -311,15 +326,15 @@
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
3
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
3
.
bu3id=
''
;
employee
.
select
.
bu3
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
3-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -334,15 +349,15 @@
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
4
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
4
.
bu4id=
''
;
employee
.
select
.
bu4
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
4-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -357,15 +372,15 @@
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
5
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
5
.
bu5id=
''
;
employee
.
select
.
bu5
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
5-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -374,21 +389,20 @@
</div>
</div>
<div
class=
"grid grid-cols-12 gap-x-6"
>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
ส่วนย่อย3
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
ส่วนย่อย3
</label>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
6
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
6
.
bu6id=
''
;
employee
.
select
.
bu6
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
6-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -397,21 +411,20 @@
</div>
</div>
<div
class=
"grid grid-cols-12 gap-x-6"
>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
ส่วนย่อย4
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
ส่วนย่อย4
</label>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
1
.
tdesc
"
>
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu
7
.
tdesc
"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
bu
1
.
bu1id=
''
;
employee
.
select
.
bu1
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
bu
7
.
bu7id=
''
;
employee
.
select
.
bu7
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-bu
-table-modal
"
>
data-hs-overlay=
"#sub-employee-registration-bu
7-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -419,7 +432,6 @@
</div>
</div>
</div>
<div
class=
"grid grid-cols-12 gap-x-6"
>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
ตำแหน่ง
<span
class=
"text-danger"
>
*
</span></label>
<div
class=
"col-span-6 sm:col-span-6 "
>
...
...
@@ -434,7 +446,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-position-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-position-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -457,7 +469,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-jobcode-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-jobcode-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -479,7 +491,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-branch-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-branch-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -502,7 +514,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-emptype-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-emptype-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -525,7 +537,7 @@
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
<button
type=
"button"
class=
"flex items-center text-gray-500 dark:text-white/70"
data-hs-overlay=
"#sub-employee-registration-pl-table-modal"
>
data-hs-overlay=
"#sub-employee-registration-pl-table-modal"
(
click
)="
modal
.
search=
''
"
>
<i
class=
"ri-search-line cursor-pointer text-gray"
></i>
</button>
</div>
...
...
@@ -534,7 +546,7 @@
</div>
</div>
<div
class=
"grid grid-cols-12 gap-x-6"
>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
E-mail
<
span
class=
"text-danger"
>
*
</span><
/label>
<label
class=
"col-span-3 ti-form-label text-primary mt-2"
>
E-mail
</label>
<input
type=
"text"
class=
"sm:col-span-6 ti-form-input"
[(
ngModel
)]="
employee
.
select
.
email
"
>
</div>
</div>
...
...
@@ -786,12 +798,12 @@
</div>
</div>
<div
id=
"sub-employee-registration-bu-table-modal"
class=
"hs-overlay hidden ti-modal"
>
<div
id=
"sub-employee-registration-bu
1
-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูล
BU
ข้อมูล
ทะเบียนฝ่าย
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
...
...
@@ -913,6 +925,768 @@
</div>
</div>
<div
id=
"sub-employee-registration-bu2-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลทะเบียนแผนก
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu2ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสแผนก','รายละเอียดแผนก(ไทย)','รายละเอียดแผนก(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu2.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu2.loading&&!bu2ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu2.loading&&bu2ListFilter().length"
>
<tr
*
ngFor=
"let item of bu2ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu2
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu2id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu2ListFilter().length
<10
?
bu2ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu2ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu2ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-bu3-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลทะเบียนส่วน
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu3ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสส่วน','รายละเอียดส่วน(ไทย)','รายละเอียดส่วน(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu3.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu3.loading&&!bu3ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu3.loading&&bu3ListFilter().length"
>
<tr
*
ngFor=
"let item of bu3ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu3
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu3id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu3ListFilter().length
<10
?
bu3ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu3ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu3ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-bu4-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลส่วนย่อย1
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu4ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสส่วนย่อย1','รายละเอียดส่วนย่อย1(ไทย)','รายละเอียดส่วนย่อย1(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu4.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu4.loading&&!bu4ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu4.loading&&bu4ListFilter().length"
>
<tr
*
ngFor=
"let item of bu4ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu4
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu4id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu4ListFilter().length
<10
?
bu4ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu4ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu4ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-bu5-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลส่วนย่อย2
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu5ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสส่วนย่อย2','รายละเอียดส่วนย่อย2(ไทย)','รายละเอียดส่วนย่อย2(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu5.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu5.loading&&!bu5ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu5.loading&&bu5ListFilter().length"
>
<tr
*
ngFor=
"let item of bu5ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu5
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu5id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu5ListFilter().length
<10
?
bu5ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu5ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu5ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-bu6-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลส่วนย่อย3
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu6ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสส่วนย่อย3','รายละเอียดส่วนย่อย3(ไทย)','รายละเอียดส่วนย่อย3(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu6.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu6.loading&&!bu6ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu6.loading&&bu6ListFilter().length"
>
<tr
*
ngFor=
"let item of bu6ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu6
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu6id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu6ListFilter().length
<10
?
bu6ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu6ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu6ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-bu7-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
<div
class=
"ti-modal-header"
>
<h3
class=
"text-xxl font-bold text-primary"
>
ข้อมูลส่วนย่อย4
</h3>
<div
class=
"flex justify-end"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<span
class=
"sr-only"
>
Close
</span>
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</div>
</div>
<div
class=
"ti-modal-body"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
bu7ListFilter
())"
>
<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>
<div
class=
"overflow-auto border"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead>
<tr>
<ng-container
*
ngFor=
"let item of ['ลำดับ','รหัสส่วนย่อย4','รายละเอียดส่วนย่อย4(ไทย)','รายละเอียดส่วนย่อย4(อังกฤษ)']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
"
>
<span
class=
"text-sm"
>
{{ item }}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"bu7.loading"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
<div
*
ngFor=
"let item of [1,2,3]"
class=
"ti-spinner w-8 h-8 text-secondary mx-1"
role=
"status"
aria-label=
"loading"
>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu7.loading&&!bu7ListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"!bu7.loading&&bu7ListFilter().length"
>
<tr
*
ngFor=
"let item of bu7ListFilter() | slice:((modal.currentPage-1) * 10) : (((modal.currentPage-1) * 10) + 10);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
bu7
',
item
)"
data-hs-overlay=
"#sub-employee-registration-modal"
>
<td
class=
"flex justify-center"
>
{{((modal.currentPage-1) * 10)+(i+1)}}
</td>
<td>
{{item.bu7id}}
</td>
<td>
{{item.tdesc}}
</td>
<td>
{{item.edesc}}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 my-5"
*
ngIf=
"modal.page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of modal.page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&&modal.currentPage!=1&&modal.currentPage!=2&&modal.currentPage!=3"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
<ng-container
*
ngIf=
"(f||l)||(item==modal.currentPage-1||item==modal.currentPage||item==modal.currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=modal.currentPage"
(
click
)="
modal
.
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==modal.page.length-2&&modal.currentPage!=modal.page.length&&modal.currentPage!=modal.page.length-1&&modal.currentPage!=modal.page.length-2"
>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
><i
class=
"ri-more-line"
></i>
</a>
</ng-container>
</li>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
modal
.
currentPage =
(modal.currentPage
>
modal.page.length-1 ? modal.currentPage: modal.currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((modal.currentPage-1) * 10)+1}} to {{bu7ListFilter().length
<10
?
bu7ListFilter
().
length:
(
modal
.
currentPage=
=modal.page.length
?
((
modal
.
currentPage
*
10
)
-
((
modal
.
currentPage
*
10
)
-
bu7ListFilter
().
length
)
)
:
(
modal
.
currentPage
*
10
)
)
}}
of
{{
bu7ListFilter
().
length
}}
items
</
span
>
</ul>
</nav>
<div
class=
"flex justify-end mt-2rem mb-1rem space-x-4"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay=
"#sub-employee-registration-modal"
>
ย้อนกลับ
</button>
</div>
</div>
</div>
</div>
</div>
<div
id=
"sub-employee-registration-position-table-modal"
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"
>
<div
class=
"max-h-full overflow-hidden ti-modal-content"
>
...
...
src/app/components/company-components/employee-registration/sub-employee-registration/sub-employee-registration.component.ts
View file @
43bdbbf3
...
...
@@ -17,6 +17,18 @@ import { PLService } from 'src/app/shared/services/pl.service';
import
{
PositionService
}
from
'src/app/shared/services/position.service'
;
import
{
BranchService
}
from
'src/app/shared/services/่branch.service'
;
import
{
JobCodeService
}
from
'src/app/shared/services/job-code.service'
;
import
{
Bu2Model
,
MyBu2Model
}
from
'src/app/shared/model/bu2.model'
;
import
{
Bu2Service
}
from
'src/app/shared/services/bu2.service'
;
import
{
Bu3Service
}
from
'src/app/shared/services/bu3.service'
;
import
{
Bu4Service
}
from
'src/app/shared/services/bu4.service'
;
import
{
Bu5Service
}
from
'src/app/shared/services/bu5.service'
;
import
{
Bu6Service
}
from
'src/app/shared/services/bu6.service'
;
import
{
Bu7Service
}
from
'src/app/shared/services/bu7.service'
;
import
{
Bu3Model
,
MyBu3Model
}
from
'src/app/shared/model/bu3.model'
;
import
{
Bu4Model
,
MyBu4Model
}
from
'src/app/shared/model/bu4.model'
;
import
{
Bu5Model
,
MyBu5Model
}
from
'src/app/shared/model/bu5.model'
;
import
{
Bu6Model
,
MyBu6Model
}
from
'src/app/shared/model/bu6.model'
;
import
{
Bu7Model
,
MyBu7Model
}
from
'src/app/shared/model/bu7.model'
;
export
interface
DataEmployee
{
loading
:
boolean
select
:
EmployeeModel
|
any
...
...
@@ -59,6 +71,12 @@ export class SubEmployeeRegistrationComponent {
empGroup
:
{
loading
:
boolean
,
dataList
:
EmpGroupModel
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu1
:
{
loading
:
boolean
,
dataList
:
Bu1Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu2
:
{
loading
:
boolean
,
dataList
:
Bu2Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu3
:
{
loading
:
boolean
,
dataList
:
Bu3Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu4
:
{
loading
:
boolean
,
dataList
:
Bu4Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu5
:
{
loading
:
boolean
,
dataList
:
Bu5Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu6
:
{
loading
:
boolean
,
dataList
:
Bu6Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
bu7
:
{
loading
:
boolean
,
dataList
:
Bu7Model
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
position
:
{
loading
:
boolean
,
dataList
:
PositionModel
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
jobcode
:
{
loading
:
boolean
,
dataList
:
JobCodeModel
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
branch
:
{
loading
:
boolean
,
dataList
:
BranchModel
[]
}
=
{
loading
:
false
,
dataList
:
[]
}
...
...
@@ -69,6 +87,12 @@ export class SubEmployeeRegistrationComponent {
private
cdr
:
ChangeDetectorRef
,
private
empGroupService
:
EmpGroupService
,
private
bu1Service
:
Bu1Service
,
private
bu2Service
:
Bu2Service
,
private
bu3Service
:
Bu3Service
,
private
bu4Service
:
Bu4Service
,
private
bu5Service
:
Bu5Service
,
private
bu6Service
:
Bu6Service
,
private
bu7Service
:
Bu7Service
,
private
positionService
:
PositionService
,
private
jobcodeService
:
JobCodeService
,
private
branchService
:
BranchService
,
...
...
@@ -80,6 +104,12 @@ export class SubEmployeeRegistrationComponent {
this
.
getEmployeeList
()
this
.
getEmpGroupList
()
this
.
getBu1List
()
this
.
getBu2List
()
this
.
getBu3List
()
this
.
getBu4List
()
this
.
getBu5List
()
this
.
getBu6List
()
this
.
getBu7List
()
this
.
getPositionList
()
this
.
getJobcodeList
()
this
.
getBranchList
()
...
...
@@ -148,9 +178,9 @@ export class SubEmployeeRegistrationComponent {
})
}
plListFilter
()
{
return
this
.
pl
.
dataList
.
filter
(
x
=>
x
.
plId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
pl
.
dataList
.
filter
(
x
=>
x
.
plId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getEmpTypeList
()
{
...
...
@@ -168,9 +198,9 @@ export class SubEmployeeRegistrationComponent {
})
}
empTypeListFilter
()
{
return
this
.
empType
.
dataList
.
filter
(
x
=>
x
.
codeId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
empType
.
dataList
.
filter
(
x
=>
x
.
codeId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBranchList
()
{
...
...
@@ -188,9 +218,9 @@ export class SubEmployeeRegistrationComponent {
})
}
branchListFilter
()
{
return
this
.
branch
.
dataList
.
filter
(
x
=>
x
.
branchId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
branch
.
dataList
.
filter
(
x
=>
x
.
branchId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getJobcodeList
()
{
...
...
@@ -208,9 +238,9 @@ export class SubEmployeeRegistrationComponent {
})
}
jobcodeListFilter
()
{
return
this
.
jobcode
.
dataList
.
filter
(
x
=>
x
.
jobcodeId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
jobcode
.
dataList
.
filter
(
x
=>
x
.
jobcodeId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getPositionList
()
{
...
...
@@ -228,9 +258,9 @@ export class SubEmployeeRegistrationComponent {
})
}
positionListFilter
()
{
return
this
.
position
.
dataList
.
filter
(
x
=>
x
.
positionId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
position
.
dataList
.
filter
(
x
=>
x
.
positionId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu1List
()
{
...
...
@@ -248,11 +278,130 @@ export class SubEmployeeRegistrationComponent {
})
}
bu1ListFilter
()
{
return
this
.
bu1
.
dataList
.
filter
(
x
=>
x
.
bu1id
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
bu1
.
dataList
.
filter
(
x
=>
x
.
bu1id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu2List
()
{
this
.
bu2
.
loading
=
false
this
.
bu2Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu2
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu2Model
(
x
))
this
.
bu2
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu2
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu2ListFilter
()
{
return
this
.
bu2
.
dataList
.
filter
(
x
=>
x
.
bu2id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu3List
()
{
this
.
bu3
.
loading
=
false
this
.
bu3Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu3
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu3Model
(
x
))
this
.
bu3
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu3
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu3ListFilter
()
{
return
this
.
bu3
.
dataList
.
filter
(
x
=>
x
.
bu3id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu4List
()
{
this
.
bu4
.
loading
=
false
this
.
bu4Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu4
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu4Model
(
x
))
this
.
bu4
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu4
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu4ListFilter
()
{
return
this
.
bu4
.
dataList
.
filter
(
x
=>
x
.
bu4id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu5List
()
{
this
.
bu5
.
loading
=
false
this
.
bu5Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu5
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu5Model
(
x
))
this
.
bu5
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu5
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu5ListFilter
()
{
return
this
.
bu5
.
dataList
.
filter
(
x
=>
x
.
bu5id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu6List
()
{
this
.
bu6
.
loading
=
false
this
.
bu6Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu6
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu6Model
(
x
))
this
.
bu6
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu6
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu6ListFilter
()
{
return
this
.
bu6
.
dataList
.
filter
(
x
=>
x
.
bu6id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getBu7List
()
{
this
.
bu7
.
loading
=
false
this
.
bu7Service
.
getList
().
subscribe
({
next
:
response
=>
{
this
.
bu7
.
dataList
=
response
.
map
((
x
:
any
)
=>
new
MyBu7Model
(
x
))
this
.
bu7
.
loading
=
false
this
.
searchChange
()
this
.
cdr
.
detectChanges
()
},
error
:
error
=>
{
this
.
bu7
.
loading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
bu7ListFilter
()
{
return
this
.
bu7
.
dataList
.
filter
(
x
=>
x
.
bu7id
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
getEmpGroupList
()
{
this
.
empGroup
.
loading
=
false
...
...
@@ -269,9 +418,9 @@ export class SubEmployeeRegistrationComponent {
})
}
empGroupListFilter
()
{
return
this
.
empGroup
.
dataList
.
filter
(
x
=>
x
.
groupId
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
return
this
.
empGroup
.
dataList
.
filter
(
x
=>
x
.
groupId
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
tdesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
())
||
x
.
edesc
.
toLowerCase
().
includes
(
this
.
modal
.
search
.
toLowerCase
()))
}
...
...
@@ -336,7 +485,11 @@ export class SubEmployeeRegistrationComponent {
x
.
data
.
jobCode
.
tdesc
.
toLowerCase
().
includes
(
this
.
search
.
toLowerCase
()))
}
selectEmployee
(
data
?:
EmployeeModel
)
{
this
.
employee
.
select
=
{
...
new
MyEmployeeModel
(
data
||
{}),
dateIso
:
this
.
toISODate
(
data
?.
firstHireDate
)
}
if
(
this
.
modalType
==
'update'
&&
!
data
)
{
this
.
employee
.
select
=
{
...
new
MyEmployeeModel
({
employeeId
:
this
.
employee
.
select
.
employeeId
}),
dateIso
:
''
}
}
else
{
this
.
employee
.
select
=
{
...
new
MyEmployeeModel
(
data
||
{}),
dateIso
:
this
.
toISODate
(
data
?.
firstHireDate
)
}
}
}
changeDate
(
target
:
{
[
key
:
string
]:
any
},
field
:
string
,
dateIso
:
string
)
{
target
[
field
]
=
this
.
toYYYYMMDD
(
dateIso
)
...
...
@@ -398,6 +551,10 @@ export class SubEmployeeRegistrationComponent {
!
this
.
employee
.
select
.
empGroup
.
groupId
||
!
this
.
employee
.
select
.
firstHireDate
||
!
this
.
employee
.
select
.
bu1
.
bu1id
||
!
this
.
employee
.
select
.
bu2
.
bu2id
||
!
this
.
employee
.
select
.
bu3
.
bu3id
||
!
this
.
employee
.
select
.
bu4
.
bu4id
||
!
this
.
employee
.
select
.
bu5
.
bu5id
||
!
this
.
employee
.
select
.
position
.
positionId
||
!
this
.
employee
.
select
.
jobCode
.
jobcodeId
||
!
this
.
employee
.
select
.
branch
.
branchId
||
...
...
src/app/components/company-components/job-description/employee-level/employee-level.component.html
View file @
43bdbbf3
...
...
@@ -201,12 +201,12 @@
Clear
</button>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
-->
</div>
</div>
<div
class=
"ti-modal-body"
style=
"margin-top: 40px;"
>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.html
View file @
43bdbbf3
...
...
@@ -242,12 +242,12 @@
Clear
</button>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
-->
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
...
...
src/app/components/performance-evaluation/idp-evaluation/idp-evalution.component.html
View file @
43bdbbf3
...
...
@@ -206,10 +206,12 @@
{{i+1}}. {{data.indicatorsCourses0.competencyTopic.competencyTopicId}}
</td>
<td
class=
"align-start !white-space-normal"
[
class
.
bg-table-gray
]="!
data
.
behavioralIndicators
||!
data
.
behavioralIndicators
.
length
"
>
<div
class=
"mb-3"
*
ngFor=
"let bis of data.behavioralIndicators;let i2 = index"
>
{{i2+1}}. {{bis.behavioralIndicators }}
</div>
[
class
.
bg-table-gray
]="!
data
.
idpDevelopmentPlan
||!
data
.
behavioralIndicators
||!
data
.
behavioralIndicators
.
length
"
>
<ng-container
*
ngIf=
"data.idpDevelopmentPlan"
>
<div
class=
"mb-3"
*
ngFor=
"let bis of data.behavioralIndicators;let i2 = index"
>
{{i2+1}}. {{bis.behavioralIndicators }}
</div>
</ng-container>
</td>
<td
class=
"align-start text-center"
[
class
.
bg-table-gray
]="!
data
.
idpDevelopmentPlan
||!
data
.
idpDevelopmentPlan
.
ojtJobAssignment
"
>
...
...
@@ -231,17 +233,22 @@
</ng-container>
</td>
<td
class=
"!p-0"
></td>
<td
class=
"align-start text-center"
[
class
.
bg-table-gray
]="!
data
.
competencyCourse
"
>
<div
class=
"mb-3"
*
ngFor=
"let competencyCourse of data.competencyCourse"
>
<i
class=
"ti ti-book fs-xxl !fw-b"
></i><br>
{{competencyCourse.competencyCourseId }}
</div>
<td
class=
"align-start text-center"
[
class
.
bg-table-gray
]="!
data
.
idpDevelopmentPlan
||!
data
.
competencyCourse
"
>
<ng-container
*
ngIf=
"data.idpDevelopmentPlan"
>
<div
class=
"mb-3"
*
ngFor=
"let competencyCourse of data.competencyCourse"
>
<i
class=
"ti ti-book fs-xxl !fw-b"
></i><br>
{{competencyCourse.competencyCourseId }}
</div>
</ng-container>
</td>
<td
class=
"align-start text-center !white-space-normal"
[
class
.
bg-table-gray
]="!
data
.
competencyCourse
"
>
<div
class=
"mb-3"
*
ngFor=
"let competencyCourse of data.competencyCourse"
>
{{competencyCourse.tdesc }}
</div>
[
class
.
bg-table-gray
]="!
data
.
idpDevelopmentPlan
||!
data
.
competencyCourse
"
>
<ng-container
*
ngIf=
"data.idpDevelopmentPlan"
>
<div
class=
"mb-3"
*
ngFor=
"let competencyCourse of data.competencyCourse"
>
{{competencyCourse.tdesc }}
</div>
</ng-container>
</td>
<td
class=
"!p-0"
></td>
<td
class=
"align-start text-center !white-space-normal"
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.html
View file @
43bdbbf3
...
...
@@ -241,12 +241,12 @@
Clear
</button>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
-->
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
...
...
src/app/components/performance-management-evaluation/name-registration-perfomance/assessment-topics/assessment-topics.component.html
View file @
43bdbbf3
...
...
@@ -193,12 +193,12 @@
Clear
</button>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-45px m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
Help
</button>
</div>
</div>
-->
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
...
...
src/assets/css/style.css
View file @
43bdbbf3
...
...
@@ -25006,3 +25006,6 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
border-width
:
0
1px
0
0
;
height
:
100%
;
}
\
!
.bg-white
{
background-color
:
white
!important
;
}
\ No newline at end of file
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