Commit a651bbec by Nakarin Luankla

Merge branch 'DEV' of https://mygit.myhr.co.th/angular/myAppraisal into DEV

parents f7aee2de 04a47bd6
......@@ -182,9 +182,9 @@
</div>
</div>
<ng-container *ngIf="changePassword">
<label class="ti-form-label mt-2rem">รหัสผ่านเก่า*</label>
<label class="ti-form-label mt-2rem">รหัสผ่านเก่า<span class="text-danger">*</span></label>
<input type="text" class="masked-input ti-form-input" [(ngModel)]="userPassword.oldPassword">
<label class="ti-form-label mt-2rem">รหัสผ่านใหม่*</label>
<label class="ti-form-label mt-2rem">รหัสผ่านใหม่<span class="text-danger">*</span></label>
<input type="text" class="masked-input ti-form-input" [(ngModel)]="userPassword.newPassword">
</ng-container>
<div class="flex justify-end mt-2rem mb-1rem">
......
......@@ -158,7 +158,7 @@
[(ngModel)]="userPassword.usernameId">
<label class="ti-form-label mt-2rem">รหัสพนักงาน</label>
<input type="text" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="userPassword.empId">
<label class="ti-form-label mt-2rem">กำหนดรหัสผ่านใหม่*</label>
<label class="ti-form-label mt-2rem">กำหนดรหัสผ่านใหม่<span class="text-danger">*</span></label>
<input type="text" class="masked-input ti-form-input" [(ngModel)]="userPassword.newPassword">
<div class="flex justify-end mt-2rem mb-1rem">
<button type="button"
......
......@@ -212,12 +212,12 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label class="ti-form-label mt-2rem">ชื่อล็อกอิน*</label>
<label class="ti-form-label mt-2rem">ชื่อล็อกอิน<span class="text-danger">*</span></label>
<input type="text" class="ti-form-input"
oninput="this.value = this.value.replace(/[\u0E00-\u0E7F]/g, '')"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(ngModel)]="user.select.usernameId" [maxLength]="20">
<label class="ti-form-label mt-2rem">รหัสพนักงาน*</label>
<label class="ti-form-label mt-2rem">รหัสพนักงาน<span class="text-danger">*</span></label>
<div class="grid grid-cols-2 gap-2">
<div class="relative flex rounded-md">
<input type="text" class="ti-form-input" readonly [(ngModel)]="user.select.employee.employeeId">
......@@ -236,7 +236,7 @@
<input type="text" class="ti-form-input bg-input-readonly" readonly
[(ngModel)]="user.select.employee.thFullName">
</div>
<label class="ti-form-label mt-2rem">บทบาท*</label>
<label class="ti-form-label mt-2rem">บทบาท<span class="text-danger">*</span></label>
<div class="grid grid-cols-2 gap-2">
<div class="relative flex rounded-md">
<input type="text" class="ti-form-input" readonly [(ngModel)]="user.select.role.roleId">
......@@ -255,7 +255,7 @@
<input type="text" class="ti-form-input bg-input-readonly" readonly
[(ngModel)]="user.select.role.tdesc">
</div>
<label class="ti-form-label mt-2rem">ระดับ*</label>
<label class="ti-form-label mt-2rem">ระดับ<span class="text-danger">*</span></label>
<div class="grid grid-cols-2 gap-2">
<div class="relative flex rounded-md">
<input type="text" class="ti-form-input" readonly [(ngModel)]="user.select.level.userLevel">
......
......@@ -186,7 +186,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -210,7 +210,7 @@
readonly [value]="bu1.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">เเผนก*</label>
<label class="ti-form-label mt-2rem">เเผนก<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu2.bu2id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button" class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10" style="padding-right: 3.5rem;"
......@@ -224,7 +224,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu2.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดแผนก (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu2.edesc">
......@@ -289,7 +289,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -312,14 +312,14 @@
readonly [value]="bu1.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">เเผนก*</label>
<label for="input-label" class="ti-form-label mt-2rem">เเผนก<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
readonly [value]="bu2.bu2id">
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu2.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดแผนก (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu2.edesc">
......@@ -369,7 +369,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu1Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu1Modal.search"
(ngModelChange)="onBu1ModalSearchChange()">
<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">
......@@ -490,7 +490,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu2Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu2Modal.search"
(ngModelChange)="onBu2ModalSearchChange()">
<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">
......
......@@ -18,7 +18,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
......@@ -180,9 +180,9 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">ฝ่าย*</label>
<label for="input-label" class="ti-form-label mt-2rem">ฝ่าย<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" [(ngModel)]="bu1.bu1id">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu1.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu1.edesc">
......@@ -247,10 +247,10 @@
</div>
</div>
<div class="ti-modal-body ">
<label for="input-label" class="ti-form-label mt-2rem">ฝ่าย*</label>
<label for="input-label" class="ti-form-label mt-2rem">ฝ่าย<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly"
[(ngModel)]="bu1.bu1id" readonly>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu1.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu1.edesc">
......
......@@ -17,7 +17,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="bu3Table.search" (ngModelChange)="onBu3TableSearchChange()">
<div
......@@ -185,7 +185,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -208,7 +208,7 @@
readonly [value]="bu2.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วน*</label>
<label class="ti-form-label mt-2rem">ส่วน<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu3.bu3id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -226,7 +226,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu3.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu3.edesc">
......@@ -292,7 +292,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -315,14 +315,14 @@
readonly [value]="bu2.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">ส่วน*</label>
<label for="input-label" class="ti-form-label mt-2rem">ส่วน<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
readonly [value]="bu3.bu3id">
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu3.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu3.edesc">
......@@ -493,7 +493,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu3Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu3Modal.search"
(ngModelChange)="onBu3ModalSearchChange()">
<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">
......
......@@ -18,7 +18,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="bu7Table.search" (ngModelChange)="onBu7TableSearchChange()">
<div
......@@ -185,7 +185,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label ">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label ">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -208,7 +208,7 @@
readonly [value]="bu6.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย4*</label>
<label class="ti-form-label mt-2rem">ส่วนย่อย4<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu7.bu7id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -226,7 +226,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu7.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียด (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu7.edesc">
......@@ -292,7 +292,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -315,14 +315,14 @@
readonly [value]="bu6.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย4*</label>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย4<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
readonly [value]="bu7.bu7id">
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu7.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียด (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu7.edesc">
......@@ -372,7 +372,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu6Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu6Modal.search"
(ngModelChange)="onBu6ModalSearchChange()">
<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">
......@@ -493,7 +493,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu7Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu7Modal.search"
(ngModelChange)="onBu7ModalSearchChange()">
<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">
......
......@@ -18,7 +18,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="bu4Table.search" (ngModelChange)="onBu4TableSearchChange()">
<div
......@@ -187,7 +187,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -210,7 +210,7 @@
readonly [value]="bu3.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย1*</label>
<label class="ti-form-label mt-2rem">ส่วนย่อย1<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu4.bu4id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -228,7 +228,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu4.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu4.edesc">
......@@ -294,7 +294,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label ">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label ">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -317,14 +317,14 @@
readonly [value]="bu3.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย1*</label>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย1<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
readonly [value]="bu4.bu4id">
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu4.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย1 (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu4.edesc">
......@@ -374,7 +374,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu3Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu3Modal.search"
(ngModelChange)="onBu3ModalSearchChange()">
<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">
......@@ -495,7 +495,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu4Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu4Modal.search"
(ngModelChange)="onBu4ModalSearchChange()">
<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">
......
......@@ -18,7 +18,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="bu6Table.search" (ngModelChange)="onBu6TableSearchChange()">
<div
......@@ -185,7 +185,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label ">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label ">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -208,7 +208,7 @@
readonly [value]="bu5.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย3*</label>
<label class="ti-form-label mt-2rem">ส่วนย่อย3<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu6.bu6id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -226,7 +226,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย3 (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย3 (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu6.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย3 (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu6.edesc">
......@@ -292,7 +292,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label ">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label ">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -315,7 +315,7 @@
readonly [value]="bu5.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย3*</label>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย3<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
......@@ -323,7 +323,7 @@
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย3
(ไทย)*</label>
(ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu6.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย3
(อังกฤษ)</label>
......@@ -374,7 +374,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu5Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu5Modal.search"
(ngModelChange)="onBu5ModalSearchChange()">
<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">
......@@ -495,7 +495,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu6Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu6Modal.search"
(ngModelChange)="onBu6ModalSearchChange()">
<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">
......
......@@ -18,7 +18,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="bu5Table.search" (ngModelChange)="onBu5TableSearchChange()">
<div
......@@ -185,7 +185,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -209,7 +209,7 @@
readonly [value]="bu4.tdesc">
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย2*</label>
<label class="ti-form-label mt-2rem">ส่วนย่อย2<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-1/2">
<input type="text" class="ti-form-input h-16" [(ngModel)]="bu5.bu5id">
<!-- <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -227,7 +227,7 @@
</button>
</div> -->
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu5.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu5.edesc">
......@@ -293,7 +293,7 @@
</div>
</div>
<div class="ti-modal-body">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน*</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">อยู่ภายใต้หน่วยงาน<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -317,14 +317,14 @@
readonly [value]="bu4.tdesc">
</div>
</div>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย2*</label>
<label for="input-label" class="ti-form-label mt-2rem">ส่วนย่อย2<span class="text-danger">*</span></label>
<div class="sm:grid grid-cols-2 gap-1">
<div class="relative w-full">
<input type="text" id="input-label" class="ti-form-input w-full pr-10 bg-input-readonly"
readonly [value]="bu5.bu5id">
</div>
</div>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu5.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดส่วนย่อย2 (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu5.edesc">
......@@ -374,7 +374,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu4Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu4Modal.search"
(ngModelChange)="onBu4ModalSearchChange()">
<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">
......@@ -495,7 +495,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="bu5Modal.search"
placeholder="Search by No. or Name" [(ngModel)]="bu5Modal.search"
(ngModelChange)="onBu5ModalSearchChange()">
<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">
......
......@@ -36,7 +36,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="search" (ngModelChange)="searchChange()">
placeholder="Search by No. or Name" [(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
<i class="ri-search-line text-gray"></i>
......@@ -211,11 +211,11 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัสบริษัท*</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัสบริษัท<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.code" [maxLength]="5">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียด (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
......
import { ChangeDetectorRef, Component } from '@angular/core';
import { ToastrService } from 'ngx-toastr';
import { PositionModel, MyPositionModel } from 'src/app/shared/model/position.model';
import { FileService } from 'src/app/shared/services/file.service';
import { PositionService } from 'src/app/shared/services/position.service';
export interface DataModel {
positionId: string
tdesc: string
edesc: string
consolidate: string
shortName: string
companyId: string
}
@Component({
selector: 'app-day-type-registry',
templateUrl: './day-type-registry.component.html',
styleUrls: ['./day-type-registry.component.scss']
})
export class DayTypeRegistryComponent {
pathTitle = ['การจัดการข้อมูลองค์กร', 'ทะเบียนประเภทวัน', 'ข้อมูลประเภทวัน']
currentPage = 1
selectedItems: string[] = [];
search = ""
selectedFile: File | null = null;
selectedFileName: string = 'กรุณาเลือกไฟล์';
modalStatus = 'add'
page = Array.from({ length: 1 }, (_, i) => i + 1);
positionList: { check: boolean, data: DataModel }[] = []
position: PositionModel = new MyPositionModel({})
dataLoading = false
dataSelect: DataModel = { positionId: "", tdesc: "", edesc: "", consolidate: "", shortName: "", companyId: "" }
numDataListChecked = 0
isDataListChecked = false
isDataListCheckedAll = false
constructor(
private toastr: ToastrService,
private cdr: ChangeDetectorRef,
private fileService: FileService
) { }
ngOnInit(): void {
this.getPositionList()
}
onFileSelected(event: any) {
this.selectedFile = event.target.files.length > 0 ? event.target.files[0] : null;
this.selectedFileName = this.selectedFile?.name || "กรุณาเลือกไฟล์"
}
uploadFile() {
if (!this.selectedFile) {
alert('กรุณาเลือกไฟล์ก่อนอัปโหลด')
return
}
const formData = new FormData();
formData.append('file', this.selectedFile);
this.dataLoading = true
this.fileService.uploadExcel(formData, 'mposition').subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
this.getPositionList()
} else {
this.showAlert(response.message, 'error')
this.dataLoading = false
this.cdr.detectChanges();
}
}, error: error => {
this.showAlert(error.message, 'error')
this.dataLoading = false
this.cdr.detectChanges();
}
})
}
downloadFile() {
const fileName = 'IMPORT_MPOSITION.xlsx'
this.fileService.downloadTemplate(fileName).subscribe({
next: response => {
const url = window.URL.createObjectURL(response);
const a = document.createElement("a");
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, error: error => {
this.showAlert(error.message, 'error')
}
})
}
getPositionList() {
this.dataLoading = false
// this.dataLoading = true
// this.positionService.getList().subscribe({
// next: response => {
// this.positionList = response.map(x => new MyPositionModel(x)).map(x => ({ check: false, data: { positionId: x.positionId, tdesc: x.tdesc, edesc: x.edesc, consolidate: x.consolidate, shortName: x.shortName, companyId: x.companyId } }))
// this.dataLoading = false
// this.isDataListCheckedAll = false
// this.dataListCheckAll()
// this.searchChange()
// this.cdr.detectChanges();
// }, error: error => {
// this.dataLoading = false
// console.error('Error fetching employee types:', error);
// this.cdr.detectChanges()
// }
// })
}
searchChange() {
this.currentPage = 1
this.page = Array.from({ length: Math.ceil(this.positionListFilter().length / 10) }, (_, i) => i + 1);
this.dataListCheck()
}
positionListFilter() {
return this.positionList.filter(x => {
const data = x.data
const match = data.positionId.toLowerCase().includes(this.search.toLowerCase()) || data.tdesc.toLowerCase().includes(this.search.toLowerCase()) || data.edesc.toLowerCase().includes(this.search.toLowerCase());
return match;
});
}
setData(data?: DataModel) {
this.dataSelect = JSON.parse(JSON.stringify(data || { positionId: "", tdesc: "", edesc: "", consolidate: "", shortName: "", companyId: "" }));
}
addPosition() {
const body = new MyPositionModel({ positionId: this.dataSelect.positionId, tdesc: this.dataSelect.tdesc, edesc: this.dataSelect.edesc, consolidate: this.dataSelect.consolidate, shortName: this.dataSelect.shortName, companyId: this.dataSelect.companyId })
this.dataLoading = true
// this.positionService.post(body).subscribe({
// next: response => {
// if (response.success) {
// this.showAlert(response.message, 'success')
// this.getPositionList()
// } else {
// this.showAlert(response.message, 'error')
// this.dataLoading = false
// this.cdr.detectChanges()
// }
// }, error: error => {
// this.showAlert(error.message, 'error')
// this.dataLoading = false
// this.cdr.detectChanges()
// }
// })
}
deletePosition() {
let body: PositionModel | PositionModel[] = []
if (this.dataSelect.positionId) {
body = new MyPositionModel({ positionId: this.dataSelect.positionId, tdesc: this.dataSelect.tdesc, edesc: this.dataSelect.edesc, consolidate: this.dataSelect.consolidate, shortName: this.dataSelect.shortName, companyId: this.dataSelect.companyId })
} else {
body = this.positionList.filter(x => x.check).map(x => new MyPositionModel({ positionId: x.data.positionId, tdesc: x.data.tdesc, edesc: x.data.edesc, consolidate: x.data.consolidate, shortName: x.data.shortName, companyId: x.data.companyId }))
}
this.dataLoading = true
// this.positionService.delete(body).subscribe({
// next: response => {
// if (response.success) {
// this.showAlert(response.message, 'success')
// this.getPositionList()
// } else {
// this.showAlert(response.message, 'error')
// this.dataLoading = false
// this.cdr.detectChanges()
// }
// }, error: error => {
// this.showAlert(error.message, 'error')
// this.dataLoading = false
// this.cdr.detectChanges()
// }
// })
}
showAlert(text: string, type: 'success' | 'error') {
this.toastr[type](text, 'แจ้งเตือน', {
timeOut: 3000,
positionClass: 'toast-top-right',
});
}
dataListCheckAll() {
const selectAll = this.isDataListCheckedAll;
this.positionList.filter(x => {
const data = x.data
const match = data.positionId.toLowerCase().includes(this.search.toLowerCase()) || data.tdesc.toLowerCase().includes(this.search.toLowerCase()) || data.edesc.toLowerCase().includes(this.search.toLowerCase());
return match;
}).forEach(x => x.check = selectAll);
this.dataListCheck();
}
dataListCheck() {
const dataCheck = this.positionListFilter();
this.isDataListCheckedAll = dataCheck.length ? dataCheck.every(x => x.check) : false;
this.numDataListChecked = this.positionList.filter(x => x.check).length;
this.isDataListChecked = Boolean(this.numDataListChecked)
}
clearPosition(modalStatus: string) {
if (modalStatus == 'add') {
this.dataSelect.positionId = ''
this.dataSelect.tdesc = ''
this.dataSelect.edesc = ''
} else if (modalStatus == 'edit') {
this.dataSelect.tdesc = ''
this.dataSelect.edesc = ''
}
}
}
......@@ -204,12 +204,12 @@
<div class="ti-modal-body mt-5">
<div class="space-y-3">
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">รหัสพนักงาน*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">รหัสพนักงาน<span class="text-danger">*</span></label>
<input type="text" class="sm:col-span-6 ti-form-input" [ngClass]="{'bg-input-readonly':modalType=='update'}"
[readonly]="modalType=='update'" [(ngModel)]="employee.select.employeeId">
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-4">ชื่อ-นามสกุล*</label>
<label class="col-span-3 ti-form-label text-primary mt-4">ชื่อ-นามสกุล<span class="text-danger">*</span></label>
<div class="col-span-4 mt-2">
<div class=" flex rounded-md">
<input type="text" class="ti-form-input" [(ngModel)]="employee.select.fname">
......@@ -220,7 +220,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">กลุ่มพนักงาน*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">กลุ่มพนักงาน<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -242,7 +242,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2 align-center">วันเริ่มงาน*</label>
<label class="col-span-3 ti-form-label text-primary mt-2 align-center">วันเริ่มงาน<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<mat-form-field>
<input matInput [matDatepicker]="firstHireDate" type="text"
......@@ -255,7 +255,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">BU*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">BU<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -277,7 +277,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">ตำแหน่ง*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">ตำแหน่ง<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -299,7 +299,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">ลักษณะงาน*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">ลักษณะงาน<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -321,7 +321,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">สาขา*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">สาขา<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -343,7 +343,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">ประเภทพนักงาน*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">ประเภทพนักงาน<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -365,7 +365,7 @@
</div>
</div>
<div class="grid grid-cols-12 gap-x-6">
<label class="col-span-3 ti-form-label text-primary mt-2">ระดับพนักงาน (PL)*</label>
<label class="col-span-3 ti-form-label text-primary mt-2">ระดับพนักงาน (JL)<span class="text-danger">*</span></label>
<div class="col-span-6 sm:col-span-6 ">
<div class="flex">
<div class="relative flex rounded-md">
......@@ -1279,7 +1279,7 @@
<div class="max-h-full overflow-hidden ti-modal-content">
<div class="ti-modal-header">
<h3 class="text-xxl font-bold text-primary">
ข้อมูลระดับพนักงาน (PL)
ข้อมูลระดับพนักงาน (JL)
</h3>
<div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
......@@ -1308,7 +1308,7 @@
<thead>
<tr>
<ng-container
*ngFor="let item of ['ลำดับ','รหัสระดับพนักงาน (PL)','รายละเอียดฝ่าย(ไทย)','รายละเอียดฝ่าย(อังกฤษ)']; let f = first; let l = last">
*ngFor="let item of ['ลำดับ','รหัสระดับพนักงาน (JL)','รายละเอียดฝ่าย(ไทย)','รายละเอียดฝ่าย(อังกฤษ)']; let f = first; let l = last">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f">
<span class="text-sm">{{ item }}</span>
......
......@@ -214,11 +214,11 @@
</div>
</div>
<div class="ti-modal-body" style="margin-top: 40px;">
<label for="input-label" class="ti-form-label">รหัสประเภทพนักงาน*</label>
<label for="input-label" class="ti-form-label">รหัสประเภทพนักงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.codeId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดประเภทพนักงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดประเภทพนักงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดประเภทพนักงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
......
......@@ -212,11 +212,11 @@
</div>
</div>
<div class="ti-modal-body ">
<label for="input-label" class="ti-form-label mt-2rem">รหัสกลุ่มพนักงาน*</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัสกลุ่มพนักงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.groupId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดกลุ่มพนักงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดกลุ่มพนักงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดกลุ่มพนักงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
......
......@@ -172,7 +172,7 @@
<div class="max-h-full overflow-hidden ti-modal-content">
<div class="ti-modal-header">
<h3 class="text-xxl font-bold text-primary">
{{modalStatus=='add'?'เพิ่มข้อมูลระดับพนักงาน(PL)':'แก้ไขข้อมูลระดับพนักงาน(PL)'}}
{{modalStatus=='add'?'เพิ่มข้อมูลระดับพนักงาน(JL)':'แก้ไขข้อมูลระดับพนักงาน(JL)'}}
</h3>
<div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
......@@ -210,13 +210,13 @@
</div>
</div>
<div class="ti-modal-body" style="margin-top: 40px;">
<label for="input-label" class="ti-form-label">รหัสระดับพนักงาน(PL)*</label>
<label for="input-label" class="ti-form-label">รหัสระดับพนักงาน(JL)<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.plId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดระดับพนักงาน(PL) (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดระดับพนักงาน(JL) (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดระดับพนักงาน(PL) (อังกฤษ)</label>
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดระดับพนักงาน(JL) (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
<div class="flex justify-end mt-2rem mb-1rem space-x-4">
<button type="button"
......@@ -239,7 +239,7 @@
<div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md">
<div class="ti-modal-header bg-primary !rounded-none !rounded-t-sm">
<h5 class="text-xxl font-bold text-white">
นำเข้าระดับพนักงาน(PL)
นำเข้าระดับพนักงาน(JL)
</h5>
</div>
<div class="ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm">
......
......@@ -35,8 +35,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 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"
aria-controls="underline-5"
(click)="currentPath = 5;pathTitle = ['การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','ระดับพนักงาน (PL)']">
ระดับพนักงาน (PL)
(click)="currentPath = 5;pathTitle = ['การจัดการข้อมูลองค์กร','ข้อมูลลักษณะงาน','ระดับพนักงาน (JL)']">
ระดับพนักงาน (JL)
</a>
</nav>
</div>
......
......@@ -212,11 +212,11 @@
</div>
</div>
<div class="ti-modal-body ">
<label for="input-label" class="ti-form-label mt-2rem">รหัสตำแหน่ง*</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัสตำแหน่ง<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2 "
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.positionId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดตำแหน่ง (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดตำแหน่ง (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดตำแหน่ง (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
......
......@@ -73,7 +73,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
style="height: 40px;" [(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
......@@ -239,7 +239,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="searchModal"
placeholder="Search by No. or Name" [(ngModel)]="searchModal"
(ngModelChange)="searchModalChange()">
<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">
......
......@@ -4,7 +4,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
......
......@@ -167,7 +167,7 @@
</div>
</div>
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">ชื่อพนักงาน *</label>
<label for="input-label" class="ti-form-label">ชื่อพนักงาน <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
......@@ -245,11 +245,11 @@
</div>
</div>
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัสหลักสูตร*</label>
<label for="input-label" class="ti-form-label">รหัสหลักสูตร<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(ngModel)]="competencyCourse.select.competencyCourseId">
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหลักสูตร (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหลักสูตร (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-10"
[(ngModel)]="competencyCourse.select.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">ชื่อหลักสูตร (อังกฤษ)</label>
......
......@@ -192,11 +192,11 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<!-- <label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน *</label>
<!-- <label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) *</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) <span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.period">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16">
......
......@@ -249,25 +249,25 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน*</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.evaluationRoundId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
<label for="input-label" class="ti-form-label mt-2rem">ปีการประเมิน*</label>
<label for="input-label" class="ti-form-label mt-2rem">ปีการประเมิน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.apsyear">
<label for="input-label" class="ti-form-label mt-2rem">เริ่มวันที่*</label>
<label for="input-label" class="ti-form-label mt-2rem">เริ่มวันที่<span class="text-danger">*</span></label>
<input type="date" id="input-label" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.apsPeriodStart">
<label for="input-label" class="ti-form-label mt-2rem">สิ้นสุดวันที่*</label>
<label for="input-label" class="ti-form-label mt-2rem">สิ้นสุดวันที่<span class="text-danger">*</span></label>
<input type="date" id="input-label" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.apsPeriodEnd">
<div class="flex justify-end mt-2rem mb-1rem">
......
......@@ -65,10 +65,10 @@
<div class="pt-50px">
<div *ngIf="currentTab==1" id="card-type-1" role="tabpanel" aria-labelledby="card-type-item-1">
<div class="page px-rem">
<label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด*</label>
<label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/4" [readonly]="typeTab == 'edit'"
[class.bg-input-readonly]="typeTab == 'edit'" [(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียด (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.edesc">
......
......@@ -183,7 +183,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label ">รหัสเกรด *</label>
<label class="ti-form-label ">รหัสเกรด <span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -193,7 +193,7 @@
[(ngModel)]="competencyGrade.select.gradeId">
</div>
</div>
<label class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-full">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -209,7 +209,7 @@
</div>
<div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2">
<label class="ti-form-label">กำหนดเกรด *</label>
<label class="ti-form-label">กำหนดเกรด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -230,7 +230,7 @@
</div>
<div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2">
<label class="ti-form-label">คะแนนต่ำสุด *</label>
<label class="ti-form-label">คะแนนต่ำสุด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -240,7 +240,7 @@
</div>
</div>
<div class="w-1/2 pl-2">
<label class="ti-form-label">คะแนนสูงสุด *</label>
<label class="ti-form-label">คะแนนสูงสุด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......
......@@ -205,18 +205,18 @@
</div>
</div>
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัส*</label>
<label for="input-label" class="ti-form-label">รหัส<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.id">
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหัวข้อ (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหัวข้อ (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-10" [(ngModel)]="dataSelect.name">
<label for="detail_eng" class="ti-form-label mt-2rem">ชื่อหัวข้อ (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-10" [(ngModel)]="dataSelect.edesc">
<label for="detail_eng" class="ti-form-label mt-2rem">นิยามสมรรถนะ</label>
<textarea type="text" id="detail_eng" class="ti-form-input" rows="4" cols="50"
[(ngModel)]="dataSelect.definition"> </textarea>
<label class="ti-form-label mt-2rem">ประเภท Competency*</label>
<label class="ti-form-label mt-2rem">ประเภท Competency<span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md w-1/2">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......
......@@ -205,17 +205,17 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัส *</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัส <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.id">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อประเภท (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อประเภท (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input w-2/3" [(ngModel)]="dataSelect.name">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อประเภท (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input w-2/3" [(ngModel)]="dataSelect.edesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อย่อ *</label>
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อย่อ <span class="text-danger">*</span></label>
<input type="text" id="detail_eng" class="ti-form-input w-2/3" [(ngModel)]="dataSelect.code">
<label for="detail_eng" class="ti-form-label mt-1rem">ระดับความคาดหวัง *</label>
<label for="detail_eng" class="ti-form-label mt-1rem">ระดับความคาดหวัง <span class="text-danger">*</span></label>
<input type="text" id="detail_eng" class="ti-form-input" style="width: 200px;"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.level">
<label for="detail_eng" class="ti-form-label mt-1rem">น้ำหนัก</label>
......
......@@ -22,7 +22,7 @@
<div class="page">
<div class="grid grid-cols-3 gap-6">
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ปีการประเมิน *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ปีการประเมิน <span class="text-danger">*</span></label>
</div>
</div>
<div class="grid grid-cols-3 gap-6">
......@@ -33,7 +33,7 @@
</div>
<div class="grid grid-cols-3 gap-6 mt-10">
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ระดับความคาดหวัง *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ระดับความคาดหวัง <span class="text-danger">*</span></label>
</div>
</div>
<div class="grid grid-cols-3 gap-6">
......@@ -42,7 +42,7 @@
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="setting.data.expectationLevel">
</div>
</div>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">จัดการสมรรถนะกับกลุ่ม *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">จัดการสมรรถนะกับกลุ่ม <span class="text-danger">*</span></label>
<div class="box-body">
<div class="grid grid-cols-6 gap-2">
<div class="grid col-span-1 grid-cols-6 gap-2">
......@@ -55,7 +55,7 @@
<div class="col-span-5">
<label for="settingGroupAssessment-0" class="text-sm text-gray-500"
[class.pointer-events-none]="setting.data.settingGroupAssessment=='0'">
ระดับพนักงาน (PL)
ระดับพนักงาน (JL)
</label>
</div>
</div>
......
......@@ -245,15 +245,15 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัส*</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัส<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(ngModel)]="assessment.select.assessmentId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อเครื่องมือประเมิน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อเครื่องมือประเมิน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input w-full" [(ngModel)]="assessment.select.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อเครื่องมือประเมิน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input w-full" [(ngModel)]="assessment.select.edesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อที่ใช้เเสดง*</label>
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อที่ใช้เเสดง<span class="text-danger">*</span></label>
<input type="text" id="showname" class="ti-form-input w-full" [(ngModel)]="assessment.select.shortName">
<div class="flex justify-end mt-2rem mb-1rem">
<button type="button"
......
......@@ -40,6 +40,7 @@ import { SettingPerformanceEvalutionComponent } from '../performance-management-
import { SelfEvaluationComponent } from '../performance-evaluation/self-evaluation/self-evaluation.component';
import { IdpEvalutionComponent } from '../performance-evaluation/idp-evaluation/idp-evalution.component';
import { PmsGradeRegistrationComponent } from '../performance-management-evaluation/pms-grade-registration/pms-pms-grade-registration.component';
import { DayTypeRegistryComponent } from '../company-components/day-type-registry/day-type-registry.component';
......@@ -87,7 +88,8 @@ const routes: Routes = [
{ path: "grade-registration", title: 'ทะเบียนเกรด', component: GradeRegistrationComponent },
{ path: "grade-registration-sub", title: 'ทะเบียนเกรด', component: PmsGradeRegistrationComponent },
{ path: "setting-performance-evalution", title: 'การตั้งค่า', component: SettingPerformanceEvalutionComponent },
{ path: "self-evaluation", title: 'ประเมินตนเอง', component: SelfEvaluationComponent }
{ path: "self-evaluation", title: 'ประเมินตนเอง', component: SelfEvaluationComponent },
{ path: "day-type-registry", title: 'ประเมินตนเอง', component: DayTypeRegistryComponent }
]
}
];
......
......@@ -151,6 +151,7 @@ import { PmsSubGradeRegistrationComponent } from '../performance-management-eval
import { PmsGroupGradeComponent } from '../performance-management-evaluation/pms-grade-registration/pms-grade-management/pms-group-grade/pms-group-grade.component';
import { EvaluationAssessmentService } from 'src/app/shared/services/evaluation-assessment.service';
import { AppraisalService } from 'src/app/shared/services/appraisal.service';
import { DayTypeRegistryComponent } from '../company-components/day-type-registry/day-type-registry.component';
export const MY_DATE_FORMATS = {
parse: {
......@@ -273,7 +274,8 @@ export class CustomDateAdapter extends NativeDateAdapter {
PmsGradeRegistrationComponent,
PmsGradeManagementComponent,
PmsGroupGradeComponent,
PmsSubGradeRegistrationComponent
PmsSubGradeRegistrationComponent,
DayTypeRegistryComponent
],
imports: [
CommonModule,
......
......@@ -171,7 +171,7 @@
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัสงาน</label>
<input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly value="001">
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input h-10 bg-input-readonly" readonly value="Department Manager 1">
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="input-label" class="ti-form-input h-10 bg-input-readonly" readonly value="Department Manager 1">
......@@ -278,7 +278,7 @@
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัสงาน</label>
<input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly value="001">
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input h-10 bg-input-readonly" readonly value="Department Manager 1">
<label for="input-label" class="ti-form-label mt-2rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="input-label" class="ti-form-input h-10 bg-input-readonly" readonly value="Department Manager 1">
......
......@@ -194,10 +194,10 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน*</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input {{modalStatus == 'edit' ? 'bg-input-readonly' : ''}}" [attr.readonly]="modalStatus == 'edit' ? true : null" [(ngModel)]="selectJob.jobcodeId" (ngModelChange)="checkJodid()">
<span *ngIf="checkJobCodeId&&modalStatus=='add'" class="text-danger">รหัสงานซ้ำ</span>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input " [(ngModel)]="selectJob.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input " [(ngModel)]="selectJob.edesc">
......
......@@ -187,9 +187,9 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน*</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.jobcodeId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.edesc">
......
......@@ -187,9 +187,9 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน*</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.jobcodeId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.edesc">
......
......@@ -187,9 +187,9 @@
</div>
</div>
<div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน*</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัสงาน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.jobcodeId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อลักษณะงาน (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input bg-input-readonly" readonly [(ngModel)]="selectJob.edesc">
......
......@@ -1536,7 +1536,7 @@
<input
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]"
placeholder="Search"
placeholder="Search by No. or Name"
/>
<i (click)="searchclick()" class="text-base leading-none ti ti-search"></i>
</div>
......
......@@ -126,7 +126,36 @@ export class PmsEvalutionComponent {
score: "8"
}]
part3show = true
data3List: DataModel3[] = [{
data3List: DataModel2[] = [{
performance: "ประสานงานกับวิทยากร ผู้เข้ารับการอบรมทั้งภายในและภายนอก ตามแผนการฝึกอบรมและพัฒนา",
target: "80.0",
unit: "%",
timeLine: "Jan - Nov",
weight: "10.0",
targetDegree: { check: "จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม81-90%จากเป้าหมาย", text: ["จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม>90%จากเป้าหมาย", "จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม81-90%จากเป้าหมาย", "จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม80%จากเป้าหมาย", "จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม70-79%จากเป้าหมาย", "จัดการอบรมได้ตามแผนและจำนวนผู้เข้ารับการอบรม<70%จากเป้าหมาย"] },
summary: "4",
score: "40"
}, {
performance: "2.1การบันทึกผลการฝึกอบรมในระบบ(2020 ใช้ Tigersoft)",
target: "100.0",
unit: "%",
timeLine: "Jan - Nov",
weight: "2.0",
targetDegree: { check: "80-84", text: ["บันทึกภายใน", "บันทึกภายใน 3 วัน หลังฝึก การอบรม", "บันทึกภายใน 7 วัน หลังฝึก การอบรม", "80-84", "<79"] },
summary: "2",
score: "4"
}, {
performance: "2.2 การจัดทำรายงาน วิเคราะห์ ผลการฝึกอบรมในแต่ละหลักสูตร",
target: "100.0",
unit: "%",
timeLine: "Jan - Nov",
weight: "2.0",
targetDegree: { check: "สรุปผลการฝึกอบรมในแต่ละเดือนวิเคาระห์เป็นรายปี", text: ["สรุปผลการฝึกอบรมในแต่ละเดือนวิเคาระห์ทุก6เดือน", "สรุปผลการฝึกอบรมในแต่ละเดือนวิเคาระห์เป็นรายปี", "สรุปผลการฝึกอบรมของเดือนไม่เกินวันที่3ของเดือนถัดไป", "สรุปผลการฝึกอบรมของเดือนเกินกว่าวันที่3ของเดือนถัดไป", "สรุปผลการฝึกอบรมของเดือนเกินกว่า3วัน จำนวน>38ครั้ง/ปี"] },
summary: "4",
score: "8"
}]
part4show = true
data4List: DataModel3[] = [{
competency: "Core Competency",
weight: "10.0",
targetDegree: { check: "76.00", text: ["", "", "76.00", "", ""] },
......@@ -145,8 +174,8 @@ export class PmsEvalutionComponent {
summary: "4",
score: "40"
}]
part4show = true
data4List: DataModel4[] = [{
part5show = true
data5List: DataModel4[] = [{
timeAttendance: "ลาป่วย",
target: "0.0",
unit: "วัน",
......@@ -179,8 +208,8 @@ export class PmsEvalutionComponent {
summary: "1",
score: "5"
}]
part5show = true
data5List: DataModel5[] = [{
part6show = true
data6List: DataModel5[] = [{
crossFunctionalProjectAssignment: "Business Continuity Plan (BCP)",
performanceIndicator: "",
target: "1.1 การเข้าร่วม ประชุม และเข้าร่วม ซ้อมแผน\n1.2 คะแนนการ ประเมินจากทีม ผู้บริหารและลูกค้ารวมกัน",
......@@ -201,8 +230,8 @@ export class PmsEvalutionComponent {
summary: "5",
score: "5"
}]
part6show = true
data6List: DataModel6[] = [{
part7show = true
data7List: DataModel6[] = [{
specialActivities: "Kaizen",
performanceIndicator: "",
target: "1 Person / 1 Subject / 1 Month",
......@@ -243,8 +272,8 @@ export class PmsEvalutionComponent {
summary: "3",
score: "1.5"
}]
part7show = true
data7List: DataModel7[] = [{
part8show = true
data8List: DataModel7[] = [{
evaluationFactor: "Part 1 : ประเมินผลการปฏิบัติงานตามนโยบายบริษัท (Hoshin)",
rawScore: "100",
factors: "15.00",
......@@ -287,8 +316,8 @@ export class PmsEvalutionComponent {
netScore: "4.25",
Level: ""
}]
part8show = true
part9show = true
part10show = true
dataListFilter() {
return this.dataList
}
......@@ -310,6 +339,9 @@ export class PmsEvalutionComponent {
data7ListFilter() {
return this.data7List
}
data8ListFilter() {
return this.data8List
}
returnPage() {
this.sendPageEvalution.emit("")
}
......
<app-page-header [pathTitle]="pathTitle"></app-page-header>
<div class="bg-card-white">
</div>
<div class="block-main-content">
<ng-container *ngTemplateOutlet="currentTemplate"></ng-container>
</div>
<ng-container *ngIf="!onEdit">
<app-page-header [pathTitle]="pathTitle"></app-page-header>
<div class="bg-card-white">
</div>
<div class="block-main-content">
<ng-container *ngTemplateOutlet="selfEvaluation"></ng-container>
</div>
</ng-container>
<ng-template #selfEvaluation>
<div class="font-size-18px font-weight-700 pt-1.5rem text-primary px-2rem">
......@@ -34,13 +36,13 @@
<div class="col-span-2"></div>
<div class="col-span-1 text-secondary">รหัสพนักงาน</div>
<div class="col-span-2">{{evaluatee.data.employeeId}}</div>
<div class="col-span-1 text-secondary">ตำเเหน่ง</div>
<div class="col-span-6">{{evaluatee.data.position.tdesc}}</div>
<div class="col-span-1 text-secondary">ชื่อ - สกุล</div>
<div class="col-span-6">{{evaluatee.data.thFullName}}</div>
</div>
<div class="p-2 grid grid-cols-12">
<div class="col-span-2"></div>
<div class="col-span-1 text-secondary">ชื่อ - สกุล</div>
<div class="col-span-2">{{evaluatee.data.thFullName}}</div>
<div class="col-span-1 text-secondary">ตำเเหน่ง</div>
<div class="col-span-2">{{evaluatee.data.position.tdesc}}</div>
<div class="col-span-1 text-secondary">ฝ่าย</div>
<div class="col-span-6">{{evaluatee.data.bu1.tdesc}}</div>
</div>
......@@ -53,9 +55,9 @@
</div>
<div class="p-2 grid grid-cols-12">
<div class="col-span-2"></div>
<div class="col-span-1 text-secondary">ส่วนย่อย</div>
<div class="col-span-1 text-secondary">ส่วนย่อย 1</div>
<div class="col-span-2">{{evaluatee.data.bu4.tdesc}}</div>
<div class="col-span-1 text-secondary">ส่วนย่อย 1 </div>
<div class="col-span-1 text-secondary">ส่วนย่อย 2</div>
<div class="col-span-6">{{evaluatee.data.bu5.tdesc}}</div>
</div>
</div>
......@@ -70,7 +72,7 @@
<thead class="height-50px">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['รหัส','ชื่อเอกสาร','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','Action']; let f = first; let l = last">
*ngFor="let item of ['รหัส','ชื่อเอกสาร','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','การจัดการ']; let f = first; let l = last">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l">
<span class="font-size-12px font-weight-700">{{ item }}</span>
......@@ -117,10 +119,13 @@
{{masfromEvaluationAssessment1.masfromStatusType.tdesc}}
</td>
<td class="flex justify-center items-center">
<span class="rounded-md bg-success text-white px-3 py-1 cursor-pointer" (click)="selectCompentencyForm(masfromEvaluationAssessment1.competencyType.competencyTypeId);currentTemplate = selfEvaluationEdit ;
pathTitle = ['การประเมินผล', 'ประเมินตนเอง','ประเมินผล']">
<button type="button" class="ti-btn rounded-sm " (click)="selectCompentencyForm(masfromEvaluationAssessment1.competencyType.competencyTypeId);onEdit = true ;
pathTitle = ['การประเมินผล', 'ประเมินตนเอง','ประเมินผล']"
[class.ti-btn-soft-secondary]="masfromEvaluationAssessment1.masfromStatusType.code == 'employee'"
[class.ti-btn-soft-warning]="masfromEvaluationAssessment1.masfromStatusType.code != 'employee'&&masfromEvaluationAssessment1.masfromStatusType.code != 'Boss_finish'"
[class.ti-btn-soft-success]="masfromEvaluationAssessment1.masfromStatusType.code == 'Boss_finish'">
ประเมิน
</span>
</button>
</td>
</tr>
</tbody>
......@@ -138,7 +143,7 @@
<thead class="height-50px">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['รหัส','ชื่อเอกสาร','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','Action']; let f = first; let l = last">
*ngFor="let item of ['รหัส','ชื่อเอกสาร','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','การจัดการ']; let f = first; let l = last">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l">
<span class="font-size-12px font-weight-700">{{ item }}</span>
......@@ -200,10 +205,10 @@
<ng-template #selfEvaluationEdit>
<ng-container *ngIf="onEdit">
<app-evaluation [pathTitle]="['การประเมินผล', 'ประเมินตนเอง','ประเมิน']"
(sendReturnPath)="currentTemplate = selfEvaluation ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']"
(sendReturnPath)="getAppraisalCompentencyList();onEdit = false ; pathTitle = ['การประเมินผล', 'ประเมินตนเอง']"
[evaluationRoundId]="appraisalCompentency.select?.masfromEvaluationRound?.evaluationRoundId || ''"
[evaluaterId]="evaluatee.data.employeeId" [evaluateeId]="evaluatee.data.employeeId"
[competencyTypeId]="competencyTypeId"></app-evaluation>
</ng-template>
\ No newline at end of file
</ng-container>
\ No newline at end of file
......@@ -24,20 +24,18 @@ export class SelfEvaluationComponent implements OnInit {
score: ["หากได้คะแนน 90 - 100% ถือว่า Gap +1", "หากได้คะแนน 80 - 89% ถือว่า ไม่มี Gap", "หากได้คะแนน 60 - 79% ถือว่า Gap - 1", "หากได้คะแนน 40 - 59% ถือว่า Gap -2", "หากได้คะแนน 0 - 39% ถือว่า Gap - 3"],
condition: ["1.หากได้คะแนนสูงกว่า 80% แต่มี 3 2 หรือ 1 ด้วย ถือว่า Gap -1", "2.หากได้คะแนนต่ำกว่า 80% แต่มี 4 และ 5 ให้คิด Gap ตาม %", "3.คะแนนต่ำกว่า 80% แต่มี 2 และ 1 ให้คิด Gap ตาม %"],
}]
@ViewChild('selfEvaluation', { static: true }) selfEvaluation!: TemplateRef<any>;
@ViewChild('selfEvaluationEdit', { static: true }) selfEvaluationEdit!: TemplateRef<any>;
currentTemplate: TemplateRef<any> = this.selfEvaluation
appraisalCompentency: { loading: boolean, select?: AppraisalCompentencyModel, dataList: AppraisalCompentencyModel[] } = { loading: false, select: undefined, dataList: [] }
appraisalPms: { loading: boolean, select: undefined, dataList: { check: boolean, data: undefined }[] } = { loading: false, select: undefined, dataList: [] }
evaluatee: { loading: boolean, data: EmployeeModel } = { loading: false, data: new MyEmployeeModel() }
currentDate = new Date()
competencyTypeId = ""
onEdit = false
constructor(private appraisalService: AppraisalService,
private employeeService: EmployeeService,
private cdr: ChangeDetectorRef
) { }
ngOnInit(): void {
this.currentTemplate = this.selfEvaluation
this.getEvaluatee()
this.getAppraisalCompentencyList()
}
......
......@@ -27,9 +27,8 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" style="height: 40px;" [(ngModel)]="search"
(ngModelChange)="searchChange()">
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
style="height: 40px;" [(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
<i class="ri-search-line text-gray"></i>
......@@ -105,8 +104,11 @@
<td style="font-size: 12px;">{{item.apsassessy.position.tdesc}}</td>
<td class="text-center">
<div class="flex">
<button type="button" class="ti-btn rounded-sm ti-btn-soft-success"
<button type="button" class="ti-btn rounded-sm "
*ngFor="let type of item.typeList"
[class.ti-btn-soft-secondary]="type.statusType == 'employee'"
[class.ti-btn-soft-warning]="type.statusType != 'employee'&&type.statusType != 'Boss_finish'"
[class.ti-btn-soft-success]="type.statusType == 'Boss_finish'"
style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;margin-left:4px;"
(click)="selectSubordinate(item,type.competencyTypeId,subordinate.select?.evaluationRoundId);pageEvalution='evaluation'">
{{type.shortName}}
......@@ -114,16 +116,16 @@
</div>
</td>
<td class="text-center">
<button type="button" class="ti-btn rounded-sm ti-btn-soft-dark"
<!-- <button type="button" class="ti-btn rounded-sm ti-btn-soft-dark"
style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;margin-left:4px;">
IDP
</button>
</button> -->
</td>
<td class="text-center">
<button type="button" class="ti-btn rounded-sm ti-btn-soft-success"
<!-- <button type="button" class="ti-btn rounded-sm ti-btn-soft-success"
style="height: 15px; width: 45px; font-size: 12px; display: flex; align-items: center; justify-content: center;margin-left:4px;">
ประเมิน
</button>
</button> -->
</td>
<td class="text-center" style="font-size: 12px;">{{item.sumScore}}</td>
<td class="text-center" style="font-size: 12px;">{{item.gread}}</td>
......
......@@ -160,7 +160,7 @@
</div>
</div>
<div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">ชื่อพนักงาน *</label>
<label for="input-label" class="ti-form-label">ชื่อพนักงาน <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
......@@ -47,7 +47,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
style="height: 40px;" [(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
......@@ -96,7 +96,7 @@
<thead>
<tr>
<ng-container
*ngFor="let item of ['รหัส','ชื่อหัวข้อ','ประเภท','น้ำหนัก','Action']; let f = first; let l = last; let i = index">
*ngFor="let item of ['รหัส','ชื่อหัวข้อ','ประเภท','น้ำหนัก','การจัดการ']; let f = first; let l = last; let i = index">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f || l || item === 'ระดับความหวัง'">
<span class="text-sm">{{ item }}</span>
......@@ -193,7 +193,7 @@
</div>
<div id="edit-evaluation-grouping-pmstopic-table-modal" class="hs-overlay hidden ti-modal">
<div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out lg:!max-w-4xl lg:w-full m-3 lg:!mx-auto">
<div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out lg:!max-w-4xl lg:w-full m-3 lg:!mx-auto !max-w-3/4">
<div class="max-h-full overflow-hidden ti-modal-content">
<div class="ti-modal-header">
<h3 class="text-xxl font-bold text-primary">
......@@ -213,7 +213,7 @@
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
placeholder="Search" [(ngModel)]="modal.search"
placeholder="Search by No. or Name" [(ngModel)]="modal.search"
(ngModelChange)="searchModalChange(pmstopicListFilter())">
<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">
......@@ -229,7 +229,7 @@
<thead>
<tr>
<ng-container
*ngFor="let item of ['รหัส','ชื่อหัวข้อ','ประเภท','น้ำหนัก','Action']; let f = first; let l = last; let i = index">
*ngFor="let item of ['รหัส','ชื่อหัวข้อ','ประเภท','น้ำหนัก','การจัดการ']; let f = first; let l = last; let i = index">
<th scope="col"
class=" px-10px py-10px bg-soft-secondary text-primary !text-center">
<span class="font-size-12px font-weight-700">{{ item }}</span>
......
......@@ -69,7 +69,7 @@ export class EditEvaluationGroupingComponent {
const match = data.pmsTopicId.toLowerCase().includes(this.modal.search.toLowerCase()) ||
data.tdesc.toLowerCase().includes(this.modal.search.toLowerCase()) ||
data.pmsType.tdesc.toLowerCase().includes(this.modal.search.toLowerCase()) ||
(data.pmsType.weight + "").toLowerCase().includes(this.modal.search.toLowerCase())
(data.weight + "").toLowerCase().includes(this.modal.search.toLowerCase())
return match
})
}
......
......@@ -5,7 +5,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="search" (ngModelChange)="searchChange()">
<div
class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
......@@ -38,7 +38,7 @@
<thead>
<tr>
<ng-container
*ngFor="let item of ['รหัส','ชื่อเครื่องมือประเมิน','Action']; let f = first; let l = last; let i = index">
*ngFor="let item of ['รหัส','ชื่อระดับพนักงาน (ไทย)','การจัดการ']; let f = first; let l = last; let i = index">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l">
<span class="text-sm">{{ item }}</span>
......
......@@ -26,7 +26,7 @@
<thead class="height-50px">
<tr class="font-size-12px">
<ng-container
*ngFor="let item of ['รหัส','รายละเอียด','รอบปีการประเมิน','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','Action']; let f = first; let l = last">
*ngFor="let item of ['รหัส','รายละเอียด','รอบปีการประเมิน','วันที่เริ่มต้น','วันที่สิ้นสุด','สถานะ','การจัดการ']; let f = first; let l = last">
<th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
[class.!text-center]="f||l">
<span class="font-size-12px font-weight-700">{{ item }}</span>
......@@ -172,11 +172,11 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน *</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) *</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) <span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.period">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16">
......
......@@ -250,25 +250,25 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน*</label>
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.pmsEvaluationRoundId">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="dataSelect.edesc">
<label for="input-label" class="ti-form-label mt-2rem">ปีการประเมิน*</label>
<label for="input-label" class="ti-form-label mt-2rem">ปีการประเมิน<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.apsyear">
<label for="input-label" class="ti-form-label mt-2rem">เริ่มวันที่*</label>
<label for="input-label" class="ti-form-label mt-2rem">เริ่มวันที่<span class="text-danger">*</span></label>
<input type="date" id="input-label" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.apsPeriodStart">
<label for="input-label" class="ti-form-label mt-2rem">สิ้นสุดวันที่*</label>
<label for="input-label" class="ti-form-label mt-2rem">สิ้นสุดวันที่<span class="text-danger">*</span></label>
<input type="date" id="input-label" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.apsPeriodEnd">
<div class="flex justify-end mt-2rem mb-1rem">
......
......@@ -21,7 +21,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="search" (ngModelChange)="searchChange()" style="height: 40px;">
<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">
......@@ -202,10 +202,10 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label class="ti-form-label mt-2rem">รหัส*</label>
<label class="ti-form-label mt-2rem">รหัส<span class="text-danger">*</span></label>
<input type="text" class="ti-form-input w-1/2" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}"
[readonly]="modalStatus=='edit'" [(ngModel)]="pmstopic.select.pmsTopicId">
<label class="ti-form-label mt-2rem">ประเภทการประเมินผล*</label>
<label class="ti-form-label mt-2rem">ประเภทการประเมินผล<span class="text-danger">*</span></label>
<div class="flex">
<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" readonly
......@@ -221,7 +221,7 @@
</div>
</div>
</div>
<label class="ti-form-label mt-2rem">ชื่อหัวข้อ*</label>
<label class="ti-form-label mt-2rem">ชื่อหัวข้อ<span class="text-danger">*</span></label>
<input type="text" class="ti-form-input" [(ngModel)]="pmstopic.select.tdesc">
<label class="ti-form-label mt-2rem">ชื่อหัวข้อ (อังกฤษ)</label>
<input type="text" class="ti-form-input" [(ngModel)]="pmstopic.select.edesc">
......@@ -229,6 +229,12 @@
<input type="text" class="ti-form-input" [(ngModel)]="pmstopic.select.indicatorsDetail">
<label class="ti-form-label mt-2rem">เป้าหมายผลงาน</label>
<input type="text" class="ti-form-input" [(ngModel)]="pmstopic.select.performanceGoalsDetail">
<label class="ti-form-label mt-2rem">หน่วยนับ</label>
<input type="text" class="ti-form-input" placeholder="???" >
<label class="ti-form-label mt-2rem">กำหนดเวลาแล้วเสร็จ</label>
<input type="text" class="ti-form-input" placeholder="???" >
<label class="ti-form-label mt-2rem">น้ำหนัก</label>
<input type="text" class="ti-form-input" placeholder="???" >
<label class="ti-form-label mt-2rem">ค่าเป้าหมาย</label>
<div class="grid grid-cols-12 gap-x-2 mt-2rem">
<label class="ti-form-label col-span-3 align-center m-0">A (5 คะแนน)</label>
......@@ -247,7 +253,7 @@
<input type="text" class="ti-form-input col-span-9" [(ngModel)]="pmstopic.select.targetDdetail">
</div>
<div class="grid grid-cols-12 gap-x-2 mt-2rem">
<label class="ti-form-label col-span-3 align-center m-0">F (1 คะแนน)</label>
<label class="ti-form-label col-span-3 align-center m-0">E (1 คะแนน)</label>
<input type="text" class="ti-form-input col-span-9" [(ngModel)]="pmstopic.select.targetFdetail">
</div>
<div class="flex justify-end mt-2rem mb-1rem">
......@@ -389,7 +395,7 @@
<div class="px-1">
<div class="relative shadow-md">
<input type="text" id="hs-leading-icon" name="hs-leading-icon"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search"
class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 " placeholder="Search by No. or Name"
[(ngModel)]="modal.search" (ngModelChange)="modalSearchChange(pmstypeListFilter())">
<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">
......
......@@ -201,11 +201,11 @@
</div>
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-1rem">รหัส *</label>
<label for="input-label" class="ti-form-label mt-1rem">รหัส <span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="pmstype.select.pmsTypeId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อประเภท (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อประเภท (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input w-2/3" [(ngModel)]="pmstype.select.tdesc">
<label for="detail_eng" class="ti-form-label mt-1rem">ชื่อประเภท (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input w-2/3" [(ngModel)]="pmstype.select.edesc">
......
......@@ -65,10 +65,10 @@
<div class="pt-50px">
<div *ngIf="currentTab==1" id="card-type-1" role="tabpanel" aria-labelledby="card-type-item-1">
<div class="page px-rem">
<label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด*</label>
<label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด<span class="text-danger">*</span></label>
<input type="text" id="input-label" class="ti-form-input w-1/4" [readonly]="typeTab == 'edit'"
[class.bg-input-readonly]="typeTab == 'edit'" [(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<input type="text" id="detail_th" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียด (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.edesc">
......
......@@ -185,7 +185,7 @@
</div>
</div>
<div class="ti-modal-body">
<label class="ti-form-label ">รหัสเกรด *</label>
<label class="ti-form-label ">รหัสเกรด <span class="text-danger">*</span></label>
<div class="flex">
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
......@@ -195,7 +195,7 @@
[(ngModel)]="pmsGrade.select.gradeId">
</div>
</div>
<label class="ti-form-label mt-2rem">รายละเอียด (ไทย)*</label>
<label class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></label>
<div class="relative flex rounded-md w-full">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -211,7 +211,7 @@
</div>
<div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2">
<label class="ti-form-label">กำหนดเกรด *</label>
<label class="ti-form-label">กำหนดเกรด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -232,7 +232,7 @@
</div>
<div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2">
<label class="ti-form-label">คะแนนต่ำสุด *</label>
<label class="ti-form-label">คะแนนต่ำสุด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......@@ -242,7 +242,7 @@
</div>
</div>
<div class="w-1/2 pl-2">
<label class="ti-form-label">คะแนนสูงสุด *</label>
<label class="ti-form-label">คะแนนสูงสุด <span class="text-danger">*</span></label>
<div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button"
......
......@@ -20,7 +20,8 @@
<div class="page">
<div class="grid grid-cols-3 gap-6">
<div class="col-span-1">
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ปีการประเมิน *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label">ปีการประเมิน <span
class="text-danger">*</span></label>
</div>
</div>
<div class="grid grid-cols-3 gap-6">
......@@ -29,7 +30,8 @@
[(ngModel)]="setting.data.apsyear">
</div>
</div>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">จัดการสมรรถนะกับกลุ่ม *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">จัดการสมรรถนะกับกลุ่ม <span
class="text-danger">*</span></label>
<div class="box-body">
<div class="grid grid-cols-6 gap-2">
<div class="grid col-span-1 grid-cols-6 gap-2">
......@@ -42,7 +44,7 @@
<div class="col-span-5">
<label for="settingGroupAssessment-0" class="text-sm text-gray-500"
[class.pointer-events-none]="setting.data.settingGroupAssessment=='0'">
ระดับพนักงาน (PL)
ระดับพนักงาน (JL)
</label>
</div>
</div>
......@@ -61,7 +63,8 @@
</div>
</div>
</div>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">เเสดงผลประเมินสมรรถนะ *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">เเสดงผลประเมินสมรรถนะ <span
class="text-danger">*</span></label>
<div class="box-body">
<div class="grid grid-cols-6 gap-2">
<div class="grid col-span-1 grid-cols-6 gap-2">
......@@ -93,7 +96,8 @@
</div>
</div>
</div>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">เเสดงผลประเมินเวลาทำงาน *</label>
<label for="hs-trailing-button-add-on-with-icon" class="ti-form-label mt-10">เเสดงผลประเมินเวลาทำงาน <span
class="text-danger">*</span></label>
<div class="box-body">
<div class="grid grid-cols-6 gap-2">
<div class="grid col-span-1 grid-cols-6 gap-2">
......
......@@ -783,7 +783,7 @@
id="icon"
name="icon"
class="py-2 ltr:pl-11 rtl:pr-11 ti-form-input focus:z-10"
placeholder="Search"
placeholder="Search by No. or Name"
/>
<div class="voice-search">
<i class="ri ri-mic-2-line voice-btn-icon"></i>
......
<!-- Start::app-sidebar -->
<aside class="app-sidebar" [ngClass]="{ 'sticky-pin': scrolled }" id="sidebar" style="padding-top: 0;border-width: 0;">
<!-- Start::main-sidebar-header -->
<div class="main-sidebar-header" style="background-color: white;padding-top: 0px;padding-bottom: 0px;">
<div class="main-sidebar-header" style="background-color: white;padding-top: 0px;padding-bottom: 0px;padding-left: 5px;padding-right: 5px;">
<a routerLink="/dashboard/sales" class="header-logo">
<img src="./assets/img/brand-logos/mySkill-x.png" alt="logo" class="main-logo desktop-logo"
style="height: 100%;object-fit: contain;" />
......
......@@ -106,6 +106,7 @@ export class NavService implements OnDestroy {
{ path: '/company-registration', title: 'ทะเบียนบริษัท', type: 'link' },
{ path: '/job-description', title: 'ข้อมูลลักษณะงาน', type: 'link' },
{ path: '/employee-registration', title: 'ทะเบียนพนักงาน', type: 'link' },
{ path: '/day-type-registry', title: 'ทะเบียนประเภทวัน', type: 'link' },
{ path: '/account-settings', title: 'ตั้งค่าชื่อผู้ใช้', type: 'link' },
],
},
......
......@@ -24926,3 +24926,8 @@ div:where(.swal2-container) div:where(.swal2-validation-message) {
.cursor-not-allowed{
cursor: not-allowed
}
.\!max-w-3\/4 {
max-width: 75% !important;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment