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
f1e48566
Commit
f1e48566
authored
Mar 20, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ปีการประเมิน แก้ปีการประเมินให้เป็น +- 1
parent
6651370a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
361 additions
and
171 deletions
+361
-171
department-list.component.html
...iness-unit/department-list/department-list.component.html
+16
-10
department-list.component.ts
...usiness-unit/department-list/department-list.component.ts
+4
-0
department-register.component.html
...it/department-register/department-register.component.html
+17
-9
department-register.component.ts
...unit/department-register/department-register.component.ts
+4
-0
section-registration.component.html
.../section-registration/section-registration.component.html
+18
-10
section-registration.component.ts
...it/section-registration/section-registration.component.ts
+4
-0
sub-department-four.component.html
...it/sub-department-four/sub-department-four.component.html
+18
-10
sub-department-four.component.ts
...unit/sub-department-four/sub-department-four.component.ts
+4
-0
sub-department-one.component.html
...unit/sub-department-one/sub-department-one.component.html
+18
-10
sub-department-one.component.ts
...s-unit/sub-department-one/sub-department-one.component.ts
+5
-0
sub-department-three.component.html
.../sub-department-three/sub-department-three.component.html
+23
-15
sub-department-three.component.ts
...it/sub-department-three/sub-department-three.component.ts
+4
-0
sub-department-two.component.html
...unit/sub-department-two/sub-department-two.component.html
+18
-10
sub-department-two.component.ts
...s-unit/sub-department-two/sub-department-two.component.ts
+4
-0
company-registration-page.component.html
...egistration-page/company-registration-page.component.html
+9
-4
company-registration-page.component.ts
...-registration-page/company-registration-page.component.ts
+4
-0
employee-categories.component.html
...on/employee-categories/employee-categories.component.html
+12
-5
employee-categories.component.ts
...tion/employee-categories/employee-categories.component.ts
+4
-0
employee-group-unit.component.html
...on/employee-group-unit/employee-group-unit.component.html
+12
-5
employee-group-unit.component.ts
...tion/employee-group-unit/employee-group-unit.component.ts
+4
-0
employee-level.component.html
...-description/employee-level/employee-level.component.html
+18
-11
employee-level.component.ts
...ob-description/employee-level/employee-level.component.ts
+5
-0
position-unit.component.html
...nts/job-description/position/position-unit.component.html
+11
-5
position-unit.component.ts
...nents/job-description/position/position-unit.component.ts
+4
-0
evaluation-cycle.component.html
...-manager/evaluation-cycle/evaluation-cycle.component.html
+20
-14
evaluation-cycle.component.ts
...le-manager/evaluation-cycle/evaluation-cycle.component.ts
+0
-2
competency-configuration.component.ts
...tency-configuration/competency-configuration.component.ts
+1
-9
evaluation.component.html
...rformance-evaluation/evaluation/evaluation.component.html
+45
-18
evaluation.component.ts
...performance-evaluation/evaluation/evaluation.component.ts
+50
-7
management-evaluation-cycle.component.ts
...evaluation-cycle/management-evaluation-cycle.component.ts
+0
-8
assessment-system-configuration.component.ts
...onfiguration/assessment-system-configuration.component.ts
+0
-8
style.css
src/assets/css/style.css
+5
-1
No files found.
src/app/components/company-components/company-registration/branch-business-unit/department-list/department-list.component.html
View file @
f1e48566
...
...
@@ -196,9 +196,14 @@
readonly
[
value
]="
bu1
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
เเผนก
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
เเผนก
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
เเผนกซ้ำ
</ng-container>
</span></label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu2
.
bu2id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu2
.
bu2id
"
>
</div>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดแผนก (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
...
...
@@ -212,8 +217,8 @@
ย้อนกลับ
</button>
<button
class=
"ti-btn ti-btn-success"
type=
"button"
data-hs-overlay=
"#department-list-alert-modal"
[
class
.
ti-btn-disabled
]="!
bu1
.
bu1id
||!
bu2
.
bu2id
||!
bu2
.
tdesc
"
[
disabled
]="!
bu1
.
bu1id
||!
bu2
.
bu2id
||!
bu2
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu1
.
bu1id
||!
bu2
.
bu2id
||!
bu2
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="!
bu1
.
bu1id
||!
bu2
.
bu2id
||!
bu2
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -517,11 +522,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
!
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
!
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -531,7 +536,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#department-list-alert-delete-modal"
(
click
)="
deleteBu2
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#department-list-alert-delete-modal"
(
click
)="
deleteBu2
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/department-list/department-list.component.ts
View file @
f1e48566
...
...
@@ -244,5 +244,9 @@ export class DepartmentListComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu2List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu2List
.
find
(
x
=>
x
.
data
.
bu2id
==
this
.
bu2
.
bu2id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/department-register/department-register.component.html
View file @
f1e48566
...
...
@@ -172,8 +172,15 @@
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ฝ่าย
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[(
ngModel
)]="
bu1
.
bu1id
"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ฝ่าย
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"checkPrimary()"
>
ฝ่ายซ้ำ
</ng-container>
</span>
</label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
checkPrimary
()"
[(
ngModel
)]="
bu1
.
bu1id
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดฝ่าย (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu1
.
tdesc
"
>
...
...
@@ -187,7 +194,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#department-register-alert-modal"
[
class
.
ti-btn-disabled
]="!
bu1
.
bu1id
||!
bu1
.
tdesc
"
[
disabled
]="!
bu1
.
bu1id
||!
bu1
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu1
.
bu1id
||!
bu1
.
tdesc
||
checkPrimary
()"
[
disabled
]="!
bu1
.
bu1id
||!
bu1
.
tdesc
||
checkPrimary
()"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -319,11 +327,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -333,7 +341,7 @@
ย้อนกลับ
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-danger"
(
click
)="
deleteBu1
()"
data-hs-overlay=
"#department-register-delete-alert-modal"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#department-register-delete-alert-modal"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</button>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/department-register/department-register.component.ts
View file @
f1e48566
...
...
@@ -170,4 +170,8 @@ export class DepartmentRegisterComponent implements OnInit {
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu1List
.
find
(
x
=>
x
.
data
.
bu1id
==
this
.
bu1
.
bu1id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/section-registration/section-registration.component.html
View file @
f1e48566
...
...
@@ -197,9 +197,16 @@
readonly
[
value
]="
bu2
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
ส่วน
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
ส่วน
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
ส่วนซ้ำ
</ng-container>
</span>
</label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu3
.
bu3id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu3
.
bu3id
"
>
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
...
...
@@ -228,8 +235,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#section-registration-alert-modal"
[
class
.
ti-btn-disabled
]="!
bu2
.
bu2id
||!
bu3
.
bu3id
||!
bu3
.
tdesc
"
[
disabled
]="!
bu2
.
bu2id
||!
bu3
.
bu3id
||!
bu3
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu2
.
bu2id
||!
bu3
.
bu3id
||!
bu3
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="!
bu2
.
bu2id
||!
bu3
.
bu3id
||!
bu3
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -535,11 +542,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
!
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
!
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -549,7 +556,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#section-registration-alert-delete-modal"
(
click
)="
deleteBu3
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#section-registration-alert-delete-modal"
(
click
)="
deleteBu3
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/section-registration/section-registration.component.ts
View file @
f1e48566
...
...
@@ -242,5 +242,9 @@ export class SectionRegistrationComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu3List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu3List
.
find
(
x
=>
x
.
data
.
bu3id
==
this
.
bu3
.
bu3id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/sub-department-four/sub-department-four.component.html
View file @
f1e48566
...
...
@@ -196,9 +196,16 @@
readonly
[
value
]="
bu6
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย4
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย4
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
ส่วนย่อย4ซ้ำ
</ng-container>
</span>
</label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu7
.
bu7id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu7
.
bu7id
"
>
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
...
...
@@ -227,8 +234,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#sub-department-four-alert-add-modal"
[
class
.
ti-btn-disabled
]="!
bu6
.
bu6id
||!
bu7
.
bu7id
||!
bu7
.
tdesc
"
[
disabled
]="
!
bu6
.
bu6id
||!
bu7
.
bu7id
||!
bu7
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu6
.
bu6id
||!
bu7
.
bu7id
||!
bu7
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="
!
bu6
.
bu6id
||!
bu7
.
bu7id
||!
bu7
.
tdesc
||(
currentModal=
='add'
&&
checkPrimary
())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -534,11 +541,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -548,7 +555,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#sub-department-four-alert-delete-modal"
(
click
)="
deleteBu7
();"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#sub-department-four-alert-delete-modal"
(
click
)="
deleteBu7
();"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-four/sub-department-four.component.ts
View file @
f1e48566
...
...
@@ -238,6 +238,10 @@ export class SubDepartmentFourComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu7List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu7List
.
find
(
x
=>
x
.
data
.
bu7id
==
this
.
bu7
.
bu7id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/sub-department-one/sub-department-one.component.html
View file @
f1e48566
...
...
@@ -198,9 +198,16 @@
readonly
[
value
]="
bu3
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย1
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย1
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
ส่วนย่อย1ซ้ำ
</ng-container>
</span>
</label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu4
.
bu4id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu4
.
bu4id
"
>
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
...
...
@@ -229,8 +236,8 @@
</button>
<button
class=
"ti-btn ti-btn-success"
type=
"button"
data-hs-overlay=
"#sub-department-one-alert-modal"
[
class
.
ti-btn-disabled
]="!
bu3
.
bu3id
||!
bu4
.
bu4id
||!
bu4
.
tdesc
"
[
disabled
]="!
bu3
.
bu3id
||!
bu4
.
bu4id
||!
bu4
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu3
.
bu3id
||!
bu4
.
bu4id
||!
bu4
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="!
bu3
.
bu3id
||!
bu4
.
bu4id
||!
bu4
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -542,11 +549,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -556,7 +563,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#sub-department-one-alert-delete-modal"
(
click
)="
deleteBu4
();"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#sub-department-one-alert-delete-modal"
(
click
)="
deleteBu4
();"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-one/sub-department-one.component.ts
View file @
f1e48566
...
...
@@ -236,6 +236,11 @@ export class SubDepartmentOneComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu4List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu4List
.
find
(
x
=>
x
.
data
.
bu4id
==
this
.
bu4
.
bu4id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/sub-department-three/sub-department-three.component.html
View file @
f1e48566
...
...
@@ -123,9 +123,9 @@
</tbody>
</table>
</div>
<app-pagination
[
totalItems
]="
filterBu
5Modal
().
length
"
[
pageSize
]="
bu5Modal
.
pageSize
"
(
pageChange
)="
bu
5Modal
.
currentPage =
$event"
(
pageSizeChange
)="
bu
5Modal
.
pageSize =
$event;bu5Modal
.currentPage
=
1
"
></app-pagination>
<app-pagination
[
totalItems
]="
filterBu
6Table
().
length
"
[
pageSize
]="
bu6Table
.
pageSize
"
(
pageChange
)="
bu
6Table
.
currentPage =
$event"
(
pageSizeChange
)="
bu
6Table
.
pageSize =
$event;bu6Table
.currentPage
=
1
"
></app-pagination>
</div>
...
...
@@ -196,9 +196,16 @@
readonly
[
value
]="
bu5
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย3
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย3
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
ส่วนย่อย3ซ้ำ
</ng-container>
</span>
</label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu6
.
bu6id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu6
.
bu6id
"
>
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
...
...
@@ -227,8 +234,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#sub-department-three-alert-add-modal"
[
class
.
ti-btn-disabled
]="!
bu5
.
bu5id
||!
bu6
.
bu6id
||!
bu6
.
tdesc
"
[
disabled
]="!
bu5
.
bu5id
||!
bu6
.
bu6id
||!
bu6
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu5
.
bu5id
||!
bu6
.
bu6id
||!
bu6
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="!
bu5
.
bu5id
||!
bu6
.
bu6id
||!
bu6
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -305,8 +312,8 @@
readonly
[
value
]="
bu5
.
tdesc
"
>
</div>
</div>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย3
<span
class=
"text-danger"
>
*
</span>
</label>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย3
</label>
<div
class=
"sm:grid grid-cols-2 gap-1"
>
<div
class=
"relative w-full"
>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-full pr-10 bg-input-readonly"
...
...
@@ -559,11 +566,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -573,7 +580,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#sub-department-three-alert-delete-modal"
(
click
)="
deleteBu6
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#sub-department-three-alert-delete-modal"
(
click
)="
deleteBu6
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-three/sub-department-three.component.ts
View file @
f1e48566
...
...
@@ -238,6 +238,10 @@ export class SubDepartmentThreeComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu6List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu6List
.
find
(
x
=>
x
.
data
.
bu6id
==
this
.
bu6
.
bu6id
)
}
}
src/app/components/company-components/company-registration/branch-business-unit/sub-department-two/sub-department-two.component.html
View file @
f1e48566
...
...
@@ -196,9 +196,16 @@
readonly
[
value
]="
bu4
.
tdesc
"
>
</div>
</div>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย2
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
ส่วนย่อย2
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"currentModal=='add'&&checkPrimary()"
>
ส่วนย่อย2ซ้ำ
</ng-container>
</span>
</label>
<div
class=
"relative flex rounded-md w-1/2"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[(
ngModel
)]="
bu5
.
bu5id
"
>
<input
type=
"text"
class=
"ti-form-input h-16"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[(
ngModel
)]="
bu5
.
bu5id
"
>
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
...
...
@@ -227,8 +234,8 @@
</button>
<button
class=
"ti-btn ti-btn-success"
type=
"button"
data-hs-overlay=
"#sub-department-two-alert-add-modal"
[
class
.
ti-btn-disabled
]="!
bu4
.
bu4id
||!
bu5
.
bu5id
||!
bu5
.
tdesc
"
[
disabled
]="!
bu4
.
bu4id
||!
bu5
.
bu5id
||!
bu5
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
bu4
.
bu4id
||!
bu5
.
bu5id
||!
bu5
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
[
disabled
]="!
bu4
.
bu4id
||!
bu5
.
bu5id
||!
bu5
.
tdesc
||(
currentModal=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -556,11 +563,11 @@
<div
class=
"ti-modal-body "
>
<p
class=
"mt-1 text-gray-800 dark:text-white/70"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -570,7 +577,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#sub-department-two-alert-delete-modal"
(
click
)="
deleteBu5
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#sub-department-two-alert-delete-modal"
(
click
)="
deleteBu5
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-two/sub-department-two.component.ts
View file @
f1e48566
...
...
@@ -238,5 +238,9 @@ export class SubDepartmentTwoComponent implements OnInit {
this
.
numDataListChecked
=
this
.
bu5List
.
filter
(
x
=>
x
.
check
).
length
this
.
isDataListChecked
=
Boolean
(
this
.
numDataListChecked
)
}
checkPrimary
()
{
return
this
.
bu5List
.
find
(
x
=>
x
.
data
.
bu5id
==
this
.
bu5
.
bu5id
)
}
}
src/app/components/company-components/company-registration/company-registration-page/company-registration-page.component.html
View file @
f1e48566
...
...
@@ -169,9 +169,14 @@
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
รหัสบริษัท
<span
class=
"text-danger"
>
*
</span></label>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
รหัสบริษัท
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"modalStatus=='add'&&checkPrimary()"
>
รหัสบริษัทซ้ำ
</ng-container>
</span></label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
modalStatus=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
dataSelect
.
code
"
[
maxLength
]="
5
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียด (ไทย)
<span
...
...
@@ -191,8 +196,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#company-registration-page-alert-modal"
[
class
.
ti-btn-disabled
]="!
dataSelect
.
code
||!
dataSelect
.
tdesc
"
[
disabled
]="!
dataSelect
.
code
||!
dataSelect
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
dataSelect
.
code
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
[
disabled
]="!
dataSelect
.
code
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
src/app/components/company-components/company-registration/company-registration-page/company-registration-page.component.ts
View file @
f1e48566
...
...
@@ -200,4 +200,8 @@ export class CompanyRegistrationPageComponent {
this
.
setData
({
code
:
this
.
dataSelect
.
code
,
tdesc
:
""
,
edesc
:
""
,
address
:
""
,
contact
:
""
})
}
}
checkPrimary
()
{
return
this
.
dataList
.
find
(
x
=>
x
.
data
.
code
==
this
.
dataSelect
.
code
)
}
}
src/app/components/company-components/job-description/employee-categories/employee-categories.component.html
View file @
f1e48566
...
...
@@ -171,9 +171,15 @@
</div>
</div>
<div
class=
"ti-modal-body"
style=
"margin-top: 40px;"
>
<label
for=
"input-label"
class=
"ti-form-label"
>
รหัสประเภทพนักงาน
<span
class=
"text-danger"
>
*
</span></label>
<label
for=
"input-label"
class=
"ti-form-label"
>
รหัสประเภทพนักงาน
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"modalStatus=='add'&&checkPrimary()"
>
รหัสประเภทพนักงานซ้ำ
</ng-container>
</span></label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
modalStatus=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
dataSelect
.
codeId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดประเภทพนักงาน (ไทย)
<span
...
...
@@ -189,8 +195,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#employee-categories-page-alert-modal"
[
class
.
ti-btn-disabled
]="!
dataSelect
.
codeId
||!
dataSelect
.
tdesc
"
[
disabled
]="!
dataSelect
.
codeId
||!
dataSelect
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
dataSelect
.
codeId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
[
disabled
]="!
dataSelect
.
codeId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -257,7 +263,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#employee-categories-page-alert-modal"
(
click
)="
deleteEmp_type
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#employee-categories-page-alert-modal"
(
click
)="
deleteEmp_type
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</ng-container>
...
...
src/app/components/company-components/job-description/employee-categories/employee-categories.component.ts
View file @
f1e48566
...
...
@@ -207,4 +207,8 @@ export class EmployeeCategories {
this
.
dataSelect
.
edesc
=
''
}
}
checkPrimary
()
{
return
this
.
emp_typelist
.
find
(
x
=>
x
.
data
.
codeId
==
this
.
dataSelect
.
codeId
)
}
}
src/app/components/company-components/job-description/employee-group-unit/employee-group-unit.component.html
View file @
f1e48566
...
...
@@ -168,9 +168,16 @@
</div>
</div>
<div
class=
"ti-modal-body "
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
รหัสกลุ่มพนักงาน
<span
class=
"text-danger"
>
*
</span></label>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
รหัสกลุ่มพนักงาน
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"modalStatus=='add'&&checkPrimary()"
>
รหัสกลุ่มพนักงานซ้ำ
</ng-container>
</span>
</label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
modalStatus=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
dataSelect
.
groupId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดกลุ่มพนักงาน (ไทย)
<span
...
...
@@ -186,8 +193,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#employee-group-unit-component-page-alert-modal"
[
class
.
ti-btn-disabled
]="!
dataSelect
.
groupId
||!
dataSelect
.
tdesc
"
[
disabled
]="!
dataSelect
.
groupId
||!
dataSelect
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
dataSelect
.
groupId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
[
disabled
]="!
dataSelect
.
groupId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -255,7 +262,7 @@
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#employee-group-unit-component-page-alert-modal"
(
click
)="
deleteEmp_group
()"
*
ngIf=
"numDataListChecked"
>
(
click
)="
deleteEmp_group
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</ng-container>
...
...
src/app/components/company-components/job-description/employee-group-unit/employee-group-unit.component.ts
View file @
f1e48566
...
...
@@ -205,4 +205,8 @@ export class EmployeeGroupUnit implements OnInit {
this
.
dataSelect
.
edesc
=
''
}
}
checkPrimary
()
{
return
this
.
emp_groupList
.
find
(
x
=>
x
.
data
.
groupId
==
this
.
dataSelect
.
groupId
)
}
}
src/app/components/company-components/job-description/employee-level/employee-level.component.html
View file @
f1e48566
...
...
@@ -167,10 +167,17 @@
</div>
</div>
<div
class=
"ti-modal-body"
style=
"margin-top: 40px;"
>
<label
for=
"input-label"
class=
"ti-form-label"
>
รหัสระดับพนักงาน(JL)
<span
class=
"text-danger"
>
*
</span></label>
<label
for=
"input-label"
class=
"ti-form-label"
>
รหัสระดับพนักงาน(JL)
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"modalStatus=='add'&&checkPrimary()"
>
รหัสระดับพนักงาน(JL)ซ้ำ
</ng-container>
</span>
</label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'
"
[(
ngModel
)]="
dataSelect
.
plId
"
>
[
class
.!
border-red
]="
modalStatus=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}
"
[
readonly
]="
modalStatus=
='edit'"
[
(
ngModel
)]="
dataSelect
.
plId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดระดับพนักงาน(JL) (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
dataSelect
.
tdesc
"
>
...
...
@@ -183,8 +190,8 @@
ย้อนกลับ
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#employee-level-page-alert-modal"
[
class
.
ti-btn-disabled
]="!
dataSelect
.
plId
||!
dataSelect
.
tdesc
"
[
disabled
]="!
dataSelect
.
plId
||!
dataSelect
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
dataSelect
.
plId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
[
disabled
]="!
dataSelect
.
plId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -260,11 +267,11 @@
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='delete'||modalStatus=='deleteGroup'"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</ng-container>
</p>
...
...
@@ -287,7 +294,7 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#employee-level-page-alert-modal"
(
click
)="
deletePL
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#employee-level-page-alert-modal"
(
click
)="
deletePL
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</ng-container>
...
...
src/app/components/company-components/job-description/employee-level/employee-level.component.ts
View file @
f1e48566
...
...
@@ -212,4 +212,9 @@ export class EmployeeLevel implements OnInit {
this
.
dataSelect
.
edesc
=
''
}
}
checkPrimary
()
{
return
this
.
plList
.
find
(
x
=>
x
.
data
.
plId
==
this
.
dataSelect
.
plId
)
}
}
src/app/components/company-components/job-description/position/position-unit.component.html
View file @
f1e48566
...
...
@@ -169,8 +169,13 @@
</div>
</div>
<div
class=
"ti-modal-body "
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
รหัสตำแหน่ง
<span
class=
"text-danger"
>
*
</span></label>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
<span
class=
"text-danger"
>
*
<ng-container
*
ngIf=
"modalStatus=='add'&&checkPrimary()"
>
รหัสตำแหน่งซ้ำ
</ng-container>
</span></label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2 "
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
dataSelect
.
positionId
"
>
...
...
@@ -187,8 +192,8 @@
</button>
<button
type=
"button"
class=
"ti-btn ti-btn-success"
data-hs-overlay=
"#position-unit-component-page-alert-modal"
[
class
.
ti-btn-disabled
]="!
dataSelect
.
positionId
||!
dataSelect
.
tdesc
"
[
disabled
]="!
dataSelect
.
positionId
||!
dataSelect
.
tdesc
"
>
[
class
.
ti-btn-disabled
]="!
dataSelect
.
positionId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
[
disabled
]="!
dataSelect
.
positionId
||!
dataSelect
.
tdesc
||(
modalStatus=
='add'&&checkPrimary())
"
>
บันทึกข้อมูล
</button>
</div>
...
...
@@ -255,7 +260,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#position-unit-component-page-alert-modal"
(
click
)="
deletePosition
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#position-unit-component-page-alert-modal"
(
click
)="
deletePosition
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</ng-container>
...
...
src/app/components/company-components/job-description/position/position-unit.component.ts
View file @
f1e48566
...
...
@@ -205,5 +205,9 @@ export class PositionUnitComponent implements OnInit {
this
.
dataSelect
.
edesc
=
''
}
}
checkPrimary
()
{
return
this
.
positionList
.
find
(
x
=>
x
.
data
.
positionId
==
this
.
dataSelect
.
positionId
)
}
}
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.html
View file @
f1e48566
...
...
@@ -135,7 +135,8 @@
</span>
</td>
<td
class=
"flex justify-center items-center"
>
<i
class=
"ti ti-edit cursor-pointer i-gray fs-l px-1"
(
click
)="
modalStatus=
'edit'
;
modalStatusEdit=
(item.data.statusFrom.code==
'
0
'?
true:false
);
setData
(
item
.
data
)"
<i
class=
"ti ti-edit cursor-pointer i-gray fs-l px-1"
(
click
)="
modalStatus=
'edit'
;
modalStatusEdit=
(item.data.statusFrom.code==
'
0
'?
true:false
);
setData
(
item
.
data
)"
data-hs-overlay=
"#evaluation-cycle-page-modal"
></i>
<i
class=
"ti ti-user cursor-pointer i-gray fs-l px-1"
*
ngIf=
"item.data.statusFrom.code =='1'"
data-hs-overlay=
"#evaluation-cycle-person-modal"
...
...
@@ -260,30 +261,34 @@
[(
ngModel
)]="
evaluation_cycle
.
evaluationRoundId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียด (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
[(
ngModel
)]="
evaluation_cycle
.
tdesc
"
>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
[(
ngModel
)]="
evaluation_cycle
.
tdesc
"
>
<label
for=
"detail_eng"
class=
"ti-form-label mt-2rem"
>
รายละเอียด (อังกฤษ)
</label>
<input
type=
"text"
id=
"detail_eng"
class=
"ti-form-input h-16"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
[(
ngModel
)]="
evaluation_cycle
.
edesc
"
>
<input
type=
"text"
id=
"detail_eng"
class=
"ti-form-input h-16"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
[(
ngModel
)]="
evaluation_cycle
.
edesc
"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ปีการประเมิน
<span
class=
"text-danger"
>
*
</span></label>
<!-- <input type="text" id="input-label" class="ti-form-input w-1/2"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="evaluation_cycle.apsyear"> -->
<select
class=
"ti-form-select"
[(
ngModel
)]="
evaluation_cycle
.
apsyear
"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
disabled
]="!
modalStatusEdit
"
>
<select
class=
"ti-form-select"
[(
ngModel
)]="
evaluation_cycle
.
apsyear
"
>
<option
*
ngFor=
"let item of yearList"
[
ngValue
]="
item
"
>
{{ item }}
</option>
</select>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
เริ่มวันที่
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"date"
id=
"input-label"
class=
"ti-form-input w-1/2"
[(
ngModel
)]="
evaluation_cycle
.
apsPeriodStart
"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
>
<input
type=
"date"
id=
"input-label"
class=
"ti-form-input w-1/2"
[(
ngModel
)]="
evaluation_cycle
.
apsPeriodStart
"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
สิ้นสุดวันที่
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"date"
id=
"input-label"
class=
"ti-form-input w-1/2"
[(
ngModel
)]="
evaluation_cycle
.
apsPeriodEnd
"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
>
<input
type=
"date"
id=
"input-label"
class=
"ti-form-input w-1/2"
[(
ngModel
)]="
evaluation_cycle
.
apsPeriodEnd
"
[
ngClass
]="{'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[
readonly
]="!
modalStatusEdit
"
>
<label
for=
"input-label"
class=
"ti-form-label mt-2rem"
>
ระดับพนักงาน (JL)
</label>
<div
*
ngFor=
"let item of evaluation_cycle.personalLevel;let i = index;let f=first;let l = last"
class=
"grid grid-cols-2"
>
<div
class=
"col-span-1"
>
<div
class=
"flex relative"
>
<input
type=
"text"
class=
"ti-form-input pointer-events-none"
readonly
<input
type=
"text"
class=
"ti-form-input pointer-events-none"
readonly
[
ngClass
]="{'
input-list-f1
'
:
f
&&!
l
,
'
input-list-c1
'
:
!
f
&&!
l
,
'
input-list-l1
'
:
!
f
&&
l
,
'
input-list-fl1
'
:
f
&&
l
,'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[(
ngModel
)]="
item
.
plId
"
>
<div
...
...
@@ -294,7 +299,7 @@
[
ngClass
]="{'
input-list-f2
'
:
f
&&!
l
,
'
input-list-c2
'
:
!
f
&&!
l
,
'
input-list-l2
'
:
!
f
&&
l
,
'
input-list-fl2
'
:
f
&&
l
,'
bg-input-readonly
'
:
!
modalStatusEdit
}"
[(
ngModel
)]="
item
.
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
*
ngIf=
"item.plId&&modalStatusEdit"
type=
"button"
class=
"flex items-center text-red-500"
<button
*
ngIf=
"item.plId&&modalStatusEdit"
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
pl
.
selectIndex=
i;selectPl()"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
...
...
@@ -378,11 +383,11 @@
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='delete'||modalStatus=='deleteGroup'"
>
<ng-container
*
ngIf=
"numDataListChecked"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"!numDataListChecked"
>
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='createForm'"
>
คุณต้องการสร้างแบบฟอร์มการประเมินใหม่หรือไม่
...
...
@@ -408,7 +413,8 @@
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
(
click
)="
deleteevaluation_cycle
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
(
click
)="
deleteevaluation_cycle
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
</a>
</ng-container>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.ts
View file @
f1e48566
...
...
@@ -43,11 +43,9 @@ export class EvaluationCycleComponent {
pl
:
{
loading
:
boolean
,
selectIndex
:
number
,
dataList
:
PLModel
[]
}
=
{
loading
:
false
,
selectIndex
:
-
1
,
dataList
:
[]
}
currentDate
=
new
Date
()
yearList
=
[
(
this
.
currentDate
.
getFullYear
()
-
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
())
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
2
)
+
""
,
]
modalStatusEdit
=
false
constructor
(
private
evaluationCycleService
:
EvaluationCycleService
,
...
...
src/app/components/competency-assessment/setting-competency/competency-configuration/competency-configuration.component.ts
View file @
f1e48566
...
...
@@ -12,17 +12,9 @@ export class CompetencyConfigurationComponent {
setting
:
{
loading
:
boolean
,
data
:
SettingAssessmentModel
}
=
{
loading
:
false
,
data
:
new
MySettingAssessmentModel
()
}
currentDate
=
new
Date
()
yearList
=
[
(
this
.
currentDate
.
getFullYear
()
-
5
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
())
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
5
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
1
)
+
""
]
constructor
(
private
settingAssessmentService
:
SettingAssessmentService
,
private
toastr
:
ToastrService
,
...
...
src/app/components/performance-evaluation/evaluation/evaluation.component.html
View file @
f1e48566
...
...
@@ -17,7 +17,42 @@
<ng-container
*
ngIf=
"appraisalCompentency.data"
>
<div
class=
"pb-2rem px-2rem"
>
<div
class=
"font-size-18px font-weight-700 text-primary"
>
แบบประเมินสมรรถนะพนักงาน {{currentDate.getFullYear()}}
แบบประเมินสมรรถนะพนักงาน
</div>
</div>
<div
class=
"pb-2rem"
>
<div
class=
"w-full min-height-50px justify-between items-center pb-2"
>
<div
class=
"px-2rem py-3 bg-soft-secondary font-size-18px font-weight-700 text-primary"
>
ข้อมูลพนักงาน
</div>
</div>
<div
class=
"p-2 grid grid-cols-12"
>
<div
class=
"col-span-2"
></div>
<div
class=
"col-span-1 text-secondary"
>
รหัสพนักงาน
</div>
<div
class=
"col-span-2"
>
{{evaluatee.data.employeeId}}
</div>
<div
class=
"col-span-1 text-secondary"
>
ชื่อ - สกุล
</div>
<div
class=
"col-span-6"
>
{{evaluatee.data.thFullName}}
</div>
</div>
<div
class=
"p-2 grid grid-cols-12"
>
<div
class=
"col-span-2"
></div>
<div
class=
"col-span-1 text-secondary"
>
ตำเเหน่ง
</div>
<div
class=
"col-span-2"
>
{{evaluatee.data.position.tdesc || ''}}
</div>
<div
class=
"col-span-1 text-secondary"
>
ฝ่าย
</div>
<div
class=
"col-span-6"
>
{{evaluatee.data.bu1.tdesc || ''}}
</div>
</div>
<div
class=
"p-2 grid grid-cols-12"
>
<div
class=
"col-span-2"
></div>
<div
class=
"col-span-1 text-secondary"
>
แผนก
</div>
<div
class=
"col-span-2"
>
{{evaluatee.data.bu2.tdesc || ''}}
</div>
<div
class=
"col-span-1 text-secondary"
>
ส่วน
</div>
<div
class=
"col-span-6"
>
{{evaluatee.data.bu3.tdesc || ''}}
</div>
</div>
<div
class=
"p-2 grid grid-cols-12"
>
<div
class=
"col-span-2"
></div>
<div
class=
"col-span-1 text-secondary"
>
ส่วนย่อย 1
</div>
<div
class=
"col-span-2"
>
{{evaluatee.data.bu4.tdesc || ''}}
</div>
<div
class=
"col-span-1 text-secondary"
>
ส่วนย่อย 2
</div>
<div
class=
"col-span-6"
>
{{evaluatee.data.bu5.tdesc || ''}}
</div>
</div>
</div>
<div
class=
"pb-2rem px-2rem"
>
...
...
@@ -94,9 +129,9 @@
<tbody
*
ngIf=
"!appraisalCompentency.loading&&appraisalCompentencyFilter().length"
>
<ng-container
*
ngFor=
"let item2 of appraisalCompentencyFilter();let i = index"
>
<tr
*
ngFor=
"let bi of item2.groupAssessment1.competencyIndicatorsCourses1Mini.behavioralIndicatorsList;let i2 = index;let f = first"
(
mouseenter
)="
hoveredCode =
item2.groupAssessment1.competencyIndicatorsCourses1Mini.competency
Course
Id"
(
mouseenter
)="
hoveredCode =
item2.groupAssessment1.competencyIndicatorsCourses1Mini.competency
IndicatorsCourses0.competencyTopic.competencyTopic
Id"
(
mouseleave
)="
hoveredCode =
null"
[
ngClass
]="{
'
table-hover2
'
:
item2
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
competency
Course
Id =
==
hoveredCode
,'
border-none
'
:
!
f
}"
>
[
ngClass
]="{
'
table-hover2
'
:
item2
.
groupAssessment1
.
competencyIndicatorsCourses1Mini
.
competency
IndicatorsCourses0
.
competencyTopic
.
competencyTopic
Id =
==
hoveredCode
,'
border-none
'
:
!
f
}"
>
<td
class=
"align-start text-center"
>
<ng-container
*
ngIf=
"f"
>
{{i+1}}
...
...
@@ -189,23 +224,14 @@
<div
class=
"pb-2rem px-2rem"
>
<div
class=
"overflow-auto rounded-top-0.65rem"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover
2
"
>
<thead
class=
"height-50px"
>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of ['เกณฑ์การให้คะแนนการประ
ประเมิน Check Sheet E01
','ผลประเมิน (A)','สรุปผล Gap'];let f = first ;let l = last"
>
*
ngFor=
"let item of ['เกณฑ์การให้คะแนนการประ
เมิน
','ผลประเมิน (A)','สรุปผล Gap'];let f = first ;let l = last"
>
<th
scope=
"col"
[
attr
.
rowspan
]="
f
?'
1
'
:
'
2
'"
[
attr
.
colspan
]="
f
?'
2
'
:
'
1
'"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700 "
>
{{ item }}
</span>
<div
*
ngIf=
"!f&&!l"
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
<th
*
ngIf=
"f"
scope=
"col"
rowspan=
"2"
class=
"relative bg-soft-secondary text-primary !text-center !p-0"
>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
...
...
@@ -219,7 +245,8 @@
</tr>
</thead>
<tbody
*
ngIf=
"checkSheet.length"
>
<tr
*
ngFor=
"let item of checkSheet;let i = index"
>
<tr
*
ngFor=
"let item of checkSheet;let i = index"
(
mouseenter
)="
hoveredCode2 =
'true'
"
(
mouseleave
)="
hoveredCode2 =
null"
[
ngClass
]="{
'
table-hover2
'
:
'
true
'
===
hoveredCode2
}"
>
<td
class=
"align-start"
rowspan=
"2"
>
<div
*
ngFor=
"let item2 of item.score"
>
<span>
{{item2}}
</span><br>
...
...
@@ -230,7 +257,6 @@
<span>
{{item2}}
</span><br>
</div>
</td>
<td
class=
"!p-0"
></td>
<td
class=
"align-start text-center"
>
{{calAverage(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].averageScore)}}
</td>
...
...
@@ -238,7 +264,8 @@
{{calGap(appraisalCompentency.data.masfromEvaluationAssessment1lList[0].averageScore)}}
</td>
</tr>
<tr>
<tr
(
mouseenter
)="
hoveredCode2 =
'true'
"
(
mouseleave
)="
hoveredCode2 =
null"
[
ngClass
]="{
'
table-hover2
'
:
'
true
'
===
hoveredCode2
}"
>
<td
class=
"align-start !white-space-normal"
colspan=
"4"
>
หมายเหตุ
<br>
ผลการประเมินอาจมีการเปลี่ยนแปลงเงื่อนไขข้อ 1-3 เนื่องจากมีคะแนนต่ำกว่าเกณฑ์ในบางข้อ
...
...
@@ -250,7 +277,7 @@
</div>
<div
class=
"py-1rem px-2rem"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้
ถูก
ประเมิน
</div>
<div
class=
"col-span-1"
>
ผู้
รับการ
ประเมิน
</div>
<div
class=
"col-span-1"
>
{{appraisalCompentency.data.apsassessy.thFullName}}
</div>
<div
class=
"col-span-1"
>
...
...
src/app/components/performance-evaluation/evaluation/evaluation.component.ts
View file @
f1e48566
This diff is collapsed.
Click to expand it.
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.ts
View file @
f1e48566
...
...
@@ -43,17 +43,9 @@ export class ManagementCycleComponent {
currentDate
=
new
Date
()
yearList
=
[
(
this
.
currentDate
.
getFullYear
()
-
5
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
())
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
5
)
+
""
,
]
constructor
(
private
pmsMasfromEvaluationCycleService
:
PmsMasfromEvaluationCycleService
,
private
toastr
:
ToastrService
,
...
...
src/app/components/performance-management-evaluation/setting-performance-evalution/assessment-system-configuration/assessment-system-configuration.component.ts
View file @
f1e48566
...
...
@@ -11,17 +11,9 @@ export class AssessmentSystemConfigurationComponent {
setting
:
{
loading
:
boolean
,
data
:
PmsSettingAssessmentModel
}
=
{
loading
:
false
,
data
:
new
MyPmsSettingAssessmentModel
()
}
currentDate
=
new
Date
()
yearList
=
[
(
this
.
currentDate
.
getFullYear
()
-
5
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
-
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
())
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
1
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
2
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
3
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
4
)
+
""
,
(
this
.
currentDate
.
getFullYear
()
+
5
)
+
""
,
]
constructor
(
private
pmsSettingAssessmentService
:
PmsSettingAssessmentService
,
private
toastr
:
ToastrService
,
...
...
src/assets/css/style.css
View file @
f1e48566
...
...
@@ -25027,5 +25027,9 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
}
.ti-btn-soft-mute
:hover
{
background-color
:
rgb
(
0
0
0
/
0.5
);
color
:
white
color
:
white
;
}
.
\
!
border-red
{
border-color
:
red
!important
;
}
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