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
b2a8a5ae
Commit
b2a8a5ae
authored
Mar 17, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'DEV' of
https://mygit.myhr.co.th/angular/myAppraisal
into DEV
parents
a045aa14
02e510c8
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
89 additions
and
30 deletions
+89
-30
edit-define-document-form.component.html
...ne-document-form/edit-define-document-form.component.html
+3
-3
edit-define-document-form.component.ts
...fine-document-form/edit-define-document-form.component.ts
+10
-0
sub-job-competency.component.html
...ency/sub-job-competency/sub-job-competency.component.html
+1
-1
sub-job-position-indicators.component.html
...ion-indicators/sub-job-position-indicators.component.html
+1
-1
sub-job-position-indicators.component.ts
...ition-indicators/sub-job-position-indicators.component.ts
+1
-1
sub-job-qualifications.component.html
...-job-qualifications/sub-job-qualifications.component.html
+1
-1
sub-job-qualifications.component.ts
...ub-job-qualifications/sub-job-qualifications.component.ts
+1
-1
edit-evaluation-form.component.html
.../edit-evaluation-form/edit-evaluation-form.component.html
+3
-3
edit-evaluation-form.component.ts
...rm/edit-evaluation-form/edit-evaluation-form.component.ts
+10
-1
management-evaluation-cycle.component.html
...aluation-cycle/management-evaluation-cycle.component.html
+28
-13
management-evaluation-cycle.component.ts
...evaluation-cycle/management-evaluation-cycle.component.ts
+22
-1
pms-masfrom-evaluation.model.ts
src/app/shared/model/pms-masfrom-evaluation.model.ts
+7
-3
pms-evaluation-assessment.service.ts
src/app/shared/services/pms-evaluation-assessment.service.ts
+1
-1
No files found.
src/app/components/competency-assessment/evaluation-cycle-manager/define-document-form/edit-define-document-form/edit-define-document-form.component.html
View file @
b2a8a5ae
...
...
@@ -35,12 +35,12 @@
</div>
</div>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-20px m-0 shadow-md" (click)="openModalClass('modal-alert','addForm')">
<i class="ri-save-3-line"></i>
Save
</button>
</div>
</div>
-->
<!-- <div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-10 m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
...
...
@@ -80,7 +80,7 @@
<td
class=
"text-center"
>
{{item.personalLevel.tdesc}}
</td>
<td
class=
"flex justify-center items-center space-x-2"
>
<i
class=
"ti ti-edit cursor-pointer i-gray fs-xl px-1"
*
ngIf=
"item.active"
(
click
)="
openAddRoundModel
(
item
.
masfromEvaluationRound
.
evaluationRoundId
,
item
.
apsassessy
.
employeeId
,
item
,'
form-pm-emp
')"
></i>
<input
type=
"checkbox"
id=
"hs-small-switch{{i+1}}"
[(
ngModel
)]="
item
.
active
"
<input
type=
"checkbox"
id=
"hs-small-switch{{i+1}}"
[(
ngModel
)]="
item
.
active
"
(
ngModelChange
)="
saveAssessmentOne
(
item
)"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 dark:checked:bg-green-600 checked:before:bg-green-200 dark:checked:before:bg-green-200 shrink-0 w-11 h-6 before:w-5 before:h-5"
>
</td>
</tr>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/define-document-form/edit-define-document-form/edit-define-document-form.component.ts
View file @
b2a8a5ae
...
...
@@ -121,6 +121,16 @@ export class EditDefineDocumentFormComponent {
}
saveAssessmentOne
(
item
:
AppraisalModel
)
{
this
.
evaluationAssessmentService
.
post
(
item
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
}
else
{
}
}
})
}
saveAssessmentList
()
{
let
body
=
this
.
assessmentList
if
(
body
.
length
>
0
)
{
...
...
src/app/components/job-detail-components/job-competency/sub-job-competency/sub-job-competency.component.html
View file @
b2a8a5ae
...
...
@@ -268,7 +268,7 @@
<div
class=
"hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md"
>
<div
class=
"ti-modal-header bg-primary !rounded-none !rounded-t-sm"
>
<h5
class=
"text-xxl font-bold text-white"
>
นำเข้า
Job Competency
นำเข้า
ความสามารถในตำเเหน่งงาน
</h5>
</div>
<div
class=
"ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm"
>
...
...
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.html
View file @
b2a8a5ae
...
...
@@ -270,7 +270,7 @@
<div
class=
"hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md"
>
<div
class=
"ti-modal-header bg-primary !rounded-none !rounded-t-sm"
>
<h5
class=
"text-xxl font-bold text-white"
>
นำเข้า
Job Competency
นำเข้า
ตัวชี้วัดของตำแหน่งงาน
</h5>
</div>
<div
class=
"ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm"
>
...
...
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.ts
View file @
b2a8a5ae
...
...
@@ -102,7 +102,7 @@ export class SubJobPositionIndicatorsComponent {
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
this
.
selectedFile
);
this
.
loading
=
true
this
.
fileService
.
uploadExcel
(
formData
,
'
IMPORT
_KPI'
).
subscribe
({
this
.
fileService
.
uploadExcel
(
formData
,
'
MJOBCODE
_KPI'
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
...
...
src/app/components/job-detail-components/job-qualifications/sub-job-qualifications/sub-job-qualifications.component.html
View file @
b2a8a5ae
...
...
@@ -276,7 +276,7 @@
<div
class=
"hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md"
>
<div
class=
"ti-modal-header bg-primary !rounded-none !rounded-t-sm"
>
<h5
class=
"text-xxl font-bold text-white"
>
นำเข้า
Job Competency
นำเข้า
คุณสมบัติที่จำเป็น
</h5>
</div>
<div
class=
"ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm"
>
...
...
src/app/components/job-detail-components/job-qualifications/sub-job-qualifications/sub-job-qualifications.component.ts
View file @
b2a8a5ae
...
...
@@ -106,7 +106,7 @@ export class SubJobQualificationsComponent {
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
this
.
selectedFile
);
this
.
loading
=
true
this
.
fileService
.
uploadExcel
(
formData
,
'
IMPORT
_PROPERTY'
).
subscribe
({
this
.
fileService
.
uploadExcel
(
formData
,
'
MJOBCODE
_PROPERTY'
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/document-form/edit-evaluation-form/edit-evaluation-form.component.html
View file @
b2a8a5ae
...
...
@@ -35,12 +35,12 @@
</div>
</div>
</div>
<div
class=
"px-1"
>
<
!-- <
div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-20px m-0 shadow-md" (click)="openModalClass('modal-alert','addForm')">
<i class="ri-save-3-line"></i>
Save
</button>
</div>
</div>
-->
<!-- <div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-10 m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
...
...
@@ -80,7 +80,7 @@
<td
class=
"text-center"
>
{{item.personalLevel.tdesc}}
</td>
<td
class=
"flex justify-center items-center space-x-2"
>
<i
class=
"ti ti-edit cursor-pointer i-gray fs-xl px-1"
*
ngIf=
"item.active"
(
click
)="
openAddRoundModel
(
item
.
pmsMasfromEvaluationRound
.
pmsEvaluationRoundId
,
item
.
apsassessy
.
employeeId
,
item
,'
form-pm-emp
')"
></i>
<input
type=
"checkbox"
id=
"hs-small-switch{{i+1}}"
*
ngIf=
"!item.statusEmp"
[(
ngModel
)]="
item
.
active
"
<input
type=
"checkbox"
id=
"hs-small-switch{{i+1}}"
[(
ngModel
)]="
item
.
active
"
(
ngModelChange
)="
saveAssessmentOne
(
item
)"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 dark:checked:bg-green-600 checked:before:bg-green-200 dark:checked:before:bg-green-200 shrink-0 w-11 h-6 before:w-5 before:h-5"
>
</td>
</tr>
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/document-form/edit-evaluation-form/edit-evaluation-form.component.ts
View file @
b2a8a5ae
...
...
@@ -126,7 +126,16 @@ export class EditEvaluationFormComponent {
this
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
filteredData
.
length
/
this
.
pageSize
)
},
(
_
,
i
)
=>
i
+
1
);
}
saveAssessmentOne
(
item
:
PmsMasfromEvaluationFullModel
)
{
this
.
pmsEvaluationAssessmentService
.
post
(
item
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
}
else
{
}
}
})
}
saveAssessmentList
()
{
let
body
=
this
.
assessmentList
.
filter
(
x
=>
x
.
active
==
true
)
if
(
body
.
length
>
0
)
{
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.html
View file @
b2a8a5ae
...
...
@@ -135,7 +135,7 @@
</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'
;
setData
(
item
.
data
)"
<i
class=
"ti ti-edit cursor-pointer i-gray fs-l px-1"
*
ngIf=
"item.data.statusFrom.code =='1'"
(
click
)="
modalStatus=
'edit'
;
setData
(
item
.
data
)"
data-hs-overlay=
"#management-evaluation-cycle-page-modal"
></i>
<i
class=
"ti ti-user cursor-pointer i-gray fs-l px-1"
data-hs-overlay=
"#evaluation-cycle-person-modal"
(
click
)="
openModal
('
evaluation-cycle-person-modal
',
item
.
data
.
pmsEvaluationRoundId
)"
></i>
...
...
@@ -144,21 +144,22 @@
<!-- <span class="badge text-white m-1" *ngIf="item.data.statusCode.code!='1'"
[ngClass]="{'bg-primary':item.data.statusCode.code=='1','bg-gray-400':item.data.statusCode.code!='3'}">ปิดรอบประเมิน</span>
<span class="badge text-white m-1 bg-secondary" *ngIf="item.data.statusCode.code=='0'">สร้างแบบฟอร์ม</span> -->
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusCode.code == '0'"
[
ngClass
]="{
'
bg-primary
'
:
item
.
data
.
statusCode
.
code =
=
'
0
',
'
text-white
'
:
item
.
data
.
statusCode
.
code =
=
'
0
'
<span
class=
"badge text-white m-1 cursor-pointer"
data-hs-overlay=
"#management-evaluation-cycle-page-alert-modal"
(
click
)="
modalStatus=
'createForm'
;
setData
(
item
.
data
)"
*
ngIf=
"item.data.statusFrom.code == '0'"
[
ngClass
]="{
'
bg-secondary
'
:
item
.
data
.
statusFrom
.
code =
=
'
0
',
'
text-white
'
:
item
.
data
.
statusFrom
.
code =
=
'
0
'
}"
>
สร้างแบบฟอร์ม
</span>
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusFrom.code == '1'"
[
ngClass
]="{
'
bg-primary
'
:
item
.
data
.
statusFrom
.
code =
=
'
1
',
'
text-white
'
:
item
.
data
.
statusFrom
.
code =
=
'
1
'
}"
>
ปิดรอบประเมิน
</span>
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusCode.code == '1'"
[
ngClass
]="{
'
bg-secondary
'
:
item
.
data
.
statusCode
.
code =
=
'
1
',
'
text-white
'
:
item
.
data
.
statusCode
.
code =
=
'
1
'
}"
>
สร้างแบบฟอร์ม
</span>
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusCode.code == '2'"
[
ngClass
]="{
'
bg-gray-400
'
:
item
.
data
.
statusCode
.
code =
=
'
2
',
'
text-white
'
:
item
.
data
.
statusCode
.
code =
=
'
2
'
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusFrom.code == '2'"
[
ngClass
]="{
'
bg-gray-400
'
:
item
.
data
.
statusFrom
.
code =
=
'
2
',
'
text-white
'
:
item
.
data
.
statusFrom
.
code =
=
'
2
'
}"
>
ปิดรอบประเมิน
</span>
...
...
@@ -374,6 +375,9 @@
<ng-container
*
ngIf=
"modalStatus=='delete'||modalStatus=='deleteGroup'"
>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='createForm'"
>
คุณต้องการสร้างแบบฟอร์มการประเมินใหม่หรือไม่
</ng-container>
</p>
<div
class=
"flex justify-end mt-2rem mb-1rem"
>
...
...
@@ -399,6 +403,17 @@
ลบข้อมูล
</a>
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='createForm'"
>
<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=
"#management-evaluation-cycle-page-alert-modal"
>
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-success"
href=
"javascript:void(0);"
data-hs-overlay=
"#management-evaluation-cycle-page-alert-modal"
(
click
)="
createForm
()"
>
ยืนยัน
</a>
</ng-container>
</div>
</div>
</div>
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.ts
View file @
b2a8a5ae
...
...
@@ -23,7 +23,7 @@ export class ManagementCycleComponent {
currentPage
=
1
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
search
=
""
modalStatus
:
'add'
|
'edit'
|
'delete'
|
'deleteGroup'
=
'add'
modalStatus
:
'
createForm'
|
'
add'
|
'edit'
|
'delete'
|
'deleteGroup'
=
'add'
pmsMasfromEvaluationlist
:
{
check
:
boolean
,
data
:
PmsMasfromEvaluationModel
}[]
=
[]
pmsMasfromEvaluation
:
PmsMasfromEvaluationModel
=
new
MyPmsMasfromEvaluationModel
({})
dataLoading
=
false
...
...
@@ -224,6 +224,27 @@ export class ManagementCycleComponent {
this
.
modal
.
currentPage
=
1
this
.
modal
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
dataList
.
length
/
10
)
},
(
_
,
i
)
=>
i
+
1
);
}
createForm
()
{
const
body
=
new
MyPmsMasfromEvaluationModel
(
this
.
pmsMasfromEvaluation
)
body
.
active
=
1
this
.
dataLoading
=
true
this
.
pmsMasfromEvaluationCycleService
.
post
(
body
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
this
.
getPmsMasfromEvaluationCycleList
()
}
else
{
this
.
dataLoading
=
false
this
.
showAlert
(
response
.
message
,
'error'
)
this
.
cdr
.
detectChanges
()
}
},
error
:
error
=>
{
this
.
showAlert
(
error
.
message
,
'error'
)
this
.
dataLoading
=
false
this
.
cdr
.
detectChanges
()
}
})
}
}
src/app/shared/model/pms-masfrom-evaluation.model.ts
View file @
b2a8a5ae
import
{
PLModel
,
MyPLModel
}
from
"./pl.model"
;
import
{
MyStatusCodeModel
,
StatusCodeModel
}
from
"./status-code.model"
;
import
{
MyStatusFromModel
,
StatusFromModel
}
from
"./status-from.model"
;
export
interface
PmsMasfromEvaluationModel
{
pmsEvaluationRoundId
:
string
...
...
@@ -10,7 +11,8 @@ export interface PmsMasfromEvaluationModel {
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCodeModel
active
:
boolean
statusFrom
:
StatusFromModel
active
:
number
personalLevel
:
PLModel
[]
}
...
...
@@ -23,7 +25,8 @@ export class MyPmsMasfromEvaluationModel implements PmsMasfromEvaluationModel {
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCodeModel
active
:
boolean
statusFrom
:
StatusFromModel
active
:
number
personalLevel
:
PLModel
[]
constructor
(
data
?:
Partial
<
PmsMasfromEvaluationModel
>
)
{
this
.
pmsEvaluationRoundId
=
data
?.
pmsEvaluationRoundId
||
""
;
...
...
@@ -33,8 +36,9 @@ export class MyPmsMasfromEvaluationModel implements PmsMasfromEvaluationModel {
this
.
apsyear
=
data
?.
apsyear
||
""
;
this
.
apsPeriodStart
=
data
?.
apsPeriodStart
||
""
;
this
.
apsPeriodEnd
=
data
?.
apsPeriodEnd
||
""
;
this
.
active
=
data
?.
active
||
false
this
.
active
=
data
?.
active
||
0
this
.
statusCode
=
new
MyStatusCodeModel
(
data
?.
statusCode
)
this
.
statusFrom
=
new
MyStatusFromModel
(
data
?.
statusFrom
||
{})
this
.
personalLevel
=
data
?.
personalLevel
?.
map
(
x
=>
new
MyPLModel
(
x
))
||
[]
}
...
...
src/app/shared/services/pms-evaluation-assessment.service.ts
View file @
b2a8a5ae
...
...
@@ -33,7 +33,7 @@ export class PmsEvaluationAssessmentService {
getIndicators
(
plId
:
string
):
Observable
<
MasfromEvaluationAssessment1lList
[]
>
{
return
this
.
http
.
get
<
MasfromEvaluationAssessment1lList
[]
>
(
this
.
urlApi
+
"/pms-topic/list/"
+
plId
)
}
post
(
body
:
Appraisa
lModel
):
Observable
<
AlertModel
>
{
post
(
body
:
PmsMasfromEvaluationFul
lModel
):
Observable
<
AlertModel
>
{
return
this
.
http
.
post
<
AlertModel
>
(
this
.
urlApi
,
body
)
}
postList
(
body
:
any
):
Observable
<
AlertModel
>
{
...
...
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