Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mySkill-x
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
angular
mySkill-x
Commits
e87da1ef
Commit
e87da1ef
authored
Mar 12, 2025
by
Nakarin Luankla
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
การจัดการรอบการประเมิน
parent
7504ae46
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
72 additions
and
6 deletions
+72
-6
edit-define-document-form.component.html
...ne-document-form/edit-define-document-form.component.html
+1
-1
evaluation-cycle.component.html
...-manager/evaluation-cycle/evaluation-cycle.component.html
+17
-3
evaluation-cycle.component.ts
...le-manager/evaluation-cycle/evaluation-cycle.component.ts
+21
-0
edit-evaluation-form.component.html
.../edit-evaluation-form/edit-evaluation-form.component.html
+1
-1
appraisal.model.ts
src/app/shared/model/appraisal.model.ts
+3
-0
evaluation-cycle.model.ts
src/app/shared/model/evaluation-cycle.model.ts
+10
-1
pms-masfrom-evaluation-list.model.ts
src/app/shared/model/pms-masfrom-evaluation-list.model.ts
+1
-0
status-from.model.ts
src/app/shared/model/status-from.model.ts
+18
-0
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 @
e87da1ef
...
...
@@ -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}}"
*
ngIf=
"!item.statusEmp"
[(
ngModel
)]="
item
.
active
"
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/evaluation-cycle/evaluation-cycle.component.html
View file @
e87da1ef
...
...
@@ -137,7 +137,7 @@
<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
)"
data-hs-overlay=
"#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"
<i
class=
"ti ti-user cursor-pointer i-gray fs-l px-1"
*
ngIf=
"item.data.statusFrom.code !='2'"
data-hs-overlay=
"#evaluation-cycle-person-modal"
(
click
)="
openModal
('
evaluation-cycle-person-modal
',
item
.
data
.
evaluationRoundId
)"
></i>
<i
class=
"ti ti-trash cursor-pointer i-gray fs-l px-1"
(
click
)="
modalStatus=
'delete'
;
setData
(
item
.
data
)"
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
></i>
...
...
@@ -150,7 +150,7 @@
}"
>
ปิดรอบประเมิน
</span>
<span
class=
"badge text-white m-1"
*
ngIf=
"item.data.statusCode.code == '1'"
[
ngClass
]="{
<span
class=
"badge text-white m-1
cursor-pointer"
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
(
click
)="
modalStatus=
'createForm'
;
setData
(
item
.
data
)
"
*
ngIf=
"item.data.statusCode.code == '1'"
[
ngClass
]="{
'
bg-secondary
'
:
item
.
data
.
statusCode
.
code =
=
'
1
',
'
text-white
'
:
item
.
data
.
statusCode
.
code =
=
'
1
'
}"
>
...
...
@@ -355,7 +355,7 @@
<i
class=
"ti ti-circle-x fs-xxl"
></i>
</button>
</ng-container>
<ng-container
*
ngIf=
"modalStatus=='delete'||modalStatus=='deleteGroup'"
>
<ng-container
*
ngIf=
"modalStatus=='delete'||modalStatus=='deleteGroup'
|| modalStatus=='createForm'
"
>
<button
type=
"button"
class=
"hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
>
<span
class=
"sr-only"
>
Close
</span>
...
...
@@ -372,6 +372,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"
>
...
...
@@ -397,6 +400,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=
"#evaluation-cycle-page-alert-modal"
>
ย้อนกลับ
</button>
<a
class=
"ti-btn ti-btn-success"
href=
"javascript:void(0);"
data-hs-overlay=
"#evaluation-cycle-page-alert-modal"
(
click
)="
createForm
()"
>
ยืนยัน
</a>
</ng-container>
</div>
</div>
</div>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.ts
View file @
e87da1ef
...
...
@@ -224,6 +224,27 @@ export class EvaluationCycleComponent {
this
.
modal
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
dataList
.
length
/
10
)
},
(
_
,
i
)
=>
i
+
1
);
}
createForm
()
{
const
body
=
new
MyEvaluationCycleModel
(
this
.
evaluation_cycle
)
body
.
active
=
1
this
.
dataLoading
=
true
this
.
evaluationCycleService
.
post
(
body
).
subscribe
({
next
:
response
=>
{
if
(
response
.
success
)
{
this
.
showAlert
(
response
.
message
,
'success'
)
this
.
getEvaluationCycleList
()
}
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/components/performance-management-evaluation/evaluation-cycle-performance/document-form/edit-evaluation-form/edit-evaluation-form.component.html
View file @
e87da1ef
...
...
@@ -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}}"
[(
ngModel
)]="
item
.
active
"
<input
type=
"checkbox"
id=
"hs-small-switch{{i+1}}"
*
ngIf=
"!item.statusEmp"
[(
ngModel
)]="
item
.
active
"
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/shared/model/appraisal.model.ts
View file @
e87da1ef
...
...
@@ -8,6 +8,7 @@ export interface AppraisalModel {
masfromEvaluationRound
:
EvaluationCycleModel
companyId
:
string
active
:
boolean
statusEmp
:
boolean
apsassessy
:
EmployeeModel
apsapprove1
:
EmployeeModel
apsapprove2
:
EmployeeModel
...
...
@@ -21,6 +22,7 @@ export class MyAppraisalModel implements AppraisalModel {
masfromEvaluationRound
:
EvaluationCycleModel
companyId
:
string
active
:
boolean
statusEmp
:
boolean
apsassessy
:
EmployeeModel
apsapprove1
:
EmployeeModel
apsapprove2
:
EmployeeModel
...
...
@@ -33,6 +35,7 @@ export class MyAppraisalModel implements AppraisalModel {
this
.
masfromEvaluationRound
=
new
MyEvaluationCycleModel
(
data
?.
masfromEvaluationRound
)
this
.
companyId
=
data
?.
companyId
||
""
this
.
active
=
data
?.
active
??
false
this
.
statusEmp
=
data
?.
statusEmp
??
false
this
.
apsassessy
=
new
MyEmployeeModel
(
data
?.
apsassessy
)
this
.
apsapprove1
=
new
MyEmployeeModel
(
data
?.
apsapprove1
)
this
.
apsapprove2
=
new
MyEmployeeModel
(
data
?.
apsapprove2
)
...
...
src/app/shared/model/evaluation-cycle.model.ts
View file @
e87da1ef
import
{
MyPLModel
,
PLModel
}
from
"./pl.model"
;
import
{
MyStatusCodeModel
,
StatusCodeModel
}
from
"./status-code.model"
;
import
{
MyStatusFromModel
,
StatusFromModel
}
from
"./status-from.model"
;
export
interface
EvaluationCycleModel
{
evaluationRoundId
:
string
...
...
@@ -10,8 +11,10 @@ export interface EvaluationCycleModel {
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCodeModel
statusFrom
:
StatusFromModel
personalLevel
:
PLModel
[]
jlId
:
string
active
:
number
}
export
class
MyEvaluationCycleModel
implements
EvaluationCycleModel
{
...
...
@@ -23,7 +26,10 @@ export class MyEvaluationCycleModel implements EvaluationCycleModel {
apsPeriodStart
:
string
apsPeriodEnd
:
string
statusCode
:
StatusCodeModel
statusFrom
:
StatusFromModel
personalLevel
:
PLModel
[]
jlId
:
string
active
:
number
constructor
(
data
?:
Partial
<
EvaluationCycleModel
>
)
{
this
.
evaluationRoundId
=
data
?.
evaluationRoundId
||
""
;
this
.
companyId
=
data
?.
companyId
||
""
;
...
...
@@ -32,7 +38,10 @@ export class MyEvaluationCycleModel implements EvaluationCycleModel {
this
.
apsyear
=
data
?.
apsyear
||
""
;
this
.
apsPeriodStart
=
data
?.
apsPeriodStart
||
""
;
this
.
apsPeriodEnd
=
data
?.
apsPeriodEnd
||
""
;
this
.
jlId
=
data
?.
jlId
||
""
;
this
.
active
=
data
?.
active
||
0
;
this
.
statusCode
=
new
MyStatusCodeModel
(
data
?.
statusCode
||
{})
this
.
statusFrom
=
new
MyStatusFromModel
(
data
?.
statusCode
||
{})
this
.
personalLevel
=
data
?.
personalLevel
?.
map
(
x
=>
new
MyPLModel
(
x
))
||
[]
}
...
...
src/app/shared/model/pms-masfrom-evaluation-list.model.ts
View file @
e87da1ef
...
...
@@ -3,6 +3,7 @@ export interface PmsMasfromEvaluationFullModel {
pmsMasfromEvaluationRound
:
PmsMasfromEvaluationRoundModel
companyId
?:
string
active
?:
boolean
statusEmp
?:
boolean
fromDetail
:
any
apsassessy
:
Apsassessy
apsapprove1
:
Apsapprove1
...
...
src/app/shared/model/status-from.model.ts
0 → 100644
View file @
e87da1ef
export
interface
StatusFromModel
{
code
:
string
;
tdesc
:
string
;
edesc
:
string
;
}
export
class
MyStatusFromModel
implements
StatusFromModel
{
code
:
string
;
tdesc
:
string
;
edesc
:
string
;
constructor
(
data
?:
Partial
<
StatusFromModel
>
)
{
this
.
code
=
data
?.
code
||
""
;
this
.
tdesc
=
data
?.
tdesc
||
""
;
this
.
edesc
=
data
?.
edesc
||
""
;
}
}
\ 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