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
4eb050dc
Commit
4eb050dc
authored
Jan 13, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
การประเมินสมรรถนะ > การจัดการสมรรถนะ > ตัวชี้วัดและหลักสูตร
parent
ee64f16e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
339 additions
and
354 deletions
+339
-354
department-register.component.html
...it/department-register/department-register.component.html
+0
-3
competency-management.component.html
...ompetency-management/competency-management.component.html
+14
-22
competency-management.component.scss
...ompetency-management/competency-management.component.scss
+0
-47
competency-management.component.ts
.../competency-management/competency-management.component.ts
+0
-1
edit-group-indicators.ts
...curriculum/edit-group-indicators/edit-group-indicators.ts
+7
-10
indicators-and-curriculum.component.html
...s-and-curriculum/indicators-and-curriculum.component.html
+0
-0
indicators-and-curriculum.component.scss
...s-and-curriculum/indicators-and-curriculum.component.scss
+0
-158
indicators-and-curriculum.component.ts
...ors-and-curriculum/indicators-and-curriculum.component.ts
+44
-70
define-document-form.component.ts
...er/define-document-form/define-document-form.component.ts
+4
-4
evaluation-cycle.component.ts
...le-manager/evaluation-cycle/evaluation-cycle.component.ts
+4
-4
document-form.component.ts
...ycle-performance/document-form/document-form.component.ts
+4
-4
edit-evaluation-form.component.ts
...rm/edit-evaluation-form/edit-evaluation-form.component.ts
+4
-4
evaluation-cycle-performance.component.html
...e-performance/evaluation-cycle-performance.component.html
+1
-1
management-evaluation-cycle.component.ts
...evaluation-cycle/management-evaluation-cycle.component.ts
+4
-4
define-evaluation-factors.component.html
...aluation-factors/define-evaluation-factors.component.html
+138
-0
define-evaluation-factors.component.ts
...evaluation-factors/define-evaluation-factors.component.ts
+108
-11
evaluation-factors.component.html
...tion/evaluation-factors/evaluation-factors.component.html
+3
-5
evaluation-factors.component.ts
...uation/evaluation-factors/evaluation-factors.component.ts
+0
-2
assessment-types.component.ts
...perfomance/assessment-types/assessment-types.component.ts
+4
-4
No files found.
src/app/components/company-components/company-registration/branch-business-unit/department-register/department-register.component.html
View file @
4eb050dc
<div
class=
"w-full min-height-50px mb-10px justify-between items-center"
>
<div
class=
"flex justify-between"
>
<div
class=
"flex pr-2"
>
<!-- Content ของ div แรก -->
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-20px m-0 shadow-md"
>
<i
class=
"ri-add-line"
></i>
นำเข้าข้อมูล
</button>
<a
class=
"mx-2 justify-center -mb-px inline-flex items-center gap-2 font-weight-500 font-size-12px text-center text-secondary border-secondary border-b-2 align-items-end"
href=
"javascript:void(0);"
>
ดาวโหลดตัวอย่างไฟล์
...
...
@@ -20,7 +18,6 @@
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<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>
...
...
src/app/components/competency-assessment/competency-management/competency-management.component.html
View file @
4eb050dc
...
...
@@ -2,52 +2,44 @@
<div
class=
"bg-card-white"
>
</div>
<div
class=
"block-main-content"
>
<div
class=
"
text-lg font-bold py-2 text-primary px-8
"
>
<div
class=
"
font-size-18px font-weight-700 pt-1.5rem text-primary px-2rem
"
>
การจัดการสมรรถนะ
</div>
<div
class=
"page"
>
<div
class=
"page
pt-0.75rem
"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<nav
class=
"-mb-0.5 flex space-x-6 rtl:space-x-reverse"
>
<a
class=
"
text-base font-medium hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70
hover:text-secondary active"
<a
class=
"
font-size-16px font-weight-500 hs-tab-active:font-weight-700 hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500
hover:text-secondary active"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
(
click
)="
activeTab=
'underline-1'
;
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','ตัวชี้วัดเเละหลักสูตร']"
>
(
click
)="
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','ตัวชี้วัดเเละหลักสูตร']"
>
ตัวชี้วัดเเละหลักสูตร
</a>
<a
class=
"
text-base font-medium hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70
hover:text-secondary"
<a
class=
"
font-size-16px font-weight-500 hs-tab-active:font-weight-700 hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500
hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
aria-controls=
"underline-2"
(
click
)="
activeTab=
'underline-2'
;
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','จัดกลุ่มสมรรถนะ']"
>
(
click
)="
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','จัดกลุ่มสมรรถนะ']"
>
จัดกลุ่มสมรรถนะ
</a>
<a
class=
"
text-base font-medium hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70
hover:text-secondary"
<a
class=
"
font-size-16px font-weight-500 hs-tab-active:font-weight-700 hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500
hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-3"
data-hs-tab=
"#underline-3"
aria-controls=
"underline-3"
(
click
)="
activeTab=
'underline-3'
;
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','กำหนดผู้อนุมัติ']"
>
(
click
)="
pathTitle =
['การประเมินสมรรถนะ','การจัดการสมรรถนะ','กำหนดผู้อนุมัติ']"
>
กำหนดผู้อนุมัติ
</a>
</nav>
</div>
<div
class=
"mt-3 px-3rem"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
*
ngIf=
"activeTab === 'underline-1'"
>
<app-indicators-and-curriculum
*
ngIf=
"groupShow=='1'"
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
(
sendGroupShow
)="
groupShow=
$event"
></app-indicators-and-curriculum>
<app-edit-group-indicators
*
ngIf=
"groupShow=='2'"
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
(
sendGroupShow
)="
groupShow=
$event"
></app-edit-group-indicators>
<div
class=
"px-2rem pt-50px"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
>
<app-indicators-and-curriculum
(
sendPathTitle
)="
pathTitle=
$event"
></app-indicators-and-curriculum>
</div>
<div
id=
"underline-2"
role=
"tabpanel"
aria-labelledby=
"underline-item-2"
*
ngIf=
"activeTab === 'underline-2'"
>
<div
id=
"underline-2"
role=
"tabpanel"
aria-labelledby=
"underline-item-2"
>
<app-group-competencies
*
ngIf=
"groupShow=='1'"
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
(
sendGroupShow
)="
groupShow=
$event"
></app-group-competencies>
<app-edit-group-competencies
*
ngIf=
"groupShow=='2'"
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
(
sendGroupShow
)="
groupShow=
$event"
></app-edit-group-competencies>
</div>
<div
id=
"underline-3"
role=
"tabpanel"
aria-labelledby=
"underline-item-3"
*
ngIf=
"activeTab === 'underline-3'"
>
<app-set-approvers
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
></app-set-approvers>
<div
id=
"underline-3"
role=
"tabpanel"
aria-labelledby=
"underline-item-3"
>
<app-set-approvers
[
pathTitle
]="
pathTitle
"
(
sendPathTitle
)="
pathTitle=
$event"
></app-set-approvers>
</div>
</div>
</div>
...
...
src/app/components/competency-assessment/competency-management/competency-management.component.scss
View file @
4eb050dc
/* สไตล์ของแถบเมนู */
.nav-tabs
{
display
:
flex
;
border-bottom
:
2px
solid
#ccc
;
/* เส้นใต้ */
border-top
:
2px
solid
#ccc
;
width
:
100%
;
cursor
:
pointer
;
border-top
:
2px
solid
#ccc
;
}
.nav-item
{
list-style
:
none
;
margin-right
:
40px
;
/* ช่องว่างระหว่างเมนู */
}
.nav-link
{
text-decoration
:
none
;
padding
:
10px
20px
;
display
:
inline-block
;
font-size
:
medium
;
text-align
:
left
;
padding-left
:
0px
;
padding-right
:
0px
;
}
.nav-link
:hover
{
background-color
:
#f0f0f0
;
/* เปลี่ยนสีเมื่อ hover */
}
.nav-link.active
{
color
:
#569bf5
;
/* สีตัวอักษรในสถานะ active */
font-size
:
medium
;
border-bottom
:
3
.5px
solid
#569bf5
;
/* เส้นใต้ */
}
.tab-content
{
margin-top
:
20px
;
}
.tab-pane.active
{
display
:
block
;
}
.body-content
{
margin-left
:
10px
;
}
\ No newline at end of file
src/app/components/competency-assessment/competency-management/competency-management.component.ts
View file @
4eb050dc
...
...
@@ -7,6 +7,5 @@ import { Component } from '@angular/core';
})
export
class
CompetencyManagementComponent
{
pathTitle
=
[
'การประเมินสมรรถนะ'
,
'การจัดการสมรรถนะ'
,
'ตัวชี้วัดและหลักสูตร'
]
activeTab
:
string
=
'underline-1'
;
// Tab แรกแสดงเป็นค่าเริ่มต้น
groupShow
=
'1'
}
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/edit-group-indicators/edit-group-indicators.ts
View file @
4eb050dc
...
...
@@ -7,9 +7,7 @@ import { ToastrService } from 'ngx-toastr';
styleUrls
:
[
'./edit-group-indicators.scss'
]
})
export
class
EditGroupIndicators
implements
OnInit
{
@
Input
()
pathTitle
=
[
'การประเมินสมรรถนะ'
,
'ทะเบียนกำหนดชื่อ'
,
'ประเภทสมรรถนะ'
];
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendGroupShow
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
@
Output
()
sendEdit
:
EventEmitter
<
boolean
>
=
new
EventEmitter
<
boolean
>
();
activeTab
:
string
=
'tab1'
;
isChecked
:
boolean
=
false
;
...
...
@@ -22,12 +20,11 @@ export class EditGroupIndicators implements OnInit {
// ฟังก์ชันในการเปลี่ยนแท็บ
changeTab
(
tab
:
{
id
:
string
,
text
:
string
})
{
this
.
sendPathTitle
.
emit
([
'การประเมินสมรรถนะ'
,
'ทะเบียนกำหนดชื่อ'
,
tab
.
text
]);
this
.
activeTab
=
tab
.
id
;
}
onEdit
(){
this
.
send
GroupShow
.
emit
(
'1'
);
onEdit
()
{
this
.
send
Edit
.
emit
(
false
);
}
// ฟังก์ชันในการบันทึกข้อมูลที่แก้ไข
...
...
@@ -67,9 +64,9 @@ export class EditGroupIndicators implements OnInit {
backdropClose
:
boolean
;
};
}
=
{
"add"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
},
"edit"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
}
};
"add"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
},
"edit"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
}
};
openModal
(
name
:
string
,
size
:
string
,
closeOnBackdrop
?:
boolean
)
{
this
.
modalOptions
[
name
].
modalSize
=
size
;
...
...
@@ -92,7 +89,7 @@ export class EditGroupIndicators implements OnInit {
// ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
addUser
()
{
}
...
...
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/indicators-and-curriculum.component.html
View file @
4eb050dc
This diff is collapsed.
Click to expand it.
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/indicators-and-curriculum.component.scss
View file @
4eb050dc
.button-clear
{
position
:
absolute
;
top
:
96px
;
z-index
:
1
;
right
:
41vw
;
}
.button-help
{
position
:
absolute
;
top
:
0px
;
z-index
:
1
;
right
:
0vw
;
margin
:
4
.2rem
;
margin-right
:
10px
;
/* เพิ่มใหม่ 12/16*/
}
table
.ti-custom-table
thead
{
height
:
60px
;
}
table
.ti-custom-table
thead
th
span
{
font-size
:
12px
;
font-weight
:
bold
;
}
.ti-custom-table
td
{
padding-left
:
0
.9rem
;
padding-right
:
1rem
;
}
.ti-custom-table
thead
th
:first-child
{
width
:
105px
;
/* ปรับความกว้างตามที่ต้องการ */
text-align
:
left
;
/* จัดตำแหน่งข้อความถ้าต้องการ */
}
.ti-custom-table
thead
th
:last-child
{
width
:
150px
;
/* ปรับความกว้างตามที่ต้องการ */
}
a
.custom-link
{
padding
:
10px
40px
;
/* ปรับ padding ให้เพิ่มขนาด */
}
/* สไตล์ของแถบเมนู */
.nav-tabs
{
display
:
flex
;
width
:
100%
;
cursor
:
pointer
;
margin-bottom
:
10px
;
height
:
20%
;
}
.nav-item
{
list-style
:
none
;
margin-right
:
10px
;
/* ช่องว่างระหว่างเมนู */
}
.nav-link
{
text-decoration
:
none
;
padding
:
10px
20px
;
display
:
inline-block
;
font-size
:
large
;
border-width
:
2px
2px
0px
2px
;
border-style
:
solid
;
border-color
:
#ccc
;
border-radius
:
5px
5px
0px
0px
;
}
.nav-link
:hover
{
background-color
:
#f0f0f0
;
/* เปลี่ยนสีเมื่อ hover */
}
.nav-link.active
{
color
:
#ffffff
;
/* สีตัวอักษรในสถานะ active */
font-size
:
large
;
border-bottom
:
3
.5px
solid
rgb
(
var
(
--
color-primary
));
/* เส้นใต้ */
background-color
:
rgb
(
var
(
--
color-primary
));
border-width
:
2px
2px
0px
2px
;
border-style
:
solid
;
border-color
:
rgb
(
var
(
--
color-primary
));
border-radius
:
5px
5px
0px
0px
;
}
.tab-content
{
margin-top
:
20px
;
}
.tab-pane.active
{
display
:
block
;
}
.nav-item-text
{
list-style
:
none
;
margin-right
:
10px
;
/* ช่องว่างระหว่างเมนู */
}
.nav-link-text
{
text-decoration
:
none
;
display
:
inline-block
;
font-size
:
large
;
color
:
#569bf5
;
border-bottom
:
2px
solid
#569bf5
;
line-height
:
0
.8
;
}
.ti-pagination
.page-link.active
{
background-color
:
#569bf5
;
color
:
white
;
border-radius
:
50%
;
padding
:
8px
12px
;
}
.box-body
{
padding
:
0rem
;
}
.page
{
min-height
:
0vh
;
}
// .ti-modal-content {
// width: 70%;
// position: absolute;
// top: 50%;
// left: 50%;
// transform: translate(-50%, -50%);
// max-height: 90%; /* จำกัดความสูงให้อยู่ใน modal */
// overflow-y: auto; /* เปิดการเลื่อนแนวตั้ง */
// }
// .ti-modal-body-content {
// display: flex; /* ใช้ flexbox เพื่อจัดตำแหน่ง */
// justify-content: center; /* จัดฟอร์มให้อยู่กลางในแนวนอน */
// flex-direction: column; /* ทำให้ฟอร์มแสดงผลในรูปแบบคอลัมน์ */
// height: calc(100% - 50px); /* ให้ความสูงเป็น 100% ลบด้วยระยะห่างข้างบน */
// margin-left: calc(15% - 30px);
// margin-right: 20px;
// }
.ti-modal-content-alert
{
width
:
35%
;
/* ความกว้างที่คุณต้องการ */
position
:
absolute
;
/* ทำให้สามารถจัดตำแหน่งได้ */
top
:
50%
;
/* ให้อยู่กลางในแนวตั้ง */
left
:
50%
;
/* ให้อยู่กลางในแนวนอน */
transform
:
translate
(
-50%
,
-50%
);
/* เคลื่อนที่ modal กลับมาให้ตรงกลาง */
background-color
:
#ffffff
;
}
// .header-title-type{
// width: 100%;
// height: 50px;
// margin-top: 10px;
// margin-bottom: 10px;
// }
.header-title-type
{
width
:
100%
;
min-height
:
50px
;
/* ใช้ min-height เพื่อให้มีความยืดหยุ่น */
// margin-top: 50px;
// margin-bottom: 10px;
justify-content
:
space-between
;
/* จัดเรียงองค์ประกอบภายใน */
align-items
:
center
;
/* จัดกลางแนวตั้ง */
padding-top
:
50px
;
padding-bottom
:
1rem
;
}
\ No newline at end of file
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/indicators-and-curriculum.component.ts
View file @
4eb050dc
import
{
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
export
interface
DataModel
{
code
:
string
,
name
:
string
,
type
:
string
}
@
Component
({
selector
:
'app-indicators-and-curriculum'
,
templateUrl
:
'./indicators-and-curriculum.component.html'
,
styleUrls
:
[
'./indicators-and-curriculum.component.scss'
]
selector
:
'app-indicators-and-curriculum'
,
templateUrl
:
'./indicators-and-curriculum.component.html'
,
styleUrls
:
[
'./indicators-and-curriculum.component.scss'
]
})
export
class
IndicatorsAndCurriculumComponent
{
@
Input
()
pathTitle
=
[
'การประเมินสมรรถนะ'
,
'การจัดการสมรรถนะ'
,
'ตัวชี้วัดเเละหลักสูตร'
];
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendGroupShow
:
EventEmitter
<
string
>
=
new
EventEmitter
<
string
>
();
activeTab
:
string
=
'tab1'
;
// กำหนด tab เริ่มต้น
isChecked
:
boolean
=
false
;
// ฟังก์ชันในการเปลี่ยนแท็บ
changeTab
(
tab
:
{
id
:
string
,
text
:
string
})
{
this
.
sendPathTitle
.
emit
([
'การประเมินสมรรถนะ'
,
'การจัดการสมรรถนะ'
,
tab
.
text
]);
this
.
activeTab
=
tab
.
id
;
}
editTab
=
false
currentPage
=
1
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
search
=
""
onEdit
(){
this
.
sendGroupShow
.
emit
(
'2'
);
dataList
:
DataModel
[]
=
[
{
code
:
"CC-01"
,
name
:
"จิตสำนึกด้านความปลอดภัยและคุณภาพ (Safety & Quality)"
,
type
:
"CC"
},
{
code
:
"CC-02"
,
name
:
"การทำงานเป็นทีมแบบ TAT (TAT Teamwork)"
,
type
:
"CC"
},
{
code
:
"CC-03"
,
name
:
"ความรับผิดชอบในหน้าที่และโปร่งใส (Accountability & Ethics)"
,
type
:
"CC"
},
{
code
:
"MC-01"
,
name
:
"การคิดเชิงกลยุทธ์ (Strategic Thinking)"
,
type
:
"MC"
},
{
code
:
"MC-02"
,
name
:
"การมีทัศนคติที่เติบโต (Mindset-Growth)"
,
type
:
"MC"
},
{
code
:
"PC-01"
,
name
:
"ความรู้ด้านกฎหมายแรงงาน, กฎหมายแพ่งพาณิชย์, กฎหมายอาญา"
,
type
:
"PC"
}
]
constructor
(
private
toastr
:
ToastrService
)
{
this
.
pathTitleChange
()
}
toggleCheckbox
():
void
{
this
.
isChecked
=
!
this
.
isChecked
;
pathTitleChange
()
{
this
.
sendPathTitle
.
emit
(
this
.
editTab
?
[
'การประเมินสมรรถนะ'
,
'การจัดการสมรรถนะ'
,
'ตัวชี้วัดเเละหลักสูตร'
,
'การจัดการตัวชี้วัดเเละหลักสูตร'
]
:
[
'การประเมินสมรรถนะ'
,
'การจัดการสมรรถนะ'
,
'ตัวชี้วัดเเละหลักสูตร'
])
}
// การจัดการการเปิดปิด modal
modalOptions
:
{
[
nameModal
:
string
]:
{
isModalOpen
:
boolean
;
modalSize
:
string
;
backdropClose
:
boolean
;
};
}
=
{
"add"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
,
},
"edit"
:
{
isModalOpen
:
false
,
modalSize
:
'm'
,
backdropClose
:
true
,
}
};
openModal
(
name
:
string
,
size
:
string
,
closeOnBackdrop
?:
boolean
)
{
this
.
modalOptions
[
name
].
modalSize
=
size
;
this
.
modalOptions
[
name
].
backdropClose
=
closeOnBackdrop
||
false
;
this
.
modalOptions
[
name
].
isModalOpen
=
true
;
this
.
currentModal
=
name
;
// ตั้งค่าค่าของ currentModal เป็น 'add' หรือ 'edit'
document
.
body
.
style
.
overflow
=
'hidden'
;
}
closeModal
(
name
:
string
)
{
this
.
modalOptions
[
name
].
isModalOpen
=
false
;
if
(
!
this
.
isAnyModalOpen
())
{
document
.
body
.
style
.
overflow
=
''
;
// คืนค่าการ Scroll เฉพาะเมื่อ Modal ทั้งหมดปิดแล้ว
}
searchChange
()
{
this
.
currentPage
=
1
;
const
filteredData
=
this
.
dataListFilter
();
this
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
filteredData
.
length
/
10
)
},
(
_
,
i
)
=>
i
+
1
);
}
isAnyModalOpen
():
boolean
{
return
Object
.
values
(
this
.
modalOptions
).
some
(
modal
=>
modal
.
isModalOpen
);
// ตรวจสอบว่า modal อื่นยังเปิดอยู่หรือไม่
}
// ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
addUser
()
{
// ฟังก์ชันสำหรับการเพิ่มผู้ใช้งาน
console
.
log
(
'เพิ่มผู้ใช้งาน'
);
dataListFilter
()
{
return
this
.
dataList
.
filter
(
x
=>
{
const
match
=
x
.
code
.
includes
(
this
.
search
)
||
x
.
name
.
includes
(
this
.
search
);
return
match
;
});
}
deleteUser
()
{
// ฟังก์ชันสำหรับการลบผู้ใช้งาน
console
.
log
(
'ลบผู้ใช้งาน'
);
}
editUser
()
{
// ฟังก์ชันสำหรับการแก้ไขผู้ใช้งาน
console
.
log
(
'แก้ไขผู้ใช้งาน'
);
}
currentModal
=
""
constructor
(
private
toastr
:
ToastrService
)
{
}
showSuccess
()
{
this
.
toastr
.
success
(
'บันทึกข้อมูลสำเร็จ'
,
'เเจ้งเตือน'
,
{
timeOut
:
3000
,
...
...
@@ -102,5 +65,16 @@ export class IndicatorsAndCurriculumComponent {
positionClass
:
'toast-top-right'
,
});
}
addUser
()
{
console
.
log
(
'เพิ่มผู้ใช้งาน'
);
}
deleteUser
()
{
console
.
log
(
'ลบผู้ใช้งาน'
);
}
editUser
()
{
console
.
log
(
'แก้ไขผู้ใช้งาน'
);
}
}
src/app/components/competency-assessment/evaluation-cycle-manager/define-document-form/define-document-form.component.ts
View file @
4eb050dc
...
...
@@ -9,7 +9,7 @@ import { ToastrService } from 'ngx-toastr';
import
{
SwalService
}
from
'src/app/components/advanced/sweetalert/sweetalert.component'
;
import
Swal
from
'sweetalert2'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
;
code
:
string
;
period
:
string
;
...
...
@@ -33,7 +33,7 @@ export class DefineDocumentFormComponent {
numDataListChecked
=
0
;
isDataListChecked
=
false
;
isDataListCheckedAll
=
false
;
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
'Y67P2'
,
...
...
@@ -53,7 +53,7 @@ export class DefineDocumentFormComponent {
status
:
'2'
,
},
];
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
''
,
period
:
''
,
...
...
@@ -73,7 +73,7 @@ export class DefineDocumentFormComponent {
this
.
sendGroupShow
.
emit
(
'2'
);
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
''
,
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
,
code
:
string
,
period
:
string
,
...
...
@@ -23,7 +23,7 @@ export class EvaluationCycleComponent {
numDataListChecked
=
0
isDataListChecked
=
false
isDataListCheckedAll
=
false
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
"Y67P2"
,
...
...
@@ -52,7 +52,7 @@ export class EvaluationCycleComponent {
status
:
"3"
},
]
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
""
,
period
:
""
,
...
...
@@ -65,7 +65,7 @@ export class EvaluationCycleComponent {
constructor
(
private
cdr
:
ChangeDetectorRef
)
{
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
""
,
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/document-form/document-form.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
,
code
:
string
,
period
:
string
,
...
...
@@ -37,7 +37,7 @@ onEdit(){
numDataListChecked
=
0
isDataListChecked
=
false
isDataListCheckedAll
=
false
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
"Y67P2"
,
...
...
@@ -57,7 +57,7 @@ onEdit(){
status
:
"2"
},
]
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
""
,
period
:
""
,
...
...
@@ -70,7 +70,7 @@ onEdit(){
constructor
(
private
toastr
:
ToastrService
,
private
cdr
:
ChangeDetectorRef
)
{
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
""
,
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/document-form/edit-evaluation-form/edit-evaluation-form.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
,
code
:
string
,
headname
:
string
,
...
...
@@ -26,7 +26,7 @@ export class EditEvaluationFormComponent {
numDataListChecked
=
0
isDataListChecked
=
false
isDataListCheckedAll
=
false
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
"HS-01"
,
...
...
@@ -70,7 +70,7 @@ export class EditEvaluationFormComponent {
weight
:
"10.0"
,
},
]
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
""
,
headname
:
""
,
...
...
@@ -87,7 +87,7 @@ export class EditEvaluationFormComponent {
'F6702-06'
:
false
};
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
""
,
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/evaluation-cycle-performance.component.html
View file @
4eb050dc
...
...
@@ -23,7 +23,7 @@
</a>
</nav>
</div>
<div
class=
"
mt-3 px-2rem
"
>
<div
class=
"
px-2rem pt-50px
"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
*
ngIf=
"activeTab === 'underline-1'"
>
<app-management-evaluation-cycle></app-management-evaluation-cycle>
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
,
code
:
string
,
period
:
string
,
...
...
@@ -23,7 +23,7 @@ export class ManagementCycleComponent {
numDataListChecked
=
0
isDataListChecked
=
false
isDataListCheckedAll
=
false
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
"Y67P2"
,
...
...
@@ -53,7 +53,7 @@ export class ManagementCycleComponent {
}
]
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
""
,
period
:
""
,
...
...
@@ -66,7 +66,7 @@ export class ManagementCycleComponent {
constructor
(
private
cdr
:
ChangeDetectorRef
)
{
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
""
,
...
...
src/app/components/performance-management-evaluation/evaluation-factors/define-evaluation-factors/define-evaluation-factors.component.html
View file @
4eb050dc
<div
class=
"w-full min-height-50px mb-10px justify-between items-center"
>
<div
class=
"flex justify-end"
>
<div
class=
"flex justify-end"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<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
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-success h-45px m-0 shadow-md"
>
<i
class=
"ri-save-3-line"
></i>
Save
</button>
</div>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-indigo h-45px m-0 shadow-md"
>
<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
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=
"page px-rem"
>
<div
class=
"overflow-auto rounded-top-0.65rem"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead
class=
"height-50px"
>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of ['ระดับพนักงาน','Hoshin','KPI','Competency','Time Attendance','Cross Functional','Special Activities','รวม']; let f = first; let l = last"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary"
[
class
.!
text-center
]="
f
||
l
"
>
<span
class=
"font-size-12px font-weight-700"
>
{{ 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=
"!dataListFilter().length"
>
<tr>
<td
class=
"text-center"
colspan=
"100%"
>
ไม่พบข้อมูล
</td>
</tr>
</tbody>
<tbody
*
ngIf=
"dataListFilter().length"
>
<tr
*
ngFor=
"let item of dataListFilter() | slice:((currentPage-1) * 10) : (((currentPage-1) * 10) + 10);let i = index"
>
<td
class=
"flex justify-center items-center"
>
<span>
{{item.employee }}
</span>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
hoshin
"
>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
kpi
"
>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
competency
"
>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
time_attendance
"
>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
cross_functional
"
>
</td>
<td>
<input
type=
"text"
class=
"ti-form-input"
placeholder=
"0"
[(
ngModel
)]="
item
.
special_activities
"
>
</td>
<td
class=
"flex justify-center items-center"
>
{{item.total }}
</td>
</tr>
</tbody>
</table>
</div>
<nav
class=
"pagination-style-3 overflow-auto my-5"
*
ngIf=
"page.length"
>
<ul
class=
"ti-pagination"
>
<li>
<a
aria-label=
"anchor"
class=
"page-link"
href=
"javascript:void(0);"
(
click
)="
currentPage =
(currentPage-1
||
1
)"
>
<i
class=
"ri-arrow-left-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
<li
*
ngFor=
"let item of page;let f = first;let l = last"
>
<ng-container
*
ngIf=
"item==3&¤tPage!=1&¤tPage!=2&¤tPage!=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==currentPage-1||item==currentPage||item==currentPage+1)"
>
<a
class=
"page-link"
href=
"javascript:void(0);"
[
class
.
active
]="
item=
=currentPage"
(
click
)="
currentPage=
item"
>
{{item}}
</a>
</ng-container>
<ng-container
*
ngIf=
"item==page.length-2&¤tPage!=page.length&¤tPage!=page.length-1&¤tPage!=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
)="
currentPage =
(currentPage
>
page.length-1 ? currentPage: currentPage+1 )">
<i
class=
"ri-arrow-right-s-line align-middle rtl:rotate-180"
></i>
</a>
</li>
</ul>
</nav>
</div>
\ No newline at end of file
src/app/components/performance-management-evaluation/evaluation-factors/define-evaluation-factors/define-evaluation-factors.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
import
{
Component
}
from
'@angular/core'
;
export
interface
dataModel
{
check
:
boolean
,
code
:
string
,
period
:
string
,
year
:
string
,
startDate
:
string
,
endDate
:
string
,
status
:
string
export
interface
DataModel
{
employee
:
string
,
hoshin
:
string
,
kpi
:
string
,
competency
:
string
,
time_attendance
:
string
,
cross_functional
:
string
,
special_activities
:
string
total
:
string
}
@
Component
({
...
...
@@ -16,4 +16,101 @@ export interface dataModel {
templateUrl
:
'./define-evaluation-factors.component.html'
,
styleUrls
:
[
'./define-evaluation-factors.component.scss'
]
})
export
class
DefineEvaluationFactorsComponent
{
}
export
class
DefineEvaluationFactorsComponent
{
currentPage
=
1
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
search
=
""
dataList
:
DataModel
[]
=
[
{
"employee"
:
"01-02"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"03-04"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"S1-S2"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"S3-S4"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"M1-M2"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"M3-M4"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"E1-E2"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
},
{
"employee"
:
"E3-E4"
,
"hoshin"
:
"0"
,
"kpi"
:
"0"
,
"competency"
:
"0"
,
"time_attendance"
:
"0"
,
"cross_functional"
:
"0"
,
"special_activities"
:
"0"
,
"total"
:
"100"
}
]
dataListFilter
()
{
return
this
.
dataList
.
filter
(
x
=>
x
.
employee
.
includes
(
this
.
search
))
}
searchChange
()
{
this
.
currentPage
=
1
;
const
filteredData
=
this
.
dataListFilter
();
this
.
page
=
Array
.
from
({
length
:
Math
.
ceil
(
filteredData
.
length
/
10
)
},
(
_
,
i
)
=>
i
+
1
);
}
}
src/app/components/performance-management-evaluation/evaluation-factors/evaluation-factors.component.html
View file @
4eb050dc
...
...
@@ -10,15 +10,13 @@
<nav
class=
"-mb-0.5 flex space-x-6 rtl:space-x-reverse"
>
<a
class=
"text-base font-medium hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary active"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
(
click
)="
activeTab=
'underline-1'
;
pathTitle =
['การประเมินจัดการประสิทธิภาพ','ปัจจัยการประเมินผล','กำหนดปัจจัยการประเมินผล']"
>
aria-controls=
"underline-1"
>
กำหนดปัจจัยการประเมินผล
</a>
</nav>
</div>
<div
class=
"mt-3 px-2rem"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
*
ngIf=
"activeTab === 'underline-1'"
>
<div
class=
"px-2rem pt-50px"
>
<div
id=
"underline-1"
role=
"tabpanel"
aria-labelledby=
"underline-item-1"
>
<app-define-evaluation-factors></app-define-evaluation-factors>
</div>
...
...
src/app/components/performance-management-evaluation/evaluation-factors/evaluation-factors.component.ts
View file @
4eb050dc
...
...
@@ -7,6 +7,4 @@ import { Component } from '@angular/core';
})
export
class
EvaluationFactorsComponent
{
pathTitle
=
[
'การประเมินจัดการประสิทธิภาพ'
,
'ปัจจัยการประเมินผล'
,
'กำหนดปัจจัยการประเมินผล'
]
activeTab
:
string
=
'underline-1'
;
groupShow
=
'1'
}
src/app/components/performance-management-evaluation/name-registration-perfomance/assessment-types/assessment-types.component.ts
View file @
4eb050dc
import
{
ChangeDetectorRef
,
Component
}
from
'@angular/core'
;
export
interface
d
ataModel
{
export
interface
D
ataModel
{
check
:
boolean
,
code
:
string
,
nameTypeTh
:
string
,
...
...
@@ -21,7 +21,7 @@ export class AssessmentTypesComponent {
numDataListChecked
=
0
isDataListChecked
=
false
isDataListCheckedAll
=
false
dataList
:
d
ataModel
[]
=
[
dataList
:
D
ataModel
[]
=
[
{
check
:
false
,
code
:
"01"
,
...
...
@@ -55,7 +55,7 @@ export class AssessmentTypesComponent {
weight
:
"1.2"
}
]
dataSelect
:
d
ataModel
=
{
dataSelect
:
D
ataModel
=
{
check
:
false
,
code
:
""
,
nameTypeTh
:
""
,
...
...
@@ -67,7 +67,7 @@ export class AssessmentTypesComponent {
constructor
(
private
cdr
:
ChangeDetectorRef
)
{
}
dataListSelect
(
data
?:
d
ataModel
)
{
dataListSelect
(
data
?:
D
ataModel
)
{
this
.
dataSelect
=
data
||
{
check
:
false
,
code
:
""
,
...
...
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