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
e0532566
Commit
e0532566
authored
Sep 17, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
การจัดการรายละเอียดงาน แปลภาษา
parent
1de53efd
Show whitespace changes
Inline
Side-by-side
Showing
88 changed files
with
585 additions
and
544 deletions
+585
-544
app.component.ts
src/app/app.component.ts
+40
-2
account-settings.component.html
...mponents/account-settings/account-settings.component.html
+7
-7
account-settings.component.ts
...components/account-settings/account-settings.component.ts
+1
-1
manage-user.component.html
...s/account-settings/manage-user/manage-user.component.html
+1
-1
manage-user.component.ts
...nts/account-settings/manage-user/manage-user.component.ts
+5
-5
role-permission-config.component.html
...e-permission-config/role-permission-config.component.html
+5
-5
role-permission-config.component.ts
...ole-permission-config/role-permission-config.component.ts
+4
-4
set-a-password.component.html
...unt-settings/set-a-password/set-a-password.component.html
+1
-1
set-a-password.component.ts
...count-settings/set-a-password/set-a-password.component.ts
+5
-5
user-settings.component.html
...count-settings/user-settings/user-settings.component.html
+7
-7
user-settings.component.ts
...account-settings/user-settings/user-settings.component.ts
+5
-5
branch-business-unit.component.html
.../branch-business-unit/branch-business-unit.component.html
+15
-15
branch-business-unit.component.ts
...on/branch-business-unit/branch-business-unit.component.ts
+2
-2
department-list.component.html
...iness-unit/department-list/department-list.component.html
+2
-2
department-register.component.html
...it/department-register/department-register.component.html
+4
-4
department-register.component.ts
...unit/department-register/department-register.component.ts
+3
-3
section-registration.component.html
.../section-registration/section-registration.component.html
+2
-2
sub-department-four.component.html
...it/sub-department-four/sub-department-four.component.html
+2
-2
sub-department-one.component.html
...unit/sub-department-one/sub-department-one.component.html
+2
-2
sub-department-three.component.html
.../sub-department-three/sub-department-three.component.html
+2
-2
sub-department-two.component.html
...unit/sub-department-two/sub-department-two.component.html
+2
-2
company-registration.component.html
.../company-registration/company-registration.component.html
+3
-3
company-registration.component.ts
...ts/company-registration/company-registration.component.ts
+1
-1
day-type-registry.component.html
...onents/day-type-registry/day-type-registry.component.html
+24
-22
day-type-registry.component.ts
...mponents/day-type-registry/day-type-registry.component.ts
+2
-2
employee-registration.component.html
...mployee-registration/employee-registration.component.html
+4
-3
employee-registration.component.ts
.../employee-registration/employee-registration.component.ts
+1
-1
sub-employee-registration.component.html
...yee-registration/sub-employee-registration.component.html
+165
-181
sub-employee-registration.component.ts
...loyee-registration/sub-employee-registration.component.ts
+4
-4
employee-categories.component.html
...on/employee-categories/employee-categories.component.html
+11
-9
employee-categories.component.ts
...tion/employee-categories/employee-categories.component.ts
+3
-3
employee-group-unit.component.html
...on/employee-group-unit/employee-group-unit.component.html
+9
-7
employee-group-unit.component.ts
...tion/employee-group-unit/employee-group-unit.component.ts
+3
-3
employee-level.component.html
...-description/employee-level/employee-level.component.html
+10
-10
employee-level.component.ts
...ob-description/employee-level/employee-level.component.ts
+3
-3
job-description.component.html
...components/job-description/job-description.component.html
+10
-10
job-description.component.ts
...y-components/job-description/job-description.component.ts
+1
-1
position-unit.component.html
...nts/job-description/position/position-unit.component.html
+9
-7
position-unit.component.ts
...nents/job-description/position/position-unit.component.ts
+3
-3
competency-define-evaluation-factors.component.html
...ctors/competency-define-evaluation-factors.component.html
+1
-1
edit-group-competencies.component.html
...group-competencies/edit-group-competencies.component.html
+2
-2
group-competencies.component.html
...ment/group-competencies/group-competencies.component.html
+1
-1
edit-group-indicators.component.html
...dit-group-indicators/edit-group-indicators.component.html
+2
-2
indicators-and-curriculum.component.html
...s-and-curriculum/indicators-and-curriculum.component.html
+1
-1
set-approvers.component.html
...ncy-management/set-approvers/set-approvers.component.html
+2
-2
development-course.component.html
...tion/development-course/development-course.component.html
+1
-1
define-document-form.component.html
.../define-document-form/define-document-form.component.html
+1
-1
evaluation-cycle.component.html
...-manager/evaluation-cycle/evaluation-cycle.component.html
+3
-3
grade-management.component.html
...stration/grade-management/grade-management.component.html
+1
-1
sub-grade-registration.component.html
...-grade-registration/sub-grade-registration.component.html
+1
-1
set-idp-development-plan.component.html
...-development-plan/set-idp-development-plan.component.html
+1
-1
competency-topic.component.html
...stration/competency-topic/competency-topic.component.html
+2
-2
type-registration.component.html
...ration/type-registration/type-registration.component.html
+1
-1
assessment-tool.component.html
...l-register/assessment-tool/assessment-tool.component.html
+1
-1
dashboard-routing.module.ts
src/app/components/dashboard/dashboard-routing.module.ts
+1
-1
datagrid-syncfution.component.ts
...ents/datagrid-syncfution/datagrid-syncfution.component.ts
+5
-46
excel-report.component.html
src/app/components/excel-report/excel-report.component.html
+1
-1
sub-command-structure.component.html
...ub-command-structure/sub-command-structure.component.html
+1
-1
sub-job-competency.component.html
...ency/sub-job-competency/sub-job-competency.component.html
+1
-1
import-data.component.html
...-detail-management/import-data/import-data.component.html
+1
-1
work-detail.component.html
...ponents/job-detail/work-detail/work-detail.component.html
+1
-1
sub-job-position-indicators.component.html
...ion-indicators/sub-job-position-indicators.component.html
+1
-1
sub-job-qualifications.component.html
...-job-qualifications/sub-job-qualifications.component.html
+1
-1
chat.component.html
src/app/components/page/mail/chat/chat.component.html
+1
-1
mail.module.ts
src/app/components/page/mail/mail.module.ts
+2
-0
pms-idp.component.html
...aluation/pms-form-employee/pms-idp/pms-idp.component.html
+1
-1
supervisor-evaluation.component.html
...upervisor-evaluation/supervisor-evaluation.component.html
+1
-1
supervisor-evaluation.component.ts
.../supervisor-evaluation/supervisor-evaluation.component.ts
+0
-37
assigning-approvers.component.html
...nt/assigning-approvers/assigning-approvers.component.html
+2
-2
edit-evaluation-grouping.component.html
...aluation-grouping/edit-evaluation-grouping.component.html
+2
-2
evaluation-grouping.component.html
...nt/evaluation-grouping/evaluation-grouping.component.html
+1
-1
document-form.component.html
...le-performance/document-form/document-form.component.html
+1
-1
management-evaluation-cycle.component.html
...aluation-cycle/management-evaluation-cycle.component.html
+4
-4
define-evaluation-factors.component.html
...aluation-factors/define-evaluation-factors.component.html
+1
-1
assessment-topics.component.html
...omance/assessment-topics/assessment-topics.component.html
+4
-4
assessment-types.component.html
...rfomance/assessment-types/assessment-types.component.html
+1
-1
pms-grade-management.component.html
.../pms-grade-management/pms-grade-management.component.html
+1
-1
pms-sub-grade-registration.component.html
...de-registration/pms-sub-grade-registration.component.html
+1
-1
time-attendance-manage.component.html
...e-attendance-manage/time-attendance-manage.component.html
+4
-4
setting-individual-kpi-supervisor.component.html
...pervisor/setting-individual-kpi-supervisor.component.html
+1
-1
setting-individual-kpi.component.html
...ting-individual-kpi/setting-individual-kpi.component.html
+2
-2
header.component.html
src/app/shared/components/header/header.component.html
+3
-3
header.component.ts
src/app/shared/components/header/header.component.ts
+9
-6
page-header.component.html
.../shared/components/page-header/page-header.component.html
+4
-4
navservice.ts
src/app/shared/services/navservice.ts
+7
-7
translation.service.ts
src/app/shared/services/translation.service.ts
+0
-26
en.json
src/assets/i18n/en.json
+56
-3
th.json
src/assets/i18n/th.json
+59
-3
No files found.
src/app/app.component.ts
View file @
e0532566
import
{
Component
,
Renderer2
}
from
'@angular/core'
;
import
{
Component
,
Renderer2
}
from
'@angular/core'
;
import
{
TranslationService
}
from
'./shared/services/translation.service'
;
import
{
L10n
}
from
'@syncfusion/ej2-base'
;
L10n
.
load
({
'en-US'
:
{
'pager'
:
{
'currentPageInfo'
:
''
,
'totalItemInfo'
:
'{0} Item'
,
'pagerDropDown'
:
'Items'
,
'totalItemsInfo'
:
'{0} Items'
,
}
},
'th-TH'
:
{
'grid'
:
{
'EmptyRecord'
:
'ไม่มีข้อมูลที่จะแสดง'
,
'Item'
:
'1 รายการ'
,
'Items'
:
'{0} รายการ'
},
'pager'
:
{
'All'
:
'ทั้งหมด'
,
'pagerAllDropDown'
:
'รายการ'
,
'currentPageInfo'
:
''
,
'totalItemsInfo'
:
'{0} รายการ'
,
'totalItemInfo'
:
'{0} รายการ'
,
'totalRecordsInfo'
:
'{0} รายการ'
,
'firstPageTooltip'
:
'หน้าแรก'
,
'lastPageTooltip'
:
'หน้าสุดท้าย'
,
'nextPageTooltip'
:
'ถัดไป'
,
'previousPageTooltip'
:
'ก่อนหน้า'
,
'nextPagerTooltip'
:
'ถัดไป'
,
'previousPagerTooltip'
:
'ก่อนหน้า'
,
'pageInput'
:
'{0}'
,
'page'
:
'หน้า'
,
'pagerDropDown'
:
'รายการ'
,
'pagerAll'
:
'ทั้งหมด'
,
'pageSize'
:
'รายการต่อหน้า'
,
'pageSizeAll'
:
'ทั้งหมด'
,
'pageCount'
:
'จำนวนหน้า'
,
'pageCountAll'
:
'ทั้งหมด'
}
}
});
@
Component
({
@
Component
({
selector
:
'app-root'
,
selector
:
'app-root'
,
templateUrl
:
'./app.component.html'
,
templateUrl
:
'./app.component.html'
,
...
...
src/app/components/company-components/account-settings/account-settings.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
</div>
</div>
<div
class=
"block-main-content"
>
<div
class=
"block-main-content"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
ตั้งค่าผู้ใช้งาน
{{'menu.UserSetting' |translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
...
@@ -11,20 +11,20 @@
...
@@ -11,20 +11,20 @@
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
aria-controls=
"underline-1"
(
click
)="
currentPage =
1
;
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ตั้งค่าผู้ใช้งาน','สร้างชื่อผู้ใช้งาน
']"
>
(
click
)="
currentPage =
1
;
pathTitle =
['
menu.Organization',
'
menu
.
UserSetting
','
CreateUsername
']"
>
สร้างชื่อผู้ใช้งาน
{{'CreateUsername' | translate}}
</a>
</a>
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
aria-controls=
"underline-2"
aria-controls=
"underline-2"
(
click
)="
currentPage =
2
;
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ตั้งค่าผู้ใช้งาน','กำหนดรหัสผ่าน
']"
>
(
click
)="
currentPage =
2
;
pathTitle =
['
menu.Organization',
'
menu
.
UserSetting
','
SetPassword
']"
>
กำหนดรหัสผ่าน
{{'SetPassword' | translate}}
</a>
</a>
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-3"
data-hs-tab=
"#underline-3"
href=
"javascript:void(0);"
id=
"underline-item-3"
data-hs-tab=
"#underline-3"
aria-controls=
"underline-3"
aria-controls=
"underline-3"
(
click
)="
currentPage =
3
;
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ตั้งค่าผู้ใช้งาน','จัดการผู้ใช้งาน
']"
>
(
click
)="
currentPage =
3
;
pathTitle =
['
menu.Organization',
'
menu
.
UserSetting
','
ManageUsers
']"
>
จัดการผู้ใช้งาน
{{'ManageUsers' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
...
src/app/components/company-components/account-settings/account-settings.component.ts
View file @
e0532566
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
styleUrls
:
[
'./account-settings.component.scss'
]
styleUrls
:
[
'./account-settings.component.scss'
]
})
})
export
class
AccountSettingsComponent
{
export
class
AccountSettingsComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ตั้งค่าผู้ใช้งาน'
,
'สร้างชื่อผู้ใช้งาน
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.UserSetting'
,
'CreateUsername
'
]
currentPage
=
1
currentPage
=
1
}
}
src/app/components/company-components/account-settings/manage-user/manage-user.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
...
src/app/components/company-components/account-settings/manage-user/manage-user.component.ts
View file @
e0532566
...
@@ -33,28 +33,28 @@ export class ManageUserComponent {
...
@@ -33,28 +33,28 @@ export class ManageUserComponent {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"usernameId"
,
field
:
"usernameId"
,
headerText
:
"
ชื่อล็อกอิน
"
,
headerText
:
"
LoginName
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"empId"
,
field
:
"empId"
,
headerText
:
"
รหัสพนักงาน
"
,
headerText
:
"
EmployeeCode
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.fname"
,
field
:
"employee.fname"
,
headerText
:
"
ชื่อ
"
,
headerText
:
"
FirstName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.lname"
,
field
:
"employee.lname"
,
headerText
:
"
นามสกุล
"
,
headerText
:
"
LastName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"status"
,
field
:
"status"
,
headerText
:
"
สถานะ
"
,
headerText
:
"
Status
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/account-settings/role-permission-config/role-permission-config.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
</div>
</div>
<div
class=
"block-main-content"
>
<div
class=
"block-main-content"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
กำหนดสิทธิการเข้าใช้งาน
{{'menu.AccessPermissions' | translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
>
aria-controls=
"underline-1"
>
กำหนดสิทธิการเข้าใช้งาน
{{'menu.AccessPermissions' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -43,14 +43,14 @@
...
@@ -43,14 +43,14 @@
data-hs-overlay=
"#role-permission-config-modal"
data-hs-overlay=
"#role-permission-config-modal"
(
click
)="
currentModal=
'add'
;
selectConfigPermission
()"
>
(
click
)="
currentModal=
'add'
;
selectConfigPermission
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
data-hs-overlay=
"#role-permission-config-alert-modal"
(
click
)="
currentModal=
'delete'
"
>
data-hs-overlay=
"#role-permission-config-alert-modal"
(
click
)="
currentModal=
'delete'
"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
...
src/app/components/company-components/account-settings/role-permission-config/role-permission-config.component.ts
View file @
e0532566
...
@@ -11,7 +11,7 @@ import { NavService } from 'src/app/shared/services/navservice';
...
@@ -11,7 +11,7 @@ import { NavService } from 'src/app/shared/services/navservice';
styleUrls
:
[
'./role-permission-config.component.scss'
]
styleUrls
:
[
'./role-permission-config.component.scss'
]
})
})
export
class
RolePermissionConfigComponent
{
export
class
RolePermissionConfigComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'กำหนดสิทธิการเข้าใช้งาน
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.AccessPermissions
'
]
search
=
""
search
=
""
...
@@ -26,18 +26,18 @@ export class RolePermissionConfigComponent {
...
@@ -26,18 +26,18 @@ export class RolePermissionConfigComponent {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"userLevel"
,
field
:
"userLevel"
,
headerText
:
"
ระดับ
"
,
headerText
:
"
Level
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียด (ไทย)
"
,
headerText
:
"
DescriptionThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียด (อังกฤษ)
"
,
headerText
:
"
DescriptionEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/account-settings/set-a-password/set-a-password.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
...
src/app/components/company-components/account-settings/set-a-password/set-a-password.component.ts
View file @
e0532566
...
@@ -35,28 +35,28 @@ export class SetAPasswordComponent {
...
@@ -35,28 +35,28 @@ export class SetAPasswordComponent {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"usernameId"
,
field
:
"usernameId"
,
headerText
:
"
ชื่อล็อกอิน
"
,
headerText
:
"
LoginName
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"empId"
,
field
:
"empId"
,
headerText
:
"
รหัสพนักงาน
"
,
headerText
:
"
EmployeeCode
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.fname"
,
field
:
"employee.fname"
,
headerText
:
"
ชื่อ
"
,
headerText
:
"
FirstName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.lname"
,
field
:
"employee.lname"
,
headerText
:
"
นามสกุล
"
,
headerText
:
"
LastName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"status"
,
field
:
"status"
,
headerText
:
"
สถานะ
"
,
headerText
:
"
Status
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/account-settings/user-settings/user-settings.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,21 +16,21 @@
...
@@ -16,21 +16,21 @@
data-hs-overlay=
"#user-setting-upload-modal"
data-hs-overlay=
"#user-setting-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
data-hs-overlay=
"#user-setting-modal"
(
click
)="
currentModal=
'add'
;
selectUser
()"
>
data-hs-overlay=
"#user-setting-modal"
(
click
)="
currentModal=
'add'
;
selectUser
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
data-hs-overlay=
"#user-setting-alert-modal"
(
click
)="
currentModal=
'delete'
"
>
data-hs-overlay=
"#user-setting-alert-modal"
(
click
)="
currentModal=
'delete'
"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -187,7 +187,7 @@
...
@@ -187,7 +187,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
employeeListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
employeeListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -326,7 +326,7 @@
...
@@ -326,7 +326,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
roleListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
roleListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -462,7 +462,7 @@
...
@@ -462,7 +462,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
levelListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
levelListFilter
())"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/account-settings/user-settings/user-settings.component.ts
View file @
e0532566
...
@@ -37,28 +37,28 @@ export class UserSettingsComponent {
...
@@ -37,28 +37,28 @@ export class UserSettingsComponent {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"usernameId"
,
field
:
"usernameId"
,
headerText
:
"
ชื่อล็อกอิน
"
,
headerText
:
"
LoginName
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"empId"
,
field
:
"empId"
,
headerText
:
"
รหัสพนักงาน
"
,
headerText
:
"
EmployeeCode
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.fname"
,
field
:
"employee.fname"
,
headerText
:
"
ชื่อ
"
,
headerText
:
"
FirstName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"employee.lname"
,
field
:
"employee.lname"
,
headerText
:
"
นามสกุล
"
,
headerText
:
"
LastName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"status"
,
field
:
"status"
,
headerText
:
"
สถานะ
"
,
headerText
:
"
Status
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/company-registration/branch-business-unit/branch-business-unit.component.html
View file @
e0532566
<div
class=
"font-size-16px font-weight-600 pt-2rem pb-1rem text-primary"
>
<div
class=
"font-size-16px font-weight-600 pt-2rem pb-1rem text-primary"
>
รายละเอียดหน่วยธุรกิจ
{{'BusinessUnitDetails' | translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<nav
class=
"flex rtl:space-x-reverse space-x-2"
>
<nav
class=
"flex rtl:space-x-reverse space-x-2"
>
<a
(
click
)="
onSendPathTitle
('
ทะเบียนฝ่าย
');
currentTab=
1"
<a
(
click
)="
onSendPathTitle
('
Division
');
currentTab=
1"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900 active"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900 active"
href=
"javascript:void(0);"
id=
"card-type-item-1"
data-hs-tab=
"#card-type-1"
aria-controls=
"card-type-1"
>
href=
"javascript:void(0);"
id=
"card-type-item-1"
data-hs-tab=
"#card-type-1"
aria-controls=
"card-type-1"
>
ทะเบียนฝ่าย
{{'Division' | translate}}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ทะเบียนแผนก
');
currentTab=
2"
<a
(
click
)="
onSendPathTitle
('
Department
');
currentTab=
2"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-2"
data-hs-tab=
"#card-type-2"
aria-controls=
"card-type-2"
>
href=
"javascript:void(0);"
id=
"card-type-item-2"
data-hs-tab=
"#card-type-2"
aria-controls=
"card-type-2"
>
ทะเบียนแผนก
{{'Department' | translate}}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ทะเบียนส่วน
');
currentTab=
3"
<a
(
click
)="
onSendPathTitle
('
Section
');
currentTab=
3"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-3"
data-hs-tab=
"#card-type-3"
aria-controls=
"card-type-3"
>
href=
"javascript:void(0);"
id=
"card-type-item-3"
data-hs-tab=
"#card-type-3"
aria-controls=
"card-type-3"
>
ทะเบียนส่วน
{{'Section' | translate}}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ส่วนย่อย
1
');
currentTab=
4"
<a
(
click
)="
onSendPathTitle
('
SubSection
1
');
currentTab=
4"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-4"
data-hs-tab=
"#card-type-4"
aria-controls=
"card-type-4"
>
href=
"javascript:void(0);"
id=
"card-type-item-4"
data-hs-tab=
"#card-type-4"
aria-controls=
"card-type-4"
>
ส่วนย่อย1
{{ 'SubSection 1' | translate }}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ส่วนย่อย
2
');
currentTab=
5"
<a
(
click
)="
onSendPathTitle
('
SubSection
2
');
currentTab=
5"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-5"
data-hs-tab=
"#card-type-5"
aria-controls=
"card-type-5"
>
href=
"javascript:void(0);"
id=
"card-type-item-5"
data-hs-tab=
"#card-type-5"
aria-controls=
"card-type-5"
>
ส่วนย่อย2
{{ 'SubSection 2' | translate }}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ส่วนย่อย
3
');
currentTab=
6"
<a
(
click
)="
onSendPathTitle
('
SubSection
3
');
currentTab=
6"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-6"
data-hs-tab=
"#card-type-6"
aria-controls=
"card-type-6"
>
href=
"javascript:void(0);"
id=
"card-type-item-6"
data-hs-tab=
"#card-type-6"
aria-controls=
"card-type-6"
>
ส่วนย่อย3
{{ 'SubSection 3' | translate }}
</a>
</a>
<a
(
click
)="
onSendPathTitle
('
ส่วนย่อย
4
');
currentTab=
7"
<a
(
click
)="
onSendPathTitle
('
SubSection
4
');
currentTab=
7"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
class=
"border w-32 justify-center rounded-4px hs-tab-active:!bg-primary hs-tab-active:border-primary hs-tab-active:!text-white -mb-px py-2 px-3 inline-flex items-center gap-2 font-size-16px font-weight-500 text-center text-gray-600 hover:text-gray-900"
href=
"javascript:void(0);"
id=
"card-type-item-7"
data-hs-tab=
"#card-type-7"
aria-controls=
"card-type-7"
>
href=
"javascript:void(0);"
id=
"card-type-item-7"
data-hs-tab=
"#card-type-7"
aria-controls=
"card-type-7"
>
ส่วนย่อย4
{{ 'SubSectio 4' | translate }}
</a>
</a>
</nav>
</nav>
<div
class=
"pt-50px"
>
<div
class=
"pt-50px"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/branch-business-unit.component.ts
View file @
e0532566
...
@@ -6,12 +6,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
...
@@ -6,12 +6,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
styleUrls
:
[
'./branch-business-unit.component.scss'
]
styleUrls
:
[
'./branch-business-unit.component.scss'
]
})
})
export
class
BranchBusinessUnitComponent
{
export
class
BranchBusinessUnitComponent
{
@
Input
()
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ทะเบียนบริษัท'
,
'หน่วยธุรกิจ'
,
'ทะเบียนฝ่าย
'
]
@
Input
()
pathTitle
=
[
'
menu.Organization'
,
'menu.Company'
,
'BusinessUnit'
,
'Division
'
]
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
@
Output
()
sendPathTitle
:
EventEmitter
<
string
[]
>
=
new
EventEmitter
<
string
[]
>
();
currentTab
=
1
currentTab
=
1
onSendPathTitle
(
pathTitle
:
string
)
{
onSendPathTitle
(
pathTitle
:
string
)
{
this
.
sendPathTitle
.
emit
([
'
การจัดการข้อมูลองค์กร'
,
'ทะเบียนบริษัท'
,
'หน่วยธุรกิจ
'
,
pathTitle
])
this
.
sendPathTitle
.
emit
([
'
menu.Organization'
,
'menu.Company'
,
'BusinessUnit
'
,
pathTitle
])
}
}
}
}
src/app/components/company-components/company-registration/branch-business-unit/department-list/department-list.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -132,7 +132,7 @@
...
@@ -132,7 +132,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu1Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu1Modal
.
search
"
(
ngModelChange
)="
onBu1ModalSearchChange
()"
>
(
ngModelChange
)="
onBu1ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/department-register/department-register.component.html
View file @
e0532566
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -34,21 +34,21 @@
...
@@ -34,21 +34,21 @@
data-hs-overlay=
"#department-register-upload-modal"
data-hs-overlay=
"#department-register-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
(
click
)="
currentModal=
'add'
;
selectBu1
()"
(
click
)="
openDialog
()"
>
(
click
)="
currentModal=
'add'
;
selectBu1
()"
(
click
)="
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
href=
"javascript:void(0);"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
<button
href=
"javascript:void(0);"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
(
click
)="
currentModal=
'delete'
;
deleteBu1
()"
>
(
click
)="
currentModal=
'delete'
;
deleteBu1
()"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
...
src/app/components/company-components/company-registration/branch-business-unit/department-register/department-register.component.ts
View file @
e0532566
...
@@ -24,18 +24,18 @@ export class DepartmentRegisterComponent implements OnInit {
...
@@ -24,18 +24,18 @@ export class DepartmentRegisterComponent implements OnInit {
bu1
:
{
loading
:
boolean
,
select
:
Bu1Model
,
dataList
:
Bu1Model
[]
}
=
{
loading
:
false
,
select
:
new
MyBu1Model
(),
dataList
:
[]
}
bu1
:
{
loading
:
boolean
,
select
:
Bu1Model
,
dataList
:
Bu1Model
[]
}
=
{
loading
:
false
,
select
:
new
MyBu1Model
(),
dataList
:
[]
}
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"bu1id"
,
field
:
"bu1id"
,
headerText
:
"
รหัสฝ่าย
"
,
headerText
:
"
CompanyCode
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียดฝ่าย (ไทย)
"
,
headerText
:
"
CompanyDescThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียดฝ่าย (อังกฤษ)
"
,
headerText
:
"
CompanyDescEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/company-registration/branch-business-unit/section-registration/section-registration.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu2Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu2Modal
.
search
"
(
ngModelChange
)="
onBu2ModalSearchChange
()"
>
(
ngModelChange
)="
onBu2ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-four/sub-department-four.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu6Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu6Modal
.
search
"
(
ngModelChange
)="
onBu6ModalSearchChange
()"
>
(
ngModelChange
)="
onBu6ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-one/sub-department-one.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<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"
>
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"
>
...
@@ -121,7 +121,7 @@
...
@@ -121,7 +121,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu3Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu3Modal
.
search
"
(
ngModelChange
)="
onBu3ModalSearchChange
()"
>
(
ngModelChange
)="
onBu3ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-three/sub-department-three.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu5Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu5Modal
.
search
"
(
ngModelChange
)="
onBu5ModalSearchChange
()"
>
(
ngModelChange
)="
onBu5ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/branch-business-unit/sub-department-two/sub-department-two.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
bu4Modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
bu4Modal
.
search
"
(
ngModelChange
)="
onBu4ModalSearchChange
()"
>
(
ngModelChange
)="
onBu4ModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/company-components/company-registration/company-registration.component.html
View file @
e0532566
...
@@ -11,14 +11,14 @@
...
@@ -11,14 +11,14 @@
<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"
<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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
aria-controls=
"underline-1"
(
click
)="
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ทะเบียนบริษัท','ทะเบียนบริษัท
'];
currentPath=
1"
>
(
click
)="
pathTitle =
['
menu.Organization',
'
menu
.
Company
','
menu
.
Company
'];
currentPath=
1"
>
{{'menu.Company' | translate}}
{{'menu.Company' | translate}}
</a>
</a>
<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 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 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 px-1 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"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
aria-controls=
"underline-2"
aria-controls=
"underline-2"
(
click
)="
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ทะเบียนบริษัท','หน่วยธุรกิจ'
,'ทะเบียนฝ่าย
'];
currentPath=
2"
>
(
click
)="
pathTitle =
['
menu.Organization',
'
menu
.
Company
','
BusinessUnit
'
,'
Division
'];
currentPath=
2"
>
หน่วยธุรกิจ
{{'BusinessUnit' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
...
src/app/components/company-components/company-registration/company-registration.component.ts
View file @
e0532566
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
styleUrls
:
[
'./company-registration.component.scss'
]
styleUrls
:
[
'./company-registration.component.scss'
]
})
})
export
class
CompanyRegistrationComponent
{
export
class
CompanyRegistrationComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ทะเบียนบริษัท'
,
'ทะเบียนบริษัท
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.Company'
,
'menu.Company
'
]
currentPath
=
1
currentPath
=
1
}
}
src/app/components/company-components/day-type-registry/day-type-registry.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
</div>
</div>
<div
class=
"block-main-content"
>
<div
class=
"block-main-content"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
ทะเบียนประเภทวัน
{{'menu.LeaveType' | translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
aria-controls=
"underline-1"
(
click
)="
pathTitle =
['
การจัดการข้อมูลองค์กร',
'ทะเบียนประเภทวัน',
'ข้อมูลประเภทวัน
']"
>
(
click
)="
pathTitle =
['
menu.Organization',
'
menu
.
LeaveType
',
'
LeaveInfo
']"
>
ข้อมูลประเภทวัน
{{'LeaveInfo' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<input
type=
"checkbox"
class=
"ti-form-checkbox pointer-events-none"
<input
type=
"checkbox"
class=
"ti-form-checkbox pointer-events-none"
id=
"hs-default-checkbox"
[(
ngModel
)]="
isDataListChecked
"
>
id=
"hs-default-checkbox"
[(
ngModel
)]="
isDataListChecked
"
>
<label
for=
"hs-default-checkbox"
class=
"text-sm text-gray-500 mx-2 pointer-events-none"
>
<label
for=
"hs-default-checkbox"
class=
"text-sm text-gray-500 mx-2 pointer-events-none"
>
{{numDataListChecked}}
Selected
</label>
{{numDataListChecked}}
{{'Selected_ed' | translate}}
</label>
</div>
</div>
<div
class=
"mx-1 flex items-center"
>
<div
class=
"mx-1 flex items-center"
>
<button
(
click
)="
isDataListCheckedAll =
!isDataListCheckedAll;dataListCheckAll()"
<button
(
click
)="
isDataListCheckedAll =
!isDataListCheckedAll;dataListCheckAll()"
...
@@ -34,7 +34,8 @@
...
@@ -34,7 +34,8 @@
<i
class=
"fs-l transition-all duration-200"
<i
class=
"fs-l transition-all duration-200"
[
ngClass
]="{'
ri-checkbox-multiple-line
text-gray-500
'
:
!
isDataListCheckedAll
,
'
ri-checkbox-multiple-fill
text-primary
'
:
isDataListCheckedAll
}"
></i>
[
ngClass
]="{'
ri-checkbox-multiple-line
text-gray-500
'
:
!
isDataListCheckedAll
,
'
ri-checkbox-multiple-fill
text-primary
'
:
isDataListCheckedAll
}"
></i>
</button>
</button>
<label
class=
"text-sm text-gray-500 ml-2"
for=
"check-boxall"
>
Select All
</label>
<label
class=
"text-sm text-gray-500 ml-2"
for=
"check-boxall"
>
{{'SelectAll' | translate}}
</label>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -43,13 +44,13 @@
...
@@ -43,13 +44,13 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-20px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-20px m-0 shadow-md"
data-hs-overlay=
"#day-type-registry-upload-modal"
data-hs-overlay=
"#day-type-registry-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'
กรุณาเลือกไฟล์
'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'
PleaseSelectFile
'"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
นำเข้าข้อมูล
{{'ImportData' | translate}}
</button>
</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"
<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);"
(
click
)="
downloadFile
()"
>
href=
"javascript:void(0);"
(
click
)="
downloadFile
()"
>
ดาวน์โหลดตัวอย่างไฟล์
{{'DownloadSampleFile' | translate}}
</a>
</a>
</div>
</div>
</div>
</div>
...
@@ -58,8 +59,8 @@
...
@@ -58,8 +59,8 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
style=
"height: 40px;
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -70,7 +71,7 @@
...
@@ -70,7 +71,7 @@
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-20px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-20px m-0 shadow-md"
data-hs-overlay=
"#day-type-registry-modal"
(
click
)="
modalStatus=
'add'
;
setData
()"
>
data-hs-overlay=
"#day-type-registry-modal"
(
click
)="
modalStatus=
'add'
;
setData
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate }}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
...
@@ -79,7 +80,7 @@
...
@@ -79,7 +80,7 @@
data-hs-overlay=
"#day-type-registry-alert-modal"
data-hs-overlay=
"#day-type-registry-alert-modal"
(
click
)="
modalStatus=
'deleteGroup'
;
setData
()"
>
(
click
)="
modalStatus=
'deleteGroup'
;
setData
()"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate }}
</button>
</button>
</div>
</div>
<!-- <div class="px-1">
<!-- <div class="px-1">
...
@@ -99,10 +100,10 @@
...
@@ -99,10 +100,10 @@
<thead>
<thead>
<tr>
<tr>
<ng-container
<ng-container
*
ngFor=
"let item of ['','
ประเภทวัน','รายละเอียด(ไทย) ','รายละเอียด(อังกฤษ)','การจัดการ
']; let f = first; let l = last; let i = index"
>
*
ngFor=
"let item of ['','
LeaveCode','DescriptionThai','DescriptionEng','Action
']; let f = first; let l = last; let i = index"
>
<th
scope=
"col"
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700"
>
{{ item }}
</span>
<span
class=
"font-size-12px font-weight-700"
>
{{ item
| translate
}}
</span>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
*
ngIf=
"!l&&!f"
>
*
ngIf=
"!l&&!f"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
...
@@ -190,10 +191,10 @@
...
@@ -190,10 +191,10 @@
</li>
</li>
</ul>
</ul>
<ul
class=
"nav-tabs mt-3"
>
<ul
class=
"nav-tabs mt-3"
>
<span>
Show {{((currentPage-1) * 10)+1}} to {{eventgrpListFilter().length
<10
<span>
{{'Show' | translate}} {{((currentPage-1) * 10)+1}} to {{eventgrpListFilter().length
?
eventgrpListFilter
().
length:
(
currentPage=
=page.length
?
((
currentPage
*
10
)
-
<10
?
eventgrpListFilter
().
length:
(
currentPage=
=page.length
?
((
currentPage
*
10
)
-
((
currentPage
*
10
)
-
eventgrpListFilter
().
length
)
)
:
(
currentPage
*
10
)
)
}}
of
((
currentPage
*
10
)
-
eventgrpListFilter
().
length
)
)
:
(
currentPage
*
10
)
)
}}
of
{{
eventgrpListFilter
().
length
}}
items
</
span
>
{{
eventgrpListFilter
().
length
}}
{{'
Items
'
|
translate
}}
</
span
>
</ul>
</ul>
</nav>
</nav>
</div>
</div>
...
@@ -361,7 +362,8 @@
...
@@ -361,7 +362,8 @@
ย้อนกลับ
ย้อนกลับ
</button>
</button>
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
<a
class=
"ti-btn ti-btn-danger"
href=
"javascript:void(0);"
data-hs-overlay=
"#day-type-registry-alert-modal"
(
click
)="
deleteEventgrp
()"
*
ngIf=
"numDataListChecked"
>
data-hs-overlay=
"#day-type-registry-alert-modal"
(
click
)="
deleteEventgrp
()"
*
ngIf=
"numDataListChecked"
>
ลบข้อมูล
ลบข้อมูล
</a>
</a>
</ng-container>
</ng-container>
...
@@ -375,15 +377,15 @@
...
@@ -375,15 +377,15 @@
<div
class=
"hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md"
>
<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"
>
<div
class=
"ti-modal-header bg-primary !rounded-none !rounded-t-sm"
>
<h5
class=
"text-xxl font-bold text-white"
>
<h5
class=
"text-xxl font-bold text-white"
>
นำเข้าข้อมูลประเภทวัน
{{'ImportLeaveType' | translate}}
</h5>
</h5>
</div>
</div>
<div
class=
"ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm"
>
<div
class=
"ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm"
>
<h1
class=
"mt-2"
style=
"text-align: center;"
>
ไฟล์
</h1>
<h1
class=
"mt-2"
style=
"text-align: center;"
>
{{'File' | translate}}
</h1>
<div
class=
"mt-2 p-2"
>
<div
class=
"mt-2 p-2"
>
<div
class=
"flex rounded-md"
>
<div
class=
"flex rounded-md"
>
<input
#
fileInput
id=
"fileInput"
type=
"file"
(
change
)="
onFileSelected
($
event
)"
hidden
>
<input
#
fileInput
id=
"fileInput"
type=
"file"
(
change
)="
onFileSelected
($
event
)"
hidden
>
<input
type=
"text"
[
value
]="
selectedFileName
"
readonly
(
click
)="
fileInput
.
click
()"
<input
type=
"text"
[
value
]="
selectedFileName
|
translate
"
readonly
(
click
)="
fileInput
.
click
()"
class=
"ti-form-input rounded-none ltr:rounded-l-md rtl:rounded-r-md focus:z-10 cursor-pointer"
>
class=
"ti-form-input rounded-none ltr:rounded-l-md rtl:rounded-r-md focus:z-10 cursor-pointer"
>
<button
type=
"button"
(
click
)="
fileInput
.
click
()"
<button
type=
"button"
(
click
)="
fileInput
.
click
()"
class=
"inline-flex flex-shrink-0 justify-center items-center h-[2.875rem] w-[2.875rem] ltr:rounded-r-md rtl:rounded-l-md border border-transparent font-semibold bg-secondary text-white hover:bg-secondary focus:z-10 focus:outline-none focus:ring-0 focus:ring-secondary transition-all text-sm"
>
class=
"inline-flex flex-shrink-0 justify-center items-center h-[2.875rem] w-[2.875rem] ltr:rounded-r-md rtl:rounded-l-md border border-transparent font-semibold bg-secondary text-white hover:bg-secondary focus:z-10 focus:outline-none focus:ring-0 focus:ring-secondary transition-all text-sm"
>
...
@@ -394,7 +396,7 @@
...
@@ -394,7 +396,7 @@
<button
type=
"submit"
class=
"ti-btn ti-btn-secondary"
<button
type=
"submit"
class=
"ti-btn ti-btn-secondary"
data-hs-overlay=
"#day-type-registry-upload-modal"
[
class
.
ti-btn-disabled
]="!
selectedFile
"
data-hs-overlay=
"#day-type-registry-upload-modal"
[
class
.
ti-btn-disabled
]="!
selectedFile
"
(
click
)="
uploadFile
()"
[
disabled
]="!
selectedFile
"
[
disabled
]="!
selectedFile
"
>
(
click
)="
uploadFile
()"
[
disabled
]="!
selectedFile
"
[
disabled
]="!
selectedFile
"
>
อัปโหลด
{{'Upload' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
...
src/app/components/company-components/day-type-registry/day-type-registry.component.ts
View file @
e0532566
...
@@ -9,12 +9,12 @@ import { FileService } from 'src/app/shared/services/file.service';
...
@@ -9,12 +9,12 @@ import { FileService } from 'src/app/shared/services/file.service';
styleUrls
:
[
'./day-type-registry.component.scss'
]
styleUrls
:
[
'./day-type-registry.component.scss'
]
})
})
export
class
DayTypeRegistryComponent
{
export
class
DayTypeRegistryComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ทะเบียนประเภทวัน'
,
'ข้อมูลประเภทวัน
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.LeaveType'
,
'LeaveInfo
'
]
currentPage
=
1
currentPage
=
1
selectedItems
:
string
[]
=
[];
selectedItems
:
string
[]
=
[];
search
=
""
search
=
""
selectedFile
:
File
|
null
=
null
;
selectedFile
:
File
|
null
=
null
;
selectedFileName
:
string
=
'
กรุณาเลือกไฟล์
'
;
selectedFileName
:
string
=
'
selectedFileName
'
;
modalStatus
:
'add'
|
'edit'
|
'delete'
|
'deleteGroup'
=
'add'
modalStatus
:
'add'
|
'edit'
|
'delete'
|
'deleteGroup'
=
'add'
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
page
=
Array
.
from
({
length
:
1
},
(
_
,
i
)
=>
i
+
1
);
numDataListChecked
=
0
numDataListChecked
=
0
...
...
src/app/components/company-components/employee-registration/employee-registration.component.html
View file @
e0532566
...
@@ -3,15 +3,16 @@
...
@@ -3,15 +3,16 @@
</div>
</div>
<div
class=
"block-main-content"
>
<div
class=
"block-main-content"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
<div
class=
"text-lg font-bold py-2 px-8 text-primary"
>
ทะเบียนพนักงาน
{{'menu.Employee' | translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<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"
>
<nav
class=
"-mb-0.5 flex space-x-6 rtl:space-x-reverse"
>
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
(
click
)="
pathTitle =
['การจัดการข้อมูลองค์กร','ทะเบียนพนักงาน',
'ทะเบียนพนักงาน']"
>
aria-controls=
"underline-1"
ทะเบียนพนักงาน
(
click
)="
pathTitle =
['menu.Organization','menu.Employee',
'
menu
.
Employee
']"
>
{{'menu.Employee' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
...
src/app/components/company-components/employee-registration/employee-registration.component.ts
View file @
e0532566
...
@@ -6,5 +6,5 @@ import { Component } from '@angular/core';
...
@@ -6,5 +6,5 @@ import { Component } from '@angular/core';
styleUrls
:
[
'./employee-registration.component.scss'
]
styleUrls
:
[
'./employee-registration.component.scss'
]
})
})
export
class
EmployeeRegistrationComponent
{
export
class
EmployeeRegistrationComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ทะเบียนพนักงาน'
,
'ทะเบียนพนักงาน
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.Employee'
,
'menu.Employee
'
]
}
}
src/app/components/company-components/employee-registration/sub-employee-registration/sub-employee-registration.component.html
View file @
e0532566
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<div
class=
"flex justify-end"
>
<div
class=
"flex justify-end"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
[
(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,20 +16,21 @@
...
@@ -16,20 +16,21 @@
data-hs-overlay=
"#sub-employee-registration-modal-upload"
data-hs-overlay=
"#sub-employee-registration-modal-upload"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
(
click
)="
currentModal=
'add'
;
selectEmployee
();
openDialog
()"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
(
click
)="
currentModal=
'add'
;
selectEmployee
();
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
<button
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
(
click
)="
currentModal=
'delete'
;
selectEmployee
();
updateEmployeeList
('
delete
')"
>
(
click
)="
currentModal=
'delete'
;
selectEmployee
();
updateEmployeeList
('
delete
')"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -38,7 +39,8 @@
...
@@ -38,7 +39,8 @@
<div
class=
"page px-rem"
>
<div
class=
"page px-rem"
>
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
employee
.
dataList
"
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
employee
.
dataList
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
modalName=
"#sub-employee-registration-modal"
[
showImg
]="
true
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
modalName=
"#sub-employee-registration-modal"
[
showImg
]="
true
"
(
sendSelectData
)="
currentModal=
'update'
;
selectEmployee
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
(
sendSelectData
)="
currentModal=
'update'
;
selectEmployee
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
</app-datagrid-syncfution>
</app-datagrid-syncfution>
</div>
</div>
<ng-template
#
employeeRegistrationModal
let-modal
>
<ng-template
#
employeeRegistrationModal
let-modal
>
...
@@ -68,9 +70,9 @@
...
@@ -68,9 +70,9 @@
<span
class=
"sr-only"
>
Loading...
</span>
<span
class=
"sr-only"
>
Loading...
</span>
</div>
</div>
<img
*
ngIf=
"!imgLoading"
<img
*
ngIf=
"!imgLoading"
[
src
]="
employee
.
select
.
picture
?
getImg
(
employee
.
select
.
picture
)
:
'./
assets
/
img
/
users
/
defaultperson
.
jpg
'"
(
error
)="
onImageError
($
event
)"
[
src
]="
employee
.
select
.
picture
?
getImg
(
employee
.
select
.
picture
)
:
'./
assets
/
img
/
users
/
defaultperson
.
jpg
'"
class=
"rounded-full ring-4 ring-white/10 mx-auto object-cover"
id=
"profile-img"
alt=
"profile-img
"
(
error
)="
onImageError
($
event
)"
class=
"rounded-full ring-4 ring-white/10 mx-auto object-cover
"
style=
"height: 10rem;width: 10rem;"
>
id=
"profile-img"
alt=
"profile-img"
style=
"height: 10rem;width: 10rem;"
>
</div>
</div>
<div
*
ngIf=
"!imgLoading"
class=
"relative"
style=
"margin-left:-30px"
>
<div
*
ngIf=
"!imgLoading"
class=
"relative"
style=
"margin-left:-30px"
>
<i
class=
"ri ri-pencil-line cursor-pointer"
(
click
)="
fileImg
.
click
()"
></i>
<i
class=
"ri ri-pencil-line cursor-pointer"
(
click
)="
fileImg
.
click
()"
></i>
...
@@ -169,11 +171,9 @@
...
@@ -169,11 +171,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
style=
"padding-right: 3.5rem;"
[
value
]="
employee
.
select
.
boss
.
fname
+'
'+
employee
.
select
.
boss
.
lname
"
>
[
value
]="
employee
.
select
.
boss
.
fname
+'
'+
employee
.
select
.
boss
.
lname
"
>
<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"
>
<div
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
boss
.
employee=
''
;
employee
.
select
.
boss
.
fname=
''
;
employee
.
select
.
boss
.
lname=
''
"
>
(
click
)="
employee
.
select
.
boss
.
employee=
''
;
employee
.
select
.
boss
.
fname=
''
;
employee
.
select
.
boss
.
lname=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -194,10 +194,9 @@
...
@@ -194,10 +194,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu1
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu1
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu1
()"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu1
()"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
</button>
</button>
...
@@ -216,11 +215,10 @@
...
@@ -216,11 +215,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu1
.
bu1id
"
style=
"padding-right: 3.5rem;"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu1
.
bu1id
"
[(
ngModel
)]="
employee
.
select
.
bu2
.
tdesc
"
>
[(
ngModel
)]="
employee
.
select
.
bu2
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu2
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu2
()"
*
ngIf=
"employee.select.bu1.bu1id"
>
*
ngIf=
"employee.select.bu1.bu1id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -241,11 +239,10 @@
...
@@ -241,11 +239,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu3
.
tdesc
"
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu3
.
tdesc
"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu2
.
bu2id
"
>
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu2
.
bu2id
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu3
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu3
()"
*
ngIf=
"employee.select.bu2.bu2id"
>
*
ngIf=
"employee.select.bu2.bu2id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -266,11 +263,10 @@
...
@@ -266,11 +263,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu4
.
tdesc
"
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu4
.
tdesc
"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu3
.
bu3id
"
>
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu3
.
bu3id
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu4
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu4
()"
*
ngIf=
"employee.select.bu3.bu3id"
>
*
ngIf=
"employee.select.bu3.bu3id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -291,11 +287,10 @@
...
@@ -291,11 +287,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu5
.
tdesc
"
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu5
.
tdesc
"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu4
.
bu4id
"
>
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu4
.
bu4id
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu5
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu5
()"
*
ngIf=
"employee.select.bu4.bu4id"
>
*
ngIf=
"employee.select.bu4.bu4id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -315,11 +310,10 @@
...
@@ -315,11 +310,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu6
.
tdesc
"
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu6
.
tdesc
"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu5
.
bu5id
"
>
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu5
.
bu5id
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu6
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu6
()"
*
ngIf=
"employee.select.bu5.bu5id"
>
*
ngIf=
"employee.select.bu5.bu5id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -339,11 +333,10 @@
...
@@ -339,11 +333,10 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu7
.
tdesc
"
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
bu7
.
tdesc
"
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu6
.
bu6id
"
>
[
class
.!
bg-input-readonly
]="!
employee
.
select
.
bu6
.
bu6id
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu7
()"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
selectBu7
()"
*
ngIf=
"employee.select.bu6.bu6id"
>
*
ngIf=
"employee.select.bu6.bu6id"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -364,10 +357,9 @@
...
@@ -364,10 +357,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
position
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
position
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
position
.
positionId=
''
;
employee
.
select
.
position
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
position
.
positionId=
''
;
employee
.
select
.
position
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -388,10 +380,9 @@
...
@@ -388,10 +380,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
jobCode
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
jobCode
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
jobCode
.
jobcodeId=
''
;
employee
.
select
.
jobCode
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
jobCode
.
jobcodeId=
''
;
employee
.
select
.
jobCode
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -411,10 +402,9 @@
...
@@ -411,10 +402,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
branch
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
branch
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
branch
.
branchId=
''
;
employee
.
select
.
branch
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
branch
.
branchId=
''
;
employee
.
select
.
branch
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -435,10 +425,9 @@
...
@@ -435,10 +425,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
empType
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
empType
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
empType
.
codeId=
''
;
employee
.
select
.
empType
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
empType
.
codeId=
''
;
employee
.
select
.
empType
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -459,10 +448,9 @@
...
@@ -459,10 +448,9 @@
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"col-span-6 sm:col-span-6 "
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"relative flex rounded-md"
>
<div
class=
"relative flex rounded-md"
>
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
<input
type=
"text"
class=
"ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10"
readonly
readonly
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
personalLevel
.
tdesc
"
>
style=
"padding-right: 3.5rem;"
[(
ngModel
)]="
employee
.
select
.
personalLevel
.
tdesc
"
>
<div
<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"
>
class=
"absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2"
>
<button
type=
"button"
class=
"flex items-center text-red-500"
<button
type=
"button"
class=
"flex items-center text-red-500"
(
click
)="
employee
.
select
.
personalLevel
.
plId=
''
;
employee
.
select
.
personalLevel
.
tdesc=
''
"
>
(
click
)="
employee
.
select
.
personalLevel
.
plId=
''
;
employee
.
select
.
personalLevel
.
tdesc=
''
"
>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
<i
class=
"ti ti-circle-x cursor-pointer"
></i>
...
@@ -493,7 +481,7 @@
...
@@ -493,7 +481,7 @@
[
disabled
]="
checkEmployeeModel
()||(
currentModal=
='add'&&checkPrimary())"
>
[
disabled
]="
checkEmployeeModel
()||(
currentModal=
='add'&&checkPrimary())"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
...
@@ -555,16 +543,16 @@
...
@@ -555,16 +543,16 @@
ยืนยันการบันทึกข้อมูลหรือไม่
ยืนยันการบันทึกข้อมูลหรือไม่
</p>
</p>
<ng-template
#
empGroupModal
let-modal
>
<ng-template
#
empGroupModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลกลุ่มพนักงาน
ข้อมูลกลุ่มพนักงาน
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
empGroupListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
empGroupListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -609,7 +597,8 @@
...
@@ -609,7 +597,8 @@
<tbody
*
ngIf=
"!empGroup.loading&&empGroupListFilter().length"
>
<tbody
*
ngIf=
"!empGroup.loading&&empGroupListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of empGroupListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of empGroupListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
empGroup
',
item
);
closeEmpGroupDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
empGroup
',
item
);
closeEmpGroupDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -621,27 +610,26 @@
...
@@ -621,27 +610,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
empGroupListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
empGroupListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
employeeListModal
let-modal
>
<ng-template
#
employeeListModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลพนักงาน
ข้อมูลพนักงาน
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
employeeModalListFilter
())"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
employeeModalListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -709,21 +697,21 @@
...
@@ -709,21 +697,21 @@
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu1Modal
let-modal
>
<ng-template
#
bu1Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลทะเบียนฝ่าย
ข้อมูลทะเบียนฝ่าย
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu1ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu1ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -780,27 +768,26 @@
...
@@ -780,27 +768,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu1ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu1ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu2Modal
let-modal
>
<ng-template
#
bu2Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลทะเบียนแผนก
ข้อมูลทะเบียนแผนก
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu2ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu2ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -857,27 +844,26 @@
...
@@ -857,27 +844,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu2ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu2ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu3Modal
let-modal
>
<ng-template
#
bu3Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลทะเบียนส่วน
ข้อมูลทะเบียนส่วน
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu3ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu3ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -934,27 +920,26 @@
...
@@ -934,27 +920,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu3ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu3ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu4Modal
let-modal
>
<ng-template
#
bu4Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลส่วนย่อย1
ข้อมูลส่วนย่อย1
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu4ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu4ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1011,28 +996,27 @@
...
@@ -1011,28 +996,27 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu4ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu4ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu5Modal
let-modal
>
<ng-template
#
bu5Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลส่วนย่อย2
ข้อมูลส่วนย่อย2
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu5ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu5ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1089,27 +1073,26 @@
...
@@ -1089,27 +1073,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu5ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu5ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu6Modal
let-modal
>
<ng-template
#
bu6Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลส่วนย่อย3
ข้อมูลส่วนย่อย3
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu6ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu6ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1166,27 +1149,26 @@
...
@@ -1166,27 +1149,26 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu6ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu6ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
bu7Modal
let-modal
>
<ng-template
#
bu7Modal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลส่วนย่อย4
ข้อมูลส่วนย่อย4
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
bu7ListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
bu7ListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1243,29 +1225,28 @@
...
@@ -1243,29 +1225,28 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
bu7ListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
bu7ListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
positionModal
let-modal
>
<ng-template
#
positionModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลตำแหน่ง
ข้อมูลตำแหน่ง
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
positionListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
positionListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1310,7 +1291,8 @@
...
@@ -1310,7 +1291,8 @@
<tbody
*
ngIf=
"!position.loading&&positionListFilter().length"
>
<tbody
*
ngIf=
"!position.loading&&positionListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of positionListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of positionListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
position
',
item
);
closePositionDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
position
',
item
);
closePositionDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -1322,28 +1304,27 @@
...
@@ -1322,28 +1304,27 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
positionListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
positionListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
jobcodeModal
let-modal
>
<ng-template
#
jobcodeModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลลักษณะงาน
ข้อมูลลักษณะงาน
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
jobcodeListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
jobcodeListFilter
())"
>
<div
<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"
>
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"
>
...
@@ -1388,7 +1369,8 @@
...
@@ -1388,7 +1369,8 @@
<tbody
*
ngIf=
"!jobcode.loading&&jobcodeListFilter().length"
>
<tbody
*
ngIf=
"!jobcode.loading&&jobcodeListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of jobcodeListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of jobcodeListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
jobCode
',
item
);
closeJobcodeDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
jobCode
',
item
);
closeJobcodeDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -1400,27 +1382,27 @@
...
@@ -1400,27 +1382,27 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
jobcodeListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
jobcodeListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
branchModal
let-modal
>
<ng-template
#
branchModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลสาขา
ข้อมูลสาขา
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
branchListFilter
())"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
branchListFilter
())"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -1464,7 +1446,8 @@
...
@@ -1464,7 +1446,8 @@
<tbody
*
ngIf=
"!branch.loading&&branchListFilter().length"
>
<tbody
*
ngIf=
"!branch.loading&&branchListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of branchListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of branchListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
branch
',
item
);
closeBranchDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
branch
',
item
);
closeBranchDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -1476,28 +1459,28 @@
...
@@ -1476,28 +1459,28 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
branchListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
branchListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
employeeTypeModal
let-modal
>
<ng-template
#
employeeTypeModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลประเภทพนักงาน
ข้อมูลประเภทพนักงาน
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
empTypeListFilter
())"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
empTypeListFilter
())"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -1541,7 +1524,8 @@
...
@@ -1541,7 +1524,8 @@
<tbody
*
ngIf=
"!empType.loading&&empTypeListFilter().length"
>
<tbody
*
ngIf=
"!empType.loading&&empTypeListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of empTypeListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of empTypeListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
empType
',
item
);
closeEmployeeTypeDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
empType
',
item
);
closeEmployeeTypeDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -1553,29 +1537,29 @@
...
@@ -1553,29 +1537,29 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
empTypeListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
empTypeListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
<ng-template
#
employeePlModal
let-modal
>
<ng-template
#
employeePlModal
let-modal
>
<h3
mat-dialog-title
>
<h3
mat-dialog-title
>
ข้อมูลระดับพนักงาน (JL)
ข้อมูลระดับพนักงาน (JL)
</h3>
</h3>
<mat-dialog-content>
<mat-dialog-content>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"flex justify-end pb-1rem"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
plListFilter
())"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchModalChange
(
plListFilter
())"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -1619,7 +1603,8 @@
...
@@ -1619,7 +1603,8 @@
<tbody
*
ngIf=
"!empType.loading&&plListFilter().length"
>
<tbody
*
ngIf=
"!empType.loading&&plListFilter().length"
>
<tr
<tr
*
ngFor=
"let item of plListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
*
ngFor=
"let item of plListFilter() | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
personalLevel
',
item
);
closeEmployeePlDialog
()"
>
class=
"cursor-pointer"
(
click
)="
selectDataModal
(
this
.
employee
.
select
,'
personalLevel
',
item
);
closeEmployeePlDialog
()"
>
<td
class=
"flex justify-center"
>
<td
class=
"flex justify-center"
>
{{((currentPage-1) * pageSize)+(i+1)}}
{{((currentPage-1) * pageSize)+(i+1)}}
</td>
</td>
...
@@ -1631,14 +1616,12 @@
...
@@ -1631,14 +1616,12 @@
</table>
</table>
</div>
</div>
<app-pagination
[
totalItems
]="
plListFilter
().
length
"
[
pageSize
]="
pageSize
"
<app-pagination
[
totalItems
]="
plListFilter
().
length
"
[
pageSize
]="
pageSize
"
(
pageChange
)="
currentPage =
$event"
(
pageChange
)="
currentPage =
$event"
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
(
pageSizeChange
)="
pageSize =
$event;currentPage
=
1
"
></app-pagination>
</mat-dialog-content>
</mat-dialog-content>
<mat-dialog-actions
align=
"end"
>
<mat-dialog-actions
align=
"end"
>
<button
type=
"button"
mat-button
[
mat-dialog-close
]
<button
type=
"button"
mat-button
[
mat-dialog-close
]
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"
>
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"
>
ย้อนกลับ
ย้อนกลับ
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
\ No newline at end of file
src/app/components/company-components/employee-registration/sub-employee-registration/sub-employee-registration.component.ts
View file @
e0532566
...
@@ -60,23 +60,23 @@ export class SubEmployeeRegistrationComponent {
...
@@ -60,23 +60,23 @@ export class SubEmployeeRegistrationComponent {
type
:
"string"
,
type
:
"string"
,
},
{
},
{
field
:
"employeeId"
,
field
:
"employeeId"
,
headerText
:
"
รหัสพนักงาน
"
,
headerText
:
"
EmployeeCode
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"fname"
,
field
:
"fname"
,
headerText
:
"
ชื่อ
"
,
headerText
:
"
FirstName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"lname"
,
field
:
"lname"
,
headerText
:
"
นามสกุล
"
,
headerText
:
"
LastName
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"position.tdesc"
,
field
:
"position.tdesc"
,
headerText
:
"
ตำแหน่ง
"
,
headerText
:
"
Position
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/job-description/employee-categories/employee-categories.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,13 +16,14 @@
...
@@ -16,13 +16,14 @@
data-hs-overlay=
"#employee-categories-upload-modal"
data-hs-overlay=
"#employee-categories-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
(
click
)="
currentModal=
'add'
;
selectEmp_type
();
openDialog
()"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
(
click
)="
currentModal=
'add'
;
selectEmp_type
();
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
...
@@ -30,7 +31,7 @@
...
@@ -30,7 +31,7 @@
data-hs-overlay=
"#employee-categories-page-alert-modal"
data-hs-overlay=
"#employee-categories-page-alert-modal"
(
click
)="
currentModal=
'delete'
;
selectEmp_type
();
deleteEmp_type
()"
>
(
click
)="
currentModal=
'delete'
;
selectEmp_type
();
deleteEmp_type
()"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -39,7 +40,8 @@
...
@@ -39,7 +40,8 @@
<div
class=
"page px-rem"
>
<div
class=
"page px-rem"
>
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
emp_type
.
dataList
"
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
emp_type
.
dataList
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
(
sendSelectData
)="
currentModal=
'edit'
;
selectEmp_type
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
(
sendSelectData
)="
currentModal=
'edit'
;
selectEmp_type
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
</app-datagrid-syncfution>
</app-datagrid-syncfution>
</div>
</div>
...
@@ -67,8 +69,8 @@
...
@@ -67,8 +69,8 @@
</span></label>
</span></label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:currentModal=
='edit'}"
[
readonly
]="
currentModal=
='edit'"
[
ngClass
]="{'
bg-input-readonly
'
:currentModal=
='edit'}"
[
readonly
]="
currentModal=
='edit'"
[
maxLength
]="
5
"
[
maxLength
]="
5
"
[
(
ngModel
)]="
emp_type
.
select
.
codeId
"
>
[(
ngModel
)]="
emp_type
.
select
.
codeId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดประเภทพนักงาน (ไทย)
<span
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดประเภทพนักงาน (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
emp_type
.
select
.
tdesc
"
>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
emp_type
.
select
.
tdesc
"
>
...
@@ -85,7 +87,7 @@
...
@@ -85,7 +87,7 @@
[
disabled
]="!
emp_type
.
select
.
codeId
||!
emp_type
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
[
disabled
]="!
emp_type
.
select
.
codeId
||!
emp_type
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
...
...
src/app/components/company-components/job-description/employee-categories/employee-categories.component.ts
View file @
e0532566
...
@@ -22,18 +22,18 @@ export class EmployeeCategories {
...
@@ -22,18 +22,18 @@ export class EmployeeCategories {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"codeId"
,
field
:
"codeId"
,
headerText
:
"
รหัสประเภทพนักงาน
"
,
headerText
:
"
EmploymentTypeCode
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียดประเภทพนักงาน (ไทย)
"
,
headerText
:
"
EmploymentTypeDescThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียดประเภทพนักงาน (อังกฤษ)
"
,
headerText
:
"
EmploymentTypeDescEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/job-description/employee-group-unit/employee-group-unit.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
data-hs-overlay=
"#employee-group-unit-component-upload-modal"
data-hs-overlay=
"#employee-group-unit-component-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
data-hs-overlay=
"#employee-group-unit-component-page-modal"
data-hs-overlay=
"#employee-group-unit-component-page-modal"
(
click
)="
currentModal=
'add'
;
selectEmp_group
();
openDialog
()"
>
(
click
)="
currentModal=
'add'
;
selectEmp_group
();
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
data-hs-overlay=
"#employee-group-unit-component-page-alert-modal"
data-hs-overlay=
"#employee-group-unit-component-page-alert-modal"
(
click
)="
currentModal=
'delete'
;
selectEmp_group
();
deleteEmp_group
()"
>
(
click
)="
currentModal=
'delete'
;
selectEmp_group
();
deleteEmp_group
()"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -40,7 +40,8 @@
...
@@ -40,7 +40,8 @@
<div
class=
"page px-rem"
>
<div
class=
"page px-rem"
>
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
emp_group
.
dataList
"
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
emp_group
.
dataList
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
(
sendSelectData
)="
currentModal=
'edit'
;
selectEmp_group
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
(
sendSelectData
)="
currentModal=
'edit'
;
selectEmp_group
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
</app-datagrid-syncfution>
</app-datagrid-syncfution>
</div>
</div>
...
@@ -52,7 +53,8 @@
...
@@ -52,7 +53,8 @@
<div
class=
"w-full flex justify-end mb-1rem"
>
<div
class=
"w-full flex justify-end mb-1rem"
>
<div
class=
"absolute flex"
>
<div
class=
"absolute flex"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-indigo h-45px m-0 shadow-md"
(
click
)="
selectEmp_group
()"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-indigo h-45px m-0 shadow-md"
(
click
)="
selectEmp_group
()"
>
<i
class=
"ti ti-eraser text-base"
></i>
<i
class=
"ti ti-eraser text-base"
></i>
Clear
Clear
</button>
</button>
...
@@ -88,7 +90,7 @@
...
@@ -88,7 +90,7 @@
[
disabled
]="!
emp_group
.
select
.
groupId
||!
emp_group
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
[
disabled
]="!
emp_group
.
select
.
groupId
||!
emp_group
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
...
...
src/app/components/company-components/job-description/employee-group-unit/employee-group-unit.component.ts
View file @
e0532566
...
@@ -27,18 +27,18 @@ export class EmployeeGroupUnit implements OnInit {
...
@@ -27,18 +27,18 @@ export class EmployeeGroupUnit implements OnInit {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"groupId"
,
field
:
"groupId"
,
headerText
:
"
รหัสกลุ่มพนักงาน
"
,
headerText
:
"
EmployeeGroupCode
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียดกลุ่มพนักงาน (ไทย)
"
,
headerText
:
"
EmployeeGroupDescThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียดกลุ่มพนักงาน (อังกฤษ)
"
,
headerText
:
"
EmployeeGroupDescEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/job-description/employee-level/employee-level.component.html
View file @
e0532566
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<div
class=
"flex justify-end"
>
<div
class=
"flex justify-end"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Name"
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translate
"
[
(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,21 +16,21 @@
...
@@ -16,21 +16,21 @@
data-hs-overlay=
"#employee-level-upload-modal"
data-hs-overlay=
"#employee-level-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
data-hs-overlay=
"#employee-level-page-modal"
(
click
)="
currentModal=
'add'
;
selectPl
();
openDialog
()"
>
data-hs-overlay=
"#employee-level-page-modal"
(
click
)="
currentModal=
'add'
;
selectPl
();
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
href=
"javascript:void(0);"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
<button
href=
"javascript:void(0);"
class=
"ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
data-hs-overlay=
"#employee-level-page-alert-modal"
(
click
)="
currentModal=
'delete'
;
selectPl
();
deletePL
();"
>
data-hs-overlay=
"#employee-level-page-alert-modal"
(
click
)="
currentModal=
'delete'
;
selectPl
();
deletePL
();"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -39,7 +39,8 @@
...
@@ -39,7 +39,8 @@
<div
class=
"page px-rem"
>
<div
class=
"page px-rem"
>
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
pl
.
dataList
"
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
pl
.
dataList
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
(
sendSelectData
)="
currentModal=
'edit'
;
selectPl
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
(
sendSelectData
)="
currentModal=
'edit'
;
selectPl
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
</app-datagrid-syncfution>
</app-datagrid-syncfution>
</div>
</div>
...
@@ -67,9 +68,8 @@
...
@@ -67,9 +68,8 @@
</span>
</span>
</label>
</label>
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
<input
type=
"text"
id=
"input-label"
class=
"ti-form-input w-1/2"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[
class
.!
border-red
]="
currentModal=
='add'&&checkPrimary()"
[
ngClass
]="{'
bg-input-readonly
'
:currentModal=
='edit'}"
[
ngClass
]="{'
bg-input-readonly
'
:currentModal=
='edit'}"
[
readonly
]="
currentModal=
='edit'"
[
readonly
]="
currentModal=
='edit'"
[(
ngModel
)]="
pl
.
select
.
plId
"
>
[(
ngModel
)]="
pl
.
select
.
plId
"
>
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดระดับพนักงาน(JL) (ไทย)
<span
<label
for=
"detail_th"
class=
"ti-form-label mt-2rem"
>
รายละเอียดระดับพนักงาน(JL) (ไทย)
<span
class=
"text-danger"
>
*
</span></label>
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
pl
.
select
.
tdesc
"
>
<input
type=
"text"
id=
"detail_th"
class=
"ti-form-input h-16"
[(
ngModel
)]="
pl
.
select
.
tdesc
"
>
...
@@ -86,7 +86,7 @@
...
@@ -86,7 +86,7 @@
[
disabled
]="!
pl
.
select
.
plId
||!
pl
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
[
disabled
]="!
pl
.
select
.
plId
||!
pl
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
...
...
src/app/components/company-components/job-description/employee-level/employee-level.component.ts
View file @
e0532566
...
@@ -23,18 +23,18 @@ export class EmployeeLevel implements OnInit {
...
@@ -23,18 +23,18 @@ export class EmployeeLevel implements OnInit {
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"plId"
,
field
:
"plId"
,
headerText
:
"
รหัสระดับพนักงาน
"
,
headerText
:
"
JobLevelCode
"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียดระดับพนักงาน (ไทย)
"
,
headerText
:
"
JobLevelDescThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียดระดับพนักงาน (อังกฤษ)
"
,
headerText
:
"
JobLevelDescEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/company-components/job-description/job-description.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
</div>
</div>
<div
class=
"block-main-content"
>
<div
class=
"block-main-content"
>
<div
class=
"text-lg font-bold py-2 text-primary px-8"
>
<div
class=
"text-lg font-bold py-2 text-primary px-8"
>
ข้อมูลลักษณะงาน
{{'menu.JobDescription' | translate}}
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
<div
class=
"border-b border-gray-200 dark:border-white/10 px-8"
>
...
@@ -11,32 +11,32 @@
...
@@ -11,32 +11,32 @@
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold 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"
href=
"javascript:void(0);"
id=
"underline-item-1"
data-hs-tab=
"#underline-1"
aria-controls=
"underline-1"
aria-controls=
"underline-1"
(
click
)="
currentPath =
1;pathTitle
=
['
การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','กลุ่มพนักงาน
']"
>
(
click
)="
currentPath =
1;pathTitle
=
['
menu
.
Organization
','
menu
.
JobDescription
','
EmployeeGroup
']"
>
กลุ่มพนักงาน
{{'EmployeeGroup' | translate}}
</a>
</a>
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
href=
"javascript:void(0);"
id=
"underline-item-2"
data-hs-tab=
"#underline-2"
aria-controls=
"underline-2"
aria-controls=
"underline-2"
(
click
)="
currentPath =
2;pathTitle
=
['
การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','ตำเเหน่ง
']"
>
(
click
)="
currentPath =
2;pathTitle
=
['
menu
.
Organization
','
menu
.
JobDescription
','
Position
']"
>
ตำเเหน่ง
{{'Position' | translate}}
</a>
</a>
<!-- <a class="text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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="text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href="javascript:void(0);" id="underline-item-3" data-hs-tab="#underline-3"
href="javascript:void(0);" id="underline-item-3" data-hs-tab="#underline-3"
aria-controls="underline-3"
aria-controls="underline-3"
(click)="currentPath = 3;pathTitle = ['
การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน
','ลักษณะงาน']">
(click)="currentPath = 3;pathTitle = ['
menu.Organization','menu.JobDescription
','ลักษณะงาน']">
ลักษณะงาน
ลักษณะงาน
</a> -->
</a> -->
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-4"
data-hs-tab=
"#underline-4"
href=
"javascript:void(0);"
id=
"underline-item-4"
data-hs-tab=
"#underline-4"
aria-controls=
"underline-4"
aria-controls=
"underline-4"
(
click
)="
currentPath =
4;pathTitle
=
['
การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','ประเภทพนักงาน
']"
>
(
click
)="
currentPath =
4;pathTitle
=
['
menu
.
Organization
','
menu
.
JobDescription
','
EmploymentType
']"
>
ประเภทพนักงาน
{{'EmploymentType' | translate}}
</a>
</a>
<a
class=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 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=
"text-base font-medium hs-tab-active:text-lg hs-tab-active:font-bold hs-tab-active:border-secondary hs-tab-active:text-secondary pb-3 px-1 inline-flex items-center gap-2 border-b-[3px] border-transparent whitespace-nowrap text-gray-500 dark:text-white/70 hover:text-secondary"
href=
"javascript:void(0);"
id=
"underline-item-5"
data-hs-tab=
"#underline-5"
href=
"javascript:void(0);"
id=
"underline-item-5"
data-hs-tab=
"#underline-5"
aria-controls=
"underline-5"
aria-controls=
"underline-5"
(
click
)="
currentPath =
5;pathTitle
=
['
การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','ระดับพนักงาน
(
JL
)
']"
>
(
click
)="
currentPath =
5;pathTitle
=
['
menu
.
Organization
','
menu
.
JobDescription
','
JobLevelJL
']"
>
ระดับพนักงาน (JL)
{{'JobLevelJL' | translate}}
</a>
</a>
</nav>
</nav>
</div>
</div>
...
...
src/app/components/company-components/job-description/job-description.component.ts
View file @
e0532566
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
...
@@ -6,6 +6,6 @@ import { Component } from '@angular/core';
styleUrls
:
[
'./job-description.component.scss'
]
styleUrls
:
[
'./job-description.component.scss'
]
})
})
export
class
JobDescriptionComponent
{
export
class
JobDescriptionComponent
{
pathTitle
=
[
'
การจัดการข้อมูลองค์กร'
,
'ข้อมูลลักษณะงาน'
,
'กลุ่มพนักงาน
'
]
pathTitle
=
[
'
menu.Organization'
,
'menu.JobDescription'
,
'EmployeeGroup
'
]
currentPath
=
1
currentPath
=
1
}
}
src/app/components/company-components/job-description/position/position-unit.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -16,14 +16,15 @@
...
@@ -16,14 +16,15 @@
data-hs-overlay=
"#position-unit-component-upload-modal"
data-hs-overlay=
"#position-unit-component-upload-modal"
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
(
click
)="
fileInput
.
value =
''
;
selectedFile=
null;selectedFileName
=
'กรุณาเลือกไฟล์'"
>
<i
class=
"ti ti-file-plus"
></i>
<i
class=
"ti ti-file-plus"
></i>
import
{{'Import' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
<button
type=
"button"
class=
"ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
data-hs-overlay=
"#position-unit-component-page-modal"
(
click
)="
currentModal=
'add'
;
selectPosition
();
openDialog
()"
>
data-hs-overlay=
"#position-unit-component-page-modal"
(
click
)="
currentModal=
'add'
;
selectPosition
();
openDialog
()"
>
<i
class=
"ri-add-line"
></i>
<i
class=
"ri-add-line"
></i>
Add
{{'Add' | translate}}
</button>
</button>
</div>
</div>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
...
@@ -31,7 +32,7 @@
...
@@ -31,7 +32,7 @@
data-hs-overlay=
"#position-unit-component-page-alert-modal"
data-hs-overlay=
"#position-unit-component-page-alert-modal"
(
click
)="
currentModal=
'delete'
;
selectPosition
();
deletePosition
()"
>
(
click
)="
currentModal=
'delete'
;
selectPosition
();
deletePosition
()"
>
<i
class=
"ri-delete-bin-6-line"
></i>
<i
class=
"ri-delete-bin-6-line"
></i>
Delete
{{'Delete' | translate}}
</button>
</button>
</div>
</div>
</div>
</div>
...
@@ -40,7 +41,8 @@
...
@@ -40,7 +41,8 @@
<div
class=
"page px-rem"
>
<div
class=
"page px-rem"
>
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
position
.
dataList
"
<app-datagrid-syncfution
[
searchSettings
]="
searchSettings
"
[
searchText
]="
search
"
[
dataSource
]="
position
.
dataList
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
[
columns
]="
columns
"
[
selectedItems
]="
selectedItems
"
(
sendSelectData
)="
currentModal=
'edit'
;
selectPosition
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
(
sendSelectData
)="
currentModal=
'edit'
;
selectPosition
($
event
);
openDialog
()"
(
sendSelectedItems
)="
onSelectItemChange
($
event
)"
>
</app-datagrid-syncfution>
</app-datagrid-syncfution>
</div>
</div>
<ng-template
#
positionUnitModal
let-modal
>
<ng-template
#
positionUnitModal
let-modal
>
...
@@ -85,7 +87,7 @@
...
@@ -85,7 +87,7 @@
[
disabled
]="!
position
.
select
.
positionId
||!
position
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
[
disabled
]="!
position
.
select
.
positionId
||!
position
.
select
.
tdesc
||(
currentModal=
='add'&&checkPrimary())"
>
บันทึกข้อมูล
บันทึกข้อมูล
</button>
</button>
</mat-dialog-actions>
</mat-dialog-actions>
</ng-template>
</ng-template>
...
...
src/app/components/company-components/job-description/position/position-unit.component.ts
View file @
e0532566
...
@@ -18,19 +18,19 @@ export class PositionUnitComponent implements OnInit {
...
@@ -18,19 +18,19 @@ export class PositionUnitComponent implements OnInit {
position
:
{
loading
:
boolean
,
select
:
PositionModel
,
dataList
:
PositionModel
[]
}
=
{
loading
:
false
,
select
:
new
MyPositionModel
(),
dataList
:
[]
}
position
:
{
loading
:
boolean
,
select
:
PositionModel
,
dataList
:
PositionModel
[]
}
=
{
loading
:
false
,
select
:
new
MyPositionModel
(),
dataList
:
[]
}
columns
:
ColumnModel
[]
=
[{
columns
:
ColumnModel
[]
=
[{
field
:
"
positionId
"
,
field
:
"
PositionCode
"
,
headerText
:
"รหัสตำเเหน่ง"
,
headerText
:
"รหัสตำเเหน่ง"
,
type
:
"string"
,
type
:
"string"
,
isPrimaryKey
:
true
,
isPrimaryKey
:
true
,
},
},
{
{
field
:
"tdesc"
,
field
:
"tdesc"
,
headerText
:
"
รายละเอียดตำเเหน่ง (ไทย)
"
,
headerText
:
"
PositionDescThai
"
,
type
:
"string"
type
:
"string"
},
},
{
{
field
:
"edesc"
,
field
:
"edesc"
,
headerText
:
"
รายละเอียดตำเเหน่ง (อังกฤษ)
"
,
headerText
:
"
PositionDescEng
"
,
type
:
"string"
type
:
"string"
}]
}]
searchSettings
=
{
searchSettings
=
{
...
...
src/app/components/competency-assessment/competency-evaluation-factors/competency-define-evaluation-factors/competency-define-evaluation-factors.component.html
View file @
e0532566
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/competency-management/group-competencies/edit-group-competencies/edit-group-competencies.component.html
View file @
e0532566
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
searchModal
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
searchModal
"
(
ngModelChange
)="
searchModalChange
()"
>
(
ngModelChange
)="
searchModalChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/competency-management/group-competencies/group-competencies.component.html
View file @
e0532566
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/edit-group-indicators/edit-group-indicators.component.html
View file @
e0532566
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
searchModal
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
searchModal
"
(
ngModelChange
)="
assessmentToolsModalSearchChange
()"
>
(
ngModelChange
)="
assessmentToolsModalSearchChange
()"
>
<div
<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"
>
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"
>
...
@@ -360,7 +360,7 @@
...
@@ -360,7 +360,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
searchModal
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
searchModal
"
(
ngModelChange
)="
curriculumModalSearchChange
()"
>
(
ngModelChange
)="
curriculumModalSearchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/competency-management/indicators-and-curriculum/indicators-and-curriculum.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"flex justify-end"
>
<div
class=
"flex justify-end"
>
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/competency-management/set-approvers/set-approvers.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<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"
>
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"
>
...
@@ -181,7 +181,7 @@
...
@@ -181,7 +181,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchEMP
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchEMP
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/course-registration/development-course/development-course.component.html
View file @
e0532566
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/define-document-form/define-document-form.component.html
View file @
e0532566
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/evaluation-cycle-manager/evaluation-cycle/evaluation-cycle.component.html
View file @
e0532566
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
@@ -194,7 +194,7 @@
...
@@ -194,7 +194,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
PLsearchmodal
.
search
"
(
ngModelChange
)="
onPLModalSearchChange
()"
>
[(
ngModel
)]="
PLsearchmodal
.
search
"
(
ngModelChange
)="
onPLModalSearchChange
()"
>
<div
<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"
>
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"
>
...
@@ -679,7 +679,7 @@
...
@@ -679,7 +679,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search by No. or Nam
e" [(ngModel)]="modal.search"
[placeholder]="'SearchByNoOrName' | translat
e" [(ngModel)]="modal.search"
(ngModelChange)="searchModalChange(plListFilter())">
(ngModelChange)="searchModalChange(plListFilter())">
<div
<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">
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">
...
...
src/app/components/competency-assessment/grade-registration/grade-management/grade-management.component.html
View file @
e0532566
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/grade-registration/grade-management/sub-grade-registration/sub-grade-registration.component.html
View file @
e0532566
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/idp-development-plan/set-idp-development-plan/set-idp-development-plan.component.html
View file @
e0532566
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<!-- <div class="px-1">
<!-- <div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
<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 Nam
e" style="height: 40px;">
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[placeholder]="'SearchByNoOrName' | translat
e" style="height: 40px;">
<div
<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">
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>
<i class="ri-search-line text-gray"></i>
...
...
src/app/components/competency-assessment/name-registration/competency-topic/competency-topic.component.html
View file @
e0532566
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
<div
<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"
>
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"
>
...
@@ -151,7 +151,7 @@
...
@@ -151,7 +151,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
typeModal
.
search
"
(
ngModelChange
)="
searchCompetencytypeChange
()"
>
[(
ngModel
)]="
typeModal
.
search
"
(
ngModelChange
)="
searchCompetencytypeChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/name-registration/type-registration/type-registration.component.html
View file @
e0532566
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
<div
<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"
>
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"
>
...
...
src/app/components/competency-assessment/tool-register/assessment-tool/assessment-tool.component.html
View file @
e0532566
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
<div
<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"
>
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"
>
...
...
src/app/components/dashboard/dashboard-routing.module.ts
View file @
e0532566
...
@@ -85,7 +85,7 @@ const routes: Routes = [
...
@@ -85,7 +85,7 @@ const routes: Routes = [
{
path
:
"ess/self-evaluation"
,
title
:
'ประเมินตนเอง'
,
component
:
SelfEvaluationComponent
},
{
path
:
"ess/self-evaluation"
,
title
:
'ประเมินตนเอง'
,
component
:
SelfEvaluationComponent
},
{
path
:
"ess/self-evaluation/:part"
,
title
:
'ประเมินตนเอง'
,
component
:
SelfEvaluationComponent
},
{
path
:
"ess/self-evaluation/:part"
,
title
:
'ประเมินตนเอง'
,
component
:
SelfEvaluationComponent
},
{
path
:
"admin/day-type-registry"
,
title
:
'ประเมินตนเอง'
,
component
:
DayTypeRegistryComponent
},
{
path
:
"admin/day-type-registry"
,
title
:
'ประเมินตนเอง'
,
component
:
DayTypeRegistryComponent
},
{
path
:
"admin/company-registration"
,
title
:
'
ทะเบียนบริษัท
'
,
component
:
CompanyRegistrationComponent
},
{
path
:
"admin/company-registration"
,
title
:
'
menu.Company
'
,
component
:
CompanyRegistrationComponent
},
{
path
:
"admin/job-description"
,
title
:
'ข้อมูลลักษณะงาน'
,
component
:
JobDescriptionComponent
},
{
path
:
"admin/job-description"
,
title
:
'ข้อมูลลักษณะงาน'
,
component
:
JobDescriptionComponent
},
{
path
:
"admin/account-settings"
,
title
:
'ตั้งค่าผู้ใช้งาน'
,
component
:
AccountSettingsComponent
},
{
path
:
"admin/account-settings"
,
title
:
'ตั้งค่าผู้ใช้งาน'
,
component
:
AccountSettingsComponent
},
{
path
:
"admin/name-registration"
,
title
:
'ทะเบียนกำหนดชื่อ'
,
component
:
NameRegistrationComponent
},
{
path
:
"admin/name-registration"
,
title
:
'ทะเบียนกำหนดชื่อ'
,
component
:
NameRegistrationComponent
},
...
...
src/app/components/datagrid-syncfution/datagrid-syncfution.component.ts
View file @
e0532566
...
@@ -36,52 +36,12 @@ import {
...
@@ -36,52 +36,12 @@ import {
}
from
'@syncfusion/ej2-angular-grids'
;
}
from
'@syncfusion/ej2-angular-grids'
;
import
{
GroupSettingsModel
,
FilterSettingsModel
,
ColumnModel
}
from
'@syncfusion/ej2-angular-grids'
;
import
{
GroupSettingsModel
,
FilterSettingsModel
,
ColumnModel
}
from
'@syncfusion/ej2-angular-grids'
;
import
{
DataManager
,
Query
}
from
'@syncfusion/ej2-data'
;
import
{
DataManager
,
Query
}
from
'@syncfusion/ej2-data'
;
import
{
L10n
,
setCulture
}
from
'@syncfusion/ej2-base'
;
import
{
setCulture
}
from
'@syncfusion/ej2-base'
;
import
{
Status
}
from
'../../shared/model/evaluation-form.modal'
;
import
{
Status
}
from
'../../shared/model/evaluation-form.modal'
;
import
{
FileService
}
from
'src/app/shared/services/file.service'
;
import
{
FileService
}
from
'src/app/shared/services/file.service'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
L10n
.
load
({
'en-US'
:
{
'pager'
:
{
'currentPageInfo'
:
''
,
'totalItemsInfo'
:
'{1} to {2} of {0}'
,
},
'grid'
:
{
'pagerInfo'
:
'Total {0} items'
,
'pageCountMsg'
:
'Total {0} items'
}
},
'th-TH'
:
{
'grid'
:
{
'EmptyRecord'
:
'ไม่มีข้อมูลที่จะแสดง'
,
'Item'
:
'1 รายการ'
,
'Items'
:
'{0} รายการ'
},
'pager'
:
{
'All'
:
'ทั้งหมด'
,
'pagerAllDropDown'
:
'รายการ'
,
'currentPageInfo'
:
''
,
'totalItemsInfo'
:
'{0} รายการ'
,
'totalItemInfo'
:
'{0} รายการ'
,
'totalRecordsInfo'
:
'{0} รายการ'
,
'firstPageTooltip'
:
'หน้าแรก'
,
'lastPageTooltip'
:
'หน้าสุดท้าย'
,
'nextPageTooltip'
:
'ถัดไป'
,
'previousPageTooltip'
:
'ก่อนหน้า'
,
'nextPagerTooltip'
:
'ถัดไป'
,
'previousPagerTooltip'
:
'ก่อนหน้า'
,
'pageInput'
:
'{0}'
,
'page'
:
'หน้า'
,
'pagerDropDown'
:
'รายการ'
,
'pagerAll'
:
'ทั้งหมด'
,
'pageSize'
:
'รายการต่อหน้า'
,
'pageSizeAll'
:
'ทั้งหมด'
,
'pageCount'
:
'จำนวนหน้า'
,
'pageCountAll'
:
'ทั้งหมด'
}
}
});
@
Component
({
@
Component
({
selector
:
'app-datagrid-syncfution'
,
selector
:
'app-datagrid-syncfution'
,
templateUrl
:
'./datagrid-syncfution.component.html'
,
templateUrl
:
'./datagrid-syncfution.component.html'
,
...
@@ -177,6 +137,7 @@ export class DatagridSyncfutionComponent implements OnInit {
...
@@ -177,6 +137,7 @@ export class DatagridSyncfutionComponent implements OnInit {
private
fileService
:
FileService
,
private
fileService
:
FileService
,
private
translateService
:
TranslateService
,
private
translateService
:
TranslateService
,
)
{
)
{
this
.
locale
=
this
.
translateService
.
getCurrentLang
()
==
'th'
?
'th-TH'
:
'en-US'
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
// this.query = new Query().addParams('dataCount', '1000');
// this.query = new Query().addParams('dataCount', '1000');
...
@@ -186,10 +147,8 @@ export class DatagridSyncfutionComponent implements OnInit {
...
@@ -186,10 +147,8 @@ export class DatagridSyncfutionComponent implements OnInit {
this
.
toolbarOptions
=
[
this
.
toolbarOptions
=
[
{
text
:
this
.
translateService
.
instant
(
'Print'
),
prefixIcon
:
'e-print'
,
id
:
'Print'
},
{
text
:
this
.
translateService
.
instant
(
'Print'
),
prefixIcon
:
'e-print'
,
id
:
'Print'
},
{
text
:
this
.
translateService
.
instant
(
'ExcelExport'
),
prefixIcon
:
'e-excelexport'
,
id
:
'ExcelExport'
},
{
text
:
this
.
translateService
.
instant
(
'ExcelExport'
),
prefixIcon
:
'e-excelexport'
,
id
:
'ExcelExport'
},
{
text
:
this
.
translateService
.
instant
(
'C
sv
Export'
),
prefixIcon
:
'e-csvexport'
,
id
:
'CsvExport'
}
{
text
:
this
.
translateService
.
instant
(
'C
SV
Export'
),
prefixIcon
:
'e-csvexport'
,
id
:
'CsvExport'
}
];
];
// setCulture('en-US');
// setCulture('th-TH');
this
.
translateService
.
onLangChange
.
subscribe
((
event
)
=>
{
this
.
translateService
.
onLangChange
.
subscribe
((
event
)
=>
{
if
(
event
.
lang
===
'th'
)
{
if
(
event
.
lang
===
'th'
)
{
setCulture
(
'th-TH'
);
setCulture
(
'th-TH'
);
...
@@ -201,7 +160,7 @@ export class DatagridSyncfutionComponent implements OnInit {
...
@@ -201,7 +160,7 @@ export class DatagridSyncfutionComponent implements OnInit {
this
.
toolbarOptions
=
[
this
.
toolbarOptions
=
[
{
text
:
this
.
translateService
.
instant
(
'Print'
),
prefixIcon
:
'e-print'
,
id
:
'Print'
},
{
text
:
this
.
translateService
.
instant
(
'Print'
),
prefixIcon
:
'e-print'
,
id
:
'Print'
},
{
text
:
this
.
translateService
.
instant
(
'ExcelExport'
),
prefixIcon
:
'e-excelexport'
,
id
:
'ExcelExport'
},
{
text
:
this
.
translateService
.
instant
(
'ExcelExport'
),
prefixIcon
:
'e-excelexport'
,
id
:
'ExcelExport'
},
{
text
:
this
.
translateService
.
instant
(
'C
sv
Export'
),
prefixIcon
:
'e-csvexport'
,
id
:
'CsvExport'
}
{
text
:
this
.
translateService
.
instant
(
'C
SV
Export'
),
prefixIcon
:
'e-csvexport'
,
id
:
'CsvExport'
}
];
];
});
});
...
...
src/app/components/excel-report/excel-report.component.html
View file @
e0532566
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
searchModal
"
(
ngModelChange
)="
currentPage=
1"
>
[(
ngModel
)]="
searchModal
"
(
ngModelChange
)="
currentPage=
1"
>
<div
<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"
>
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"
>
...
...
src/app/components/job-detail-components/command-structure/sub-command-structure/sub-command-structure.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<div
...
...
src/app/components/job-detail-components/job-competency/sub-job-competency/sub-job-competency.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
...
src/app/components/job-detail-components/job-detail-management/import-data/import-data.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
...
src/app/components/job-detail-components/job-detail/work-detail/work-detail.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
...
src/app/components/job-detail-components/job-position-indicators/sub-job-position-indicators/sub-job-position-indicators.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
...
src/app/components/job-detail-components/job-qualifications/sub-job-qualifications/sub-job-qualifications.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
...
src/app/components/page/mail/chat/chat.component.html
View file @
e0532566
...
@@ -1536,7 +1536,7 @@
...
@@ -1536,7 +1536,7 @@
<input
<input
type=
"search"
[
class
.
active
]="
isActive
"
type=
"search"
[
class
.
active
]="
isActive
"
class=
"search-chat-input focus-visible:outline-0 border-0 focus:border-0 focus:shadow-none focus:ring-0 bg-transparent py-0 leading-[0]"
class=
"search-chat-input focus-visible:outline-0 border-0 focus:border-0 focus:shadow-none focus:ring-0 bg-transparent py-0 leading-[0]"
placeholder=
"Search by No. or Nam
e"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
/>
/>
<i
(
click
)="
searchclick
()"
class=
"text-base leading-none ti ti-search"
></i>
<i
(
click
)="
searchclick
()"
class=
"text-base leading-none ti ti-search"
></i>
</div>
</div>
...
...
src/app/components/page/mail/mail.module.ts
View file @
e0532566
...
@@ -9,6 +9,7 @@ import { SharedModule } from 'src/app/shared/sharedmodule';
...
@@ -9,6 +9,7 @@ import { SharedModule } from 'src/app/shared/sharedmodule';
import
{
NgSelectModule
}
from
'@ng-select/ng-select'
;
import
{
NgSelectModule
}
from
'@ng-select/ng-select'
;
import
{
SwiperModule
}
from
'swiper/angular'
;
import
{
SwiperModule
}
from
'swiper/angular'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
TranslateModule
}
from
'@ngx-translate/core'
;
@
NgModule
({
@
NgModule
({
declarations
:
[
declarations
:
[
...
@@ -17,6 +18,7 @@ import { FormsModule } from '@angular/forms';
...
@@ -17,6 +18,7 @@ import { FormsModule } from '@angular/forms';
MailSettingsComponent
MailSettingsComponent
],
],
imports
:
[
imports
:
[
TranslateModule
,
CommonModule
,
CommonModule
,
MailRoutingModule
,
MailRoutingModule
,
SharedModule
,
SharedModule
,
...
...
src/app/components/performance-evaluation/pms-form-employee/pms-idp/pms-idp.component.html
View file @
e0532566
...
@@ -398,7 +398,7 @@
...
@@ -398,7 +398,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
competencycourseTable
.
search
"
(
ngModelChange
)="
onCompetencycourseSearch
()"
>
[(
ngModel
)]="
competencycourseTable
.
search
"
(
ngModelChange
)="
onCompetencycourseSearch
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-evaluation/supervisor-evaluation/supervisor-evaluation.component.html
View file @
e0532566
...
@@ -170,7 +170,7 @@
...
@@ -170,7 +170,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchDataGrid
(
search
)"
>
(
ngModelChange
)="
searchDataGrid
(
search
)"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-evaluation/supervisor-evaluation/supervisor-evaluation.component.ts
View file @
e0532566
...
@@ -44,43 +44,6 @@ import { GroupSettingsModel, FilterSettingsModel, ColumnModel } from '@syncfusio
...
@@ -44,43 +44,6 @@ import { GroupSettingsModel, FilterSettingsModel, ColumnModel } from '@syncfusio
import
{
DataManager
,
Query
}
from
'@syncfusion/ej2-data'
;
import
{
DataManager
,
Query
}
from
'@syncfusion/ej2-data'
;
import
{
L10n
,
setCulture
}
from
'@syncfusion/ej2-base'
;
import
{
L10n
,
setCulture
}
from
'@syncfusion/ej2-base'
;
setCulture
(
'th-TH'
);
setCulture
(
'th-TH'
);
L10n
.
load
({
'en-US'
:
{
'pager'
:
{
'currentPageInfo'
:
''
,
'totalItemsInfo'
:
'{1} to {2} of {0}'
,
}
},
'th-TH'
:
{
'grid'
:
{
'EmptyRecord'
:
'ไม่มีข้อมูลที่จะแสดง'
,
'Item'
:
'1 รายการ'
,
'Items'
:
'{0} รายการ'
},
'pager'
:
{
'All'
:
'ทั้งหมด'
,
'pagerAllDropDown'
:
'รายการ'
,
'currentPageInfo'
:
''
,
'totalItemsInfo'
:
'{0} รายการ'
,
'totalItemInfo'
:
'{0} รายการ'
,
'totalRecordsInfo'
:
'{0} รายการ'
,
'firstPageTooltip'
:
'หน้าแรก'
,
'lastPageTooltip'
:
'หน้าสุดท้าย'
,
'nextPageTooltip'
:
'ถัดไป'
,
'previousPageTooltip'
:
'ก่อนหน้า'
,
'nextPagerTooltip'
:
'ถัดไป'
,
'previousPagerTooltip'
:
'ก่อนหน้า'
,
'pageInput'
:
'{0}'
,
'page'
:
'หน้า'
,
'pagerDropDown'
:
'รายการ'
,
'pagerAll'
:
'ทั้งหมด'
,
'pageSize'
:
'รายการต่อหน้า'
,
'pageSizeAll'
:
'ทั้งหมด'
,
'pageCount'
:
'จำนวนหน้า'
,
'pageCountAll'
:
'ทั้งหมด'
}
}
});
@
Component
({
@
Component
({
selector
:
'app-supervisor-evaluation'
,
selector
:
'app-supervisor-evaluation'
,
templateUrl
:
'./supervisor-evaluation.component.html'
,
templateUrl
:
'./supervisor-evaluation.component.html'
,
...
...
src/app/components/performance-management-evaluation/assessment-management/assigning-approvers/assigning-approvers.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchEMP
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchEMP
()"
>
<div
<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"
>
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"
>
...
@@ -286,7 +286,7 @@
...
@@ -286,7 +286,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
employeeModal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
employeeModal
.
search
"
(
ngModelChange
)="
searchEMP
()"
>
(
ngModelChange
)="
searchEMP
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/assessment-management/evaluation-grouping/edit-evaluation-grouping/edit-evaluation-grouping.component.html
View file @
e0532566
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
@@ -233,7 +233,7 @@
...
@@ -233,7 +233,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
modal
.
search
"
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modal
.
search
"
(
ngModelChange
)="
searchModalChange
(
pmstopicListFilter
())"
>
(
ngModelChange
)="
searchModalChange
(
pmstopicListFilter
())"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/assessment-management/evaluation-grouping/evaluation-grouping.component.html
View file @
e0532566
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/document-form/document-form.component.html
View file @
e0532566
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/evaluation-cycle-performance/management-evaluation-cycle/management-evaluation-cycle.component.html
View file @
e0532566
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
<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 Nam
e"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[placeholder]="'SearchByNoOrName' | translat
e"
style="height: 40px;" [(ngModel)]="search">
style="height: 40px;" [(ngModel)]="search">
<div
<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">
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">
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -216,7 +216,7 @@
...
@@ -216,7 +216,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
PLsearchmodal
.
search
"
(
ngModelChange
)="
onPLModalSearchChange
()"
>
[(
ngModel
)]="
PLsearchmodal
.
search
"
(
ngModelChange
)="
onPLModalSearchChange
()"
>
<div
<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"
>
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"
>
...
@@ -660,7 +660,7 @@
...
@@ -660,7 +660,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search by No. or Nam
e" [(ngModel)]="modal.search"
[placeholder]="'SearchByNoOrName' | translat
e" [(ngModel)]="modal.search"
(ngModelChange)="searchModalChange(plListFilter())">
(ngModelChange)="searchModalChange(plListFilter())">
<div
<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">
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">
...
...
src/app/components/performance-management-evaluation/evaluation-factors/define-evaluation-factors/define-evaluation-factors.component.html
View file @
e0532566
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/name-registration-perfomance/assessment-topics/assessment-topics.component.html
View file @
e0532566
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
<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 Nam
e"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[placeholder]="'SearchByNoOrName' | translat
e"
[(ngModel)]="search" (ngModelChange)="searchChange()" style="height: 40px;">
[(ngModel)]="search" (ngModelChange)="searchChange()" style="height: 40px;">
<div
<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">
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">
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -292,7 +292,7 @@
...
@@ -292,7 +292,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
pmstypemodal
.
search
"
(
ngModelChange
)="
modalSearchChange
(
pmstypeListFilter
())"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
pmstypemodal
.
search
"
(
ngModelChange
)="
modalSearchChange
(
pmstypeListFilter
())"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -407,7 +407,7 @@
...
@@ -407,7 +407,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
<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 Nam
e"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[placeholder]="'SearchByNoOrName' | translat
e"
[(ngModel)]="modal.search" (ngModelChange)="modalSearchChange(pmstypeListFilter())">
[(ngModel)]="modal.search" (ngModelChange)="modalSearchChange(pmstypeListFilter())">
<div
<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">
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">
...
...
src/app/components/performance-management-evaluation/name-registration-perfomance/assessment-types/assessment-types.component.html
View file @
e0532566
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
[(
ngModel
)]="
search
"
style=
"height: 40px;"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/pms-grade-registration/pms-grade-management/pms-grade-management.component.html
View file @
e0532566
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/pms-grade-registration/pms-grade-management/pms-sub-grade-registration/pms-sub-grade-registration.component.html
View file @
e0532566
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
style=
"height: 40px;"
[(
ngModel
)]="
search
"
(
ngModelChange
)="
searchChange
()"
>
<div
<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"
>
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"
>
...
...
src/app/components/performance-management-evaluation/time-attendance/time-attendance-manage/time-attendance-manage.component.html
View file @
e0532566
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search by No. or Nam
e" style="height: 40px;" [(ngModel)]="search"
[placeholder]="'SearchByNoOrName' | translat
e" style="height: 40px;" [(ngModel)]="search"
>
>
<div
<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">
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">
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
[(
ngModel
)]="
search
"
>
<div
<div
...
@@ -388,7 +388,7 @@
...
@@ -388,7 +388,7 @@
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
eventgrpmodal
.
search
"
(
ngModelChange
)="
oneventgrpModalSearchChange
()"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
eventgrpmodal
.
search
"
(
ngModelChange
)="
oneventgrpModalSearchChange
()"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
@@ -754,7 +754,7 @@
...
@@ -754,7 +754,7 @@
<div class="px-1">
<div class="px-1">
<div class="relative shadow-md">
<div class="relative shadow-md">
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search by No. or Nam
e" [(ngModel)]="modal.search"
[placeholder]="'SearchByNoOrName' | translat
e" [(ngModel)]="modal.search"
(ngModelChange)="modalSearchChange(eventgrpListFilter())">
(ngModelChange)="modalSearchChange(eventgrpListFilter())">
<div
<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">
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">
...
...
src/app/components/setting-individual-kpi-supervisor/setting-individual-kpi-supervisor.component.html
View file @
e0532566
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
<input
type=
"text"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder=
"Search by No. or Nam
e"
[(
ngModel
)]="
search
"
>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
search
"
>
<div
<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"
>
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>
<i
class=
"ri-search-line text-gray"
></i>
...
...
src/app/components/setting-individual-kpi/setting-individual-kpi.component.html
View file @
e0532566
...
@@ -397,7 +397,7 @@
...
@@ -397,7 +397,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modalData
.
search
"
>
[(
ngModel
)]="
modalData
.
search
"
>
<div
<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"
>
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"
>
...
@@ -555,7 +555,7 @@
...
@@ -555,7 +555,7 @@
<div
class=
"px-1"
>
<div
class=
"px-1"
>
<div
class=
"relative shadow-md"
>
<div
class=
"relative shadow-md"
>
<input
type=
"text"
id=
"hs-leading-icon"
name=
"hs-leading-icon"
<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 Nam
e"
class=
"ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
[(
ngModel
)]="
modalData
.
search
"
>
[(
ngModel
)]="
modalData
.
search
"
>
<div
<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"
>
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"
>
...
...
src/app/shared/components/header/header.component.html
View file @
e0532566
...
@@ -56,9 +56,9 @@
...
@@ -56,9 +56,9 @@
<button
id=
"dropdown-flag"
type=
"button"
<button
id=
"dropdown-flag"
type=
"button"
class=
"hs-dropdown-toggle ti-dropdown-toggle p-0 flex-shrink-0 h-[2.375rem] w-[2.375rem] border-0 rounded-full shadow-none focus:ring-gray-400 text-xs dark:focus:ring-white/10"
>
class=
"hs-dropdown-toggle ti-dropdown-toggle p-0 flex-shrink-0 h-[2.375rem] w-[2.375rem] border-0 rounded-full shadow-none focus:ring-gray-400 text-xs dark:focus:ring-white/10"
>
<i
class=
"flag-icon flag-icon-active flag-icon-th h-[1.375rem] w-[1.375rem]"
<i
class=
"flag-icon flag-icon-active flag-icon-th h-[1.375rem] w-[1.375rem]"
[
class
.
active
]="
translat
ion
Service
.
getCurrentLang
()=='
th
'"
></i>
[
class
.
active
]="
translat
e
Service
.
getCurrentLang
()=='
th
'"
></i>
<i
class=
"flag-icon flag-icon-active flag-icon-us h-[1.375rem] w-[1.375rem]"
<i
class=
"flag-icon flag-icon-active flag-icon-us h-[1.375rem] w-[1.375rem]"
[
class
.
active
]="
translat
ion
Service
.
getCurrentLang
()=='
en
'"
></i>
[
class
.
active
]="
translat
e
Service
.
getCurrentLang
()=='
en
'"
></i>
</button>
</button>
<div
class=
"hs-dropdown-menu ti-dropdown-menu min-w-[10rem]"
aria-labelledby=
"dropdown-flag"
>
<div
class=
"hs-dropdown-menu ti-dropdown-menu min-w-[10rem]"
aria-labelledby=
"dropdown-flag"
>
<div
class=
"ti-dropdown-divider divide-y divide-gray-200 dark:divide-white/10"
>
<div
class=
"ti-dropdown-divider divide-y divide-gray-200 dark:divide-white/10"
>
...
@@ -770,7 +770,7 @@
...
@@ -770,7 +770,7 @@
<i
class=
"ri ri-search-2-line search-btn-icon"
></i>
<i
class=
"ri ri-search-2-line search-btn-icon"
></i>
</div>
</div>
<input
type=
"text"
id=
"icon"
name=
"icon"
class=
"py-2 ltr:pl-11 rtl:pr-11 ti-form-input focus:z-10"
<input
type=
"text"
id=
"icon"
name=
"icon"
class=
"py-2 ltr:pl-11 rtl:pr-11 ti-form-input focus:z-10"
placeholder=
"Search by No. or Nam
e"
/>
[
placeholder
]="'
SearchByNoOrName
'
|
translat
e
"
/>
<div
class=
"voice-search"
>
<div
class=
"voice-search"
>
<i
class=
"ri ri-mic-2-line voice-btn-icon"
></i>
<i
class=
"ri ri-mic-2-line voice-btn-icon"
></i>
</div>
</div>
...
...
src/app/shared/components/header/header.component.ts
View file @
e0532566
...
@@ -9,7 +9,7 @@ import { ActivatedRoute, Router } from '@angular/router';
...
@@ -9,7 +9,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import
{
environment
}
from
'src/environments/environment'
;
import
{
environment
}
from
'src/environments/environment'
;
import
{
HttpClient
}
from
'@angular/common/http'
;
import
{
HttpClient
}
from
'@angular/common/http'
;
import
{
FileService
}
from
'../../services/file.service'
;
import
{
FileService
}
from
'../../services/file.service'
;
import
{
Translat
ionService
}
from
'../../services/translation.servic
e'
;
import
{
Translat
eService
}
from
'@ngx-translate/cor
e'
;
@
Component
({
@
Component
({
selector
:
'app-header'
,
selector
:
'app-header'
,
...
@@ -29,11 +29,13 @@ export class HeaderComponent {
...
@@ -29,11 +29,13 @@ export class HeaderComponent {
private
fileService
:
FileService
,
private
fileService
:
FileService
,
private
navService
:
NavService
,
private
navService
:
NavService
,
private
http
:
HttpClient
,
private
http
:
HttpClient
,
public
translat
ionService
:
Translation
Service
)
{
public
translat
eService
:
Translate
Service
)
{
this
.
getEvaluatee
();
this
.
getEvaluatee
();
const
lang
=
localStorage
.
getItem
(
'Lang'
)
??
(()
=>
{
this
.
translationService
.
setDefaultLang
(
'th'
);
localStorage
.
setItem
(
'Lang'
,
'th'
);
this
.
translationService
.
useLang
(
'th'
);
return
'th'
;
})();
this
.
translateService
.
use
(
lang
);
}
}
imageUrl
=
''
imageUrl
=
''
...
@@ -170,6 +172,7 @@ export class HeaderComponent {
...
@@ -170,6 +172,7 @@ export class HeaderComponent {
}
}
switchLang
(
lang
:
string
)
{
switchLang
(
lang
:
string
)
{
this
.
translationService
.
useLang
(
lang
);
localStorage
.
setItem
(
'Lang'
,
lang
);
this
.
translateService
.
use
(
lang
);
}
}
}
}
src/app/shared/components/page-header/page-header.component.html
View file @
e0532566
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<ol
class=
"flex items-center whitespace-nowrap min-w-0"
>
<ol
class=
"flex items-center whitespace-nowrap min-w-0"
>
<li
class=
"text-sm"
*
ngFor=
"let item of pathTitle;let l = last"
>
<li
class=
"text-sm"
*
ngFor=
"let item of pathTitle;let l = last"
>
<a
class=
"flex items-center text-gray-500 hover:text-primary dark:text-white"
href=
"javascript:void(0);"
>
<a
class=
"flex items-center text-gray-500 hover:text-primary dark:text-white"
href=
"javascript:void(0);"
>
{{item}}
{{item
| translate
}}
<svg
*
ngIf=
"!l"
<svg
*
ngIf=
"!l"
class=
"flex-shrink-0 mx-3 overflow-visible h-2.5 w-2.5 text-gray-300 dark:text-white/10 rtl:rotate-180"
class=
"flex-shrink-0 mx-3 overflow-visible h-2.5 w-2.5 text-gray-300 dark:text-white/10 rtl:rotate-180"
width=
"16"
height=
"16"
viewBox=
"0 0 16 16"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
width=
"16"
height=
"16"
viewBox=
"0 0 16 16"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
...
@@ -26,20 +26,20 @@
...
@@ -26,20 +26,20 @@
<!-- Page Header Original -->
<!-- Page Header Original -->
<div
class=
"block justify-between page-header sm:flex"
>
<div
class=
"block justify-between page-header sm:flex"
>
<div>
<div>
<h3
class=
"text-gray-700 hover:text-gray-900 dark:text-white dark:hover:text-white text-2xl font-medium"
>
{{title}}
<h3
class=
"text-gray-700 hover:text-gray-900 dark:text-white dark:hover:text-white text-2xl font-medium"
>
{{title
| translate
}}
</h3>
</h3>
</div>
</div>
<ol
class=
"flex items-center whitespace-nowrap min-w-0"
>
<ol
class=
"flex items-center whitespace-nowrap min-w-0"
>
<li
class=
"text-sm"
>
<li
class=
"text-sm"
>
<a
class=
"flex items-center font-semibold text-primary hover:text-primary dark:text-primary truncate"
<a
class=
"flex items-center font-semibold text-primary hover:text-primary dark:text-primary truncate"
href=
"javascript:void(0);"
>
href=
"javascript:void(0);"
>
{{activeitem}}
{{activeitem
| translate
}}
<i
<i
class=
"ti ti-chevrons-right flex-shrink-0 mx-3 overflow-visible text-gray-300 dark:text-gray-300 rtl:rotate-180"
></i>
class=
"ti ti-chevrons-right flex-shrink-0 mx-3 overflow-visible text-gray-300 dark:text-gray-300 rtl:rotate-180"
></i>
</a>
</a>
</li>
</li>
<li
class=
"text-sm text-gray-500 hover:text-primary dark:text-white/70 "
aria-current=
"page"
>
<li
class=
"text-sm text-gray-500 hover:text-primary dark:text-white/70 "
aria-current=
"page"
>
{{title1}}
{{title1
| translate
}}
</li>
</li>
</ol>
</ol>
</div>
</div>
...
...
src/app/shared/services/navservice.ts
View file @
e0532566
...
@@ -189,7 +189,7 @@ export class NavService implements OnDestroy {
...
@@ -189,7 +189,7 @@ export class NavService implements OnDestroy {
],
],
},
},
{
{
title
:
'
จัดการรายละเอียดงาน
'
,
title
:
'
menu.JobDescriptionJD
'
,
type
:
'sub'
,
type
:
'sub'
,
selected
:
false
,
selected
:
false
,
active
:
false
,
active
:
false
,
...
@@ -198,12 +198,12 @@ export class NavService implements OnDestroy {
...
@@ -198,12 +198,12 @@ export class NavService implements OnDestroy {
show
:
true
,
show
:
true
,
icon
:
'assets/img/icons-menu/job-detail-management.png'
,
icon
:
'assets/img/icons-menu/job-detail-management.png'
,
children
:
[
children
:
[
{
id
:
'm31'
,
path
:
'admin/job-detail-management'
,
title
:
'
ข้อมูลทั่วไป
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm31'
,
path
:
'admin/job-detail-management'
,
title
:
'
menu.GeneralInformation
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm32'
,
path
:
'admin/command-structure'
,
title
:
'
โครงสร้างสายการบังคับบัญชา
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm32'
,
path
:
'admin/command-structure'
,
title
:
'
menu.OrganizationChart
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm33'
,
path
:
'admin/job-detail'
,
title
:
'
รายละเอียดของงาน
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm33'
,
path
:
'admin/job-detail'
,
title
:
'
menu.JobDetail
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm34'
,
path
:
'admin/job-qualifications'
,
title
:
'
คุณสมบัติที่จำเป็น
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm34'
,
path
:
'admin/job-qualifications'
,
title
:
'
menu.JobSpecification
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm35'
,
path
:
'admin/job-competency'
,
title
:
'
ความสามารถในตำเเหน่งงาน
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm35'
,
path
:
'admin/job-competency'
,
title
:
'
menu.JobCompetency
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm36'
,
path
:
'admin/job-position-indicators'
,
title
:
'
ตัวชี้วัดของตำแหน่งงาน
'
,
type
:
'link'
,
show
:
true
},
{
id
:
'm36'
,
path
:
'admin/job-position-indicators'
,
title
:
'
menu.KeyPerformanceIndicators
'
,
type
:
'link'
,
show
:
true
},
],
],
},
},
...
...
src/app/shared/services/translation.service.ts
deleted
100644 → 0
View file @
1de53efd
import
{
Injectable
}
from
'@angular/core'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
@
Injectable
({
providedIn
:
'root'
})
export
class
TranslationService
{
constructor
(
private
translate
:
TranslateService
)
{
}
setDefaultLang
(
lang
:
string
)
{
this
.
translate
.
setDefaultLang
(
lang
);
}
useLang
(
lang
:
string
)
{
this
.
translate
.
use
(
lang
);
}
get
(
key
:
string
)
{
return
this
.
translate
.
get
(
key
);
}
getCurrentLang
()
{
return
this
.
translate
.
getCurrentLang
()
}
}
src/assets/i18n/en.json
View file @
e0532566
...
@@ -9,7 +9,14 @@
...
@@ -9,7 +9,14 @@
"Employee"
:
"Employee"
,
"Employee"
:
"Employee"
,
"LeaveType"
:
"LeaveType"
,
"LeaveType"
:
"LeaveType"
,
"UserSetting"
:
"UserSetting"
,
"UserSetting"
:
"UserSetting"
,
"AccessPermissions"
:
"AccessPermissions"
"AccessPermissions"
:
"AccessPermissions"
,
"JobDescriptionJD"
:
"Job Description (JD)"
,
"GeneralInformation"
:
"General Information"
,
"OrganizationChart"
:
"Organization Chart"
,
"JobDetail"
:
"Job Detail"
,
"JobSpecification"
:
"Job Specification"
,
"JobCompetency"
:
"Job Competency"
,
"KeyPerformanceIndicators"
:
"Key Performance Indicators: KPIs"
},
},
"SearchByNoOrName"
:
"Search by No. or Name"
,
"SearchByNoOrName"
:
"Search by No. or Name"
,
"Import"
:
"Import"
,
"Import"
:
"Import"
,
...
@@ -17,11 +24,56 @@
...
@@ -17,11 +24,56 @@
"Delete"
:
"Delete"
,
"Delete"
:
"Delete"
,
"Print"
:
"Print"
,
"Print"
:
"Print"
,
"ExcelExport"
:
"Excel Export"
,
"ExcelExport"
:
"Excel Export"
,
"C
sv
Export"
:
"CSV Export"
,
"C
SV
Export"
:
"CSV Export"
,
"Selected"
:
"Selected"
,
"Selected"
:
"Selected"
,
"CompanyCode"
:
"Company Code"
,
"CompanyCode"
:
"Company Code"
,
"CompanyDescThai"
:
"Company Desc. (Thai)"
,
"CompanyDescThai"
:
"Company Desc. (Thai)"
,
"CompanyDescEng"
:
"Company Desc. (Eng)"
,
"CompanyDescEng"
:
"Company Desc. (Eng)"
,
"Action"
:
"Action"
,
"Action"
:
"Action"
,
"Item"
:
"Item"
"Item"
:
"Item"
,
"BusinessUnit"
:
"Business Unit"
,
"BusinessUnitDetails"
:
"Business Unit Details"
,
"Division"
:
"Division"
,
"Department"
:
"Department"
,
"Section"
:
"Section"
,
"SubSection"
:
"Sub Section {{n}}"
,
"Items"
:
"Items"
,
"EmployeeGroup"
:
"Employee Group"
,
"Position"
:
"Position"
,
"EmploymentType"
:
"Employment Type"
,
"JobLevelJL"
:
"Job Level (JL)"
,
"EmployeeGroupCode"
:
"Employee Group Code"
,
"EmployeeGroupDescThai"
:
"Employee Group Desc. (Thai)"
,
"EmployeeGroupDescEng"
:
"Employee Group Desc. (Eng)"
,
"PositionCode"
:
"Position Code"
,
"PositionDescThai"
:
"Position Desc. (Thai)"
,
"PositionDescEng"
:
"Position Desc. (Eng)"
,
"EmploymentTypeCode"
:
"Employment Type Code"
,
"EmploymentTypeDescThai"
:
"Employment Type Desc. (Thai)"
,
"EmploymentTypeDescEng"
:
"Employment Type Desc. (Eng)"
,
"JobLevelCode"
:
"Job Level Code"
,
"JobLevelDescThai"
:
"Job Level Desc. (Thai)"
,
"JobLevelDescEng"
:
"Job Level Desc. (Eng)"
,
"EmployeeCode"
:
"Employee Code"
,
"FirstName"
:
"First Name"
,
"LastName"
:
"Last Name"
,
"LeaveInfo"
:
"Leave Info."
,
"Selected_ed"
:
"Selected"
,
"SelectAll"
:
"Select All"
,
"ImportData"
:
"Import Data"
,
"DownloadSampleFile"
:
"Download Sample File"
,
"LeaveCode"
:
"Leave Code"
,
"DescriptionThai"
:
"Description (Thai)"
,
"DescriptionEng"
:
"Description (Eng)"
,
"Show"
:
"Show"
,
"ImportLeaveType"
:
"Import Leave Type"
,
"File"
:
"File"
,
"PleaseSelectFile"
:
"Please select a file."
,
"Upload"
:
"Upload"
,
"CreateUsername"
:
"Create Username"
,
"SetPassword"
:
"Set Password"
,
"ManageUsers"
:
"Manage Users"
,
"LoginName"
:
"Login Name"
,
"Status"
:
"Status"
,
"Level"
:
"Level"
}
}
\ No newline at end of file
src/assets/i18n/th.json
View file @
e0532566
...
@@ -9,7 +9,14 @@
...
@@ -9,7 +9,14 @@
"Employee"
:
"ทะเบียนพนักงาน"
,
"Employee"
:
"ทะเบียนพนักงาน"
,
"LeaveType"
:
"ทะเบียนประเภทวัน"
,
"LeaveType"
:
"ทะเบียนประเภทวัน"
,
"UserSetting"
:
"ตั้งค่าผู้ใช้งาน"
,
"UserSetting"
:
"ตั้งค่าผู้ใช้งาน"
,
"AccessPermissions"
:
"กำหนดสิทธิการเข้าใช้งาน"
"AccessPermissions"
:
"กำหนดสิทธิการเข้าใช้งาน"
,
"JobDescriptionJD"
:
"จัดการรายละเอียดงาน"
,
"GeneralInformation"
:
"ข้อมูลทั่วไป"
,
"OrganizationChart"
:
"โครงสร้างสายการบังคับบัญชา"
,
"JobDetail"
:
"รายละเอียดของงาน"
,
"JobSpecification"
:
"คุณสมบัติที่จำเป็น"
,
"JobCompetency"
:
"ความสามารถในตำแหน่งงาน"
,
"KeyPerformanceIndicators"
:
"ตัวชี้วัดของตำแหน่งงาน"
},
},
"SearchByNoOrName"
:
"ค้นหาตามรหัสหรือชื่อ"
,
"SearchByNoOrName"
:
"ค้นหาตามรหัสหรือชื่อ"
,
"Import"
:
"นำเข้า"
,
"Import"
:
"นำเข้า"
,
...
@@ -17,11 +24,59 @@
...
@@ -17,11 +24,59 @@
"Delete"
:
"ลบ"
,
"Delete"
:
"ลบ"
,
"Print"
:
"พิมพ์"
,
"Print"
:
"พิมพ์"
,
"ExcelExport"
:
"ส่งออก Excel"
,
"ExcelExport"
:
"ส่งออก Excel"
,
"C
sv
Export"
:
"ส่งออก CSV"
,
"C
SV
Export"
:
"ส่งออก CSV"
,
"Selected"
:
"เลือก"
,
"Selected"
:
"เลือก"
,
"CompanyCode"
:
"รหัสบริษัท"
,
"CompanyCode"
:
"รหัสบริษัท"
,
"CompanyDescThai"
:
"รายละเอียดบริษัท (ไทย)"
,
"CompanyDescThai"
:
"รายละเอียดบริษัท (ไทย)"
,
"CompanyDescEng"
:
"รายละเอียดบริษัท (อังกฤษ)"
,
"CompanyDescEng"
:
"รายละเอียดบริษัท (อังกฤษ)"
,
"Action"
:
"การจัดการ"
,
"Action"
:
"การจัดการ"
,
"Item"
:
"รายการ"
"Item"
:
"รายการ"
,
"BusinessUnit"
:
"หน่วยธุรกิจ"
,
"BusinessUnitDetails"
:
"รายละเอียดหน่วยธุรกิจ"
,
"Division"
:
"ทะเบียนฝ่าย"
,
"Department"
:
"ทะเบียนแผนก"
,
"Section"
:
"ทะเบียนส่วน"
,
"SubSection 1"
:
"ทะเบียนส่วนย่อย 1"
,
"SubSection 2"
:
"ทะเบียนส่วนย่อย 2"
,
"SubSection 3"
:
"ทะเบียนส่วนย่อย 3"
,
"SubSection 4"
:
"ทะเบียนส่วนย่อย 4"
,
"Items"
:
"รายการ"
,
"EmployeeGroup"
:
"กลุ่มพนักงาน"
,
"Position"
:
"ตำแหน่ง"
,
"EmploymentType"
:
"ประเภทพนักงาน"
,
"JobLevelJL"
:
"ระดับพนักงาน (JL)"
,
"EmployeeGroupCode"
:
"รหัสกลุ่มพนักงาน"
,
"EmployeeGroupDescThai"
:
"รายละเอียดกลุ่มพนักงาน (ไทย)"
,
"EmployeeGroupDescEng"
:
"รายละเอียดกลุ่มพนักงาน (อังกฤษ)"
,
"PositionCode"
:
"รหัสตำแหน่ง"
,
"PositionDescThai"
:
"รายละเอียดตำแหน่ง (ไทย)"
,
"PositionDescEng"
:
"รายละเอียดตำแหน่ง (อังกฤษ)"
,
"EmploymentTypeCode"
:
"รหัสประเภทพนักงาน"
,
"EmploymentTypeDescThai"
:
"รายละเอียดประเภทพนักงาน (ไทย)"
,
"EmploymentTypeDescEng"
:
"รายละเอียดประเภทพนักงาน (อังกฤษ)"
,
"JobLevelCode"
:
"รหัสระดับพนักงาน"
,
"JobLevelDescThai"
:
"รายละเอียดระดับพนักงาน (ไทย)"
,
"JobLevelDescEng"
:
"รายละเอียดระดับพนักงาน (อังกฤษ)"
,
"EmployeeCode"
:
"รหัสพนักงาน"
,
"FirstName"
:
"ชื่อ"
,
"LastName"
:
"นามสกุล"
,
"LeaveInfo"
:
"ข้อมูลประเภทวัน"
,
"Selected_ed"
:
"เลือกแล้ว"
,
"SelectAll"
:
"เลือกทั้งหมด"
,
"ImportData"
:
"นำเข้าข้อมูล"
,
"DownloadSampleFile"
:
"ดาวน์โหลดตัวอย่างไฟล์"
,
"LeaveCode"
:
"รหัสประเภทวัน"
,
"DescriptionThai"
:
"รายละเอียด (ไทย)"
,
"DescriptionEng"
:
"รายละเอียด (อังกฤษ)"
,
"Show"
:
"แสดง"
,
"ImportLeaveType"
:
"นำเข้าข้อมูลประเภทวัน"
,
"File"
:
"ไฟล์"
,
"PleaseSelectFile"
:
"กรุณาเลือกไฟล์"
,
"Upload"
:
"อัปโหลด"
,
"CreateUsername"
:
"สร้างชื่อผู้ใช้งาน"
,
"SetPassword"
:
"กำหนดรหัสผ่าน"
,
"ManageUsers"
:
"จัดการผู้ใช้งาน"
,
"LoginName"
:
"ชื่อล็อคอิน"
,
"Status"
:
"สถานะ"
,
"Level"
:
"ระดับ"
}
}
\ 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