Commit d98800ca by Nattana Chaiyamat

Primary Key

parent 7792eb25
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">ฝ่าย <label for="input-label" class="ti-form-label mt-2rem">ฝ่าย
<span class="text-danger"> * <span class="text-danger">*
<ng-container *ngIf="checkPrimary()"> <ng-container *ngIf="checkPrimary()">
ฝ่ายซ้ำ ฝ่ายซ้ำ
</ng-container> </ng-container>
......
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
</div> </div>
</div> </div>
<div class="ti-modal-body mt-1"> <div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">ชื่อพนักงาน <span class="text-danger">*</span></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 <input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname"> [value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label> <label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
...@@ -107,7 +107,8 @@ ...@@ -107,7 +107,8 @@
</td> </td>
<td class="text-center"> <td class="text-center">
<label for="checkbox-{{item.data.competencyCourseId}}">&nbsp;{{item.data.competencyCourseId}}</label> <label
for="checkbox-{{item.data.competencyCourseId}}">&nbsp;{{item.data.competencyCourseId}}</label>
</td> </td>
<td>{{item.data.tdesc}}</td> <td>{{item.data.tdesc}}</td>
<td class="flex justify-center"> <td class="flex justify-center">
...@@ -245,11 +246,15 @@ ...@@ -245,11 +246,15 @@
</div> </div>
</div> </div>
<div class="ti-modal-body mt-1"> <div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัสหลักสูตร<span class="text-danger">*</span></label> <label for="input-label" class="ti-form-label">รหัสหลักสูตร<span class="text-danger">*<ng-container
*ngIf="currentModal=='add'&&checkPrimary()">
รหัสหลักสูตรซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'" [ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(ngModel)]="competencyCourse.select.competencyCourseId"> [(ngModel)]="competencyCourse.select.competencyCourseId">
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหลักสูตร (ไทย)<span class="text-danger">*</span></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" <input type="text" id="detail_th" class="ti-form-input h-10"
[(ngModel)]="competencyCourse.select.tdesc"> [(ngModel)]="competencyCourse.select.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">ชื่อหลักสูตร (อังกฤษ)</label> <label for="detail_eng" class="ti-form-label mt-2rem">ชื่อหลักสูตร (อังกฤษ)</label>
...@@ -271,8 +276,8 @@ ...@@ -271,8 +276,8 @@
</button> </button>
<button type="button" class="ti-btn ti-btn-success" <button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#development-course-alert-modal" data-hs-overlay="#development-course-alert-modal"
[class.ti-btn-disabled]="!competencyCourse.select.competencyCourseId||!competencyCourse.select.tdesc" [class.ti-btn-disabled]="!competencyCourse.select.competencyCourseId||!competencyCourse.select.tdesc||(currentModal=='add'&&checkPrimary())"
[disabled]="!competencyCourse.select.competencyCourseId||!competencyCourse.select.tdesc"> [disabled]="!competencyCourse.select.competencyCourseId||!competencyCourse.select.tdesc||(currentModal=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
...@@ -291,8 +296,7 @@ ...@@ -291,8 +296,7 @@
</h3> </h3>
<div class="flex justify-end"> <div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger" <button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
*ngIf="currentModal=='add'||currentModal=='edit'" *ngIf="currentModal=='add'||currentModal=='edit'" data-hs-overlay="#development-course-modal">
data-hs-overlay="#development-course-modal">
<span class="sr-only">Close</span> <span class="sr-only">Close</span>
<i class="ti ti-circle-x fs-xxl"></i> <i class="ti ti-circle-x fs-xxl"></i>
</button> </button>
...@@ -337,7 +341,8 @@ ...@@ -337,7 +341,8 @@
ย้อนกลับ ย้อนกลับ
</button> </button>
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" <a class="ti-btn ti-btn-danger" href="javascript:void(0);"
data-hs-overlay="#development-course-alert-modal" (click)="updateCompetencyCourse('delete')" *ngIf="numDataListChecked"> data-hs-overlay="#development-course-alert-modal" (click)="updateCompetencyCourse('delete')"
*ngIf="numDataListChecked">
ลบข้อมูล ลบข้อมูล
</a> </a>
</div> </div>
......
...@@ -171,4 +171,8 @@ export class DevelopmentCourseComponent { ...@@ -171,4 +171,8 @@ export class DevelopmentCourseComponent {
this.selectCompetencycourse(new MyCompetencyCourseModel({ competencyCourseId: this.competencyCourse.select.competencyCourseId })) this.selectCompetencycourse(new MyCompetencyCourseModel({ competencyCourseId: this.competencyCourse.select.competencyCourseId }))
} }
} }
checkPrimary() {
return this.competencyCourse.dataList.find(x => x.data.competencyCourseId == this.competencyCourse.select.competencyCourseId)
}
} }
...@@ -192,11 +192,11 @@ ...@@ -192,11 +192,11 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<!-- <label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน <span class="text-danger">*</span></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" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.code"> [(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) <span class="text-danger">*</span></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"> <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> <label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16"> <input type="text" id="detail_eng" class="ti-form-input h-16">
......
...@@ -254,8 +254,10 @@ ...@@ -254,8 +254,10 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน<span <label for="input-label" class="ti-form-label mt-2rem">รหัสรอบการประเมิน<span class="text-danger">
class="text-danger">*</span></label> *<ng-container *ngIf="modalStatus=='add'&&checkPrimary()">
รหัสรอบการประเมินซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="evaluation_cycle.evaluationRoundId"> [(ngModel)]="evaluation_cycle.evaluationRoundId">
...@@ -342,9 +344,10 @@ ...@@ -342,9 +344,10 @@
data-hs-overlay="#evaluation-cycle-page-modal"> data-hs-overlay="#evaluation-cycle-page-modal">
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#evaluation-cycle-page-alert-modal" *ngIf="modalStatusEdit" <button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#evaluation-cycle-page-alert-modal"
[class.ti-btn-disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd" *ngIf="modalStatusEdit"
[disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd"> [class.ti-btn-disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd||(modalStatus=='add'&&checkPrimary())"
[disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
......
...@@ -47,7 +47,7 @@ export class EvaluationCycleComponent { ...@@ -47,7 +47,7 @@ export class EvaluationCycleComponent {
(this.currentDate.getFullYear()) + "", (this.currentDate.getFullYear()) + "",
(this.currentDate.getFullYear() + 1) + "", (this.currentDate.getFullYear() + 1) + "",
] ]
modalStatusEdit= false modalStatusEdit = false
constructor(private evaluationCycleService: EvaluationCycleService, constructor(private evaluationCycleService: EvaluationCycleService,
private toastr: ToastrService, private toastr: ToastrService,
private cdr: ChangeDetectorRef, private cdr: ChangeDetectorRef,
...@@ -269,6 +269,9 @@ export class EvaluationCycleComponent { ...@@ -269,6 +269,9 @@ export class EvaluationCycleComponent {
}) })
} }
checkPrimary() {
return this.evaluation_cyclelist.find(x => x.data.evaluationRoundId == this.evaluation_cycle.evaluationRoundId)
}
} }
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
</div> </div>
</div> </div>
<div class="ti-modal-body"> <div class="ti-modal-body">
<label class="ti-form-label ">รหัสเกรด <span class="text-danger">*</span></label> <label class="ti-form-label ">รหัสเกรด<span class="text-danger">*</span></label>
<div class="flex"> <div class="flex">
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
</div> </div>
<div class="flex justify-between mt-2rem space-x-4"> <div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2"> <div class="w-1/2 pr-2">
<label class="ti-form-label">กำหนดเกรด <span class="text-danger">*</span></label> <label class="ti-form-label">กำหนดเกรด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
</div> </div>
<div class="flex justify-between mt-2rem space-x-4"> <div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2"> <div class="w-1/2 pr-2">
<label class="ti-form-label">คะแนนต่ำสุด <span class="text-danger">*</span></label> <label class="ti-form-label">คะแนนต่ำสุด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</div> </div>
</div> </div>
<div class="w-1/2 pl-2"> <div class="w-1/2 pl-2">
<label class="ti-form-label">คะแนนสูงสุด <span class="text-danger">*</span></label> <label class="ti-form-label">คะแนนสูงสุด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
......
...@@ -205,11 +205,15 @@ ...@@ -205,11 +205,15 @@
</div> </div>
</div> </div>
<div class="ti-modal-body mt-1"> <div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">รหัส<span class="text-danger">*</span></label> <label for="input-label" class="ti-form-label">รหัส<span class="text-danger">*<ng-container
*ngIf="modalStatus=='add'&&checkPrimary()">
รหัสซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.id"> [(ngModel)]="dataSelect.id">
<label for="detail_th" class="ti-form-label mt-2rem">ชื่อหัวข้อ (ไทย)<span class="text-danger">*</span></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"> <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> <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"> <input type="text" id="detail_eng" class="ti-form-input h-10" [(ngModel)]="dataSelect.edesc">
...@@ -229,7 +233,8 @@ ...@@ -229,7 +233,8 @@
(click)="dataSelect.type.code=''"> (click)="dataSelect.type.code=''">
<i class="ti ti-circle-x cursor-pointer"></i> <i class="ti ti-circle-x cursor-pointer"></i>
</button> </button>
<button type="button" class="flex items-center text-gray-500 dark:text-white/70" (click)="searchCompetencytypeChange()" <button type="button" class="flex items-center text-gray-500 dark:text-white/70"
(click)="searchCompetencytypeChange()"
data-hs-overlay="#competency-topic-table-modal-select"> data-hs-overlay="#competency-topic-table-modal-select">
<i class="ri-search-line cursor-pointer text-gray"></i> <i class="ri-search-line cursor-pointer text-gray"></i>
</button> </button>
...@@ -270,8 +275,8 @@ ...@@ -270,8 +275,8 @@
</button> </button>
<button type="button" class="ti-btn ti-btn-success" <button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#competency-topic-page-alert-modal" data-hs-overlay="#competency-topic-page-alert-modal"
[class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.type.code" [class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.type.code||(modalStatus=='add'&&checkPrimary())"
[disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.type.code"> [disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.type.code||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
......
...@@ -324,4 +324,8 @@ export class CompetencyTopic { ...@@ -324,4 +324,8 @@ export class CompetencyTopic {
this.numDataListChecked = this.competoncyTopicList.filter(x => x.check).length; this.numDataListChecked = this.competoncyTopicList.filter(x => x.check).length;
this.isDataListChecked = Boolean(this.numDataListChecked) this.isDataListChecked = Boolean(this.numDataListChecked)
} }
checkPrimary() {
return this.competoncyTopicList.find(x => x.data.id == this.dataSelect.id)
}
} }
...@@ -205,17 +205,22 @@ ...@@ -205,17 +205,22 @@
</div> </div>
</div> </div>
<div class="ti-modal-body" style="padding-top: 0px;"> <div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัส <span class="text-danger">*</span></label> <label for="input-label" class="ti-form-label mt-1rem">รหัส<span class="text-danger">* <ng-container
*ngIf="modalStatus=='add'&&checkPrimary()">
รหัสซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.id"> [(ngModel)]="dataSelect.id">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อประเภท (ไทย)<span class="text-danger">*</span></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"> <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> <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"> <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">ชื่อย่อ <span class="text-danger">*</span></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"> <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">ระดับความคาดหวัง <span class="text-danger">*</span></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;" <input type="text" id="detail_eng" class="ti-form-input" style="width: 200px;"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.level"> oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.level">
<label for="detail_eng" class="ti-form-label mt-1rem">น้ำหนัก</label> <label for="detail_eng" class="ti-form-label mt-1rem">น้ำหนัก</label>
...@@ -231,8 +236,8 @@ ...@@ -231,8 +236,8 @@
</button> </button>
<button type="button" class="ti-btn ti-btn-success" <button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#type-registration-component-page-alert-modal" data-hs-overlay="#type-registration-component-page-alert-modal"
[class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.code||!dataSelect.level" [class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.code||!dataSelect.level||(modalStatus=='add'&&checkPrimary())"
[disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.code||!dataSelect.level"> [disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.code||!dataSelect.level||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
......
...@@ -208,5 +208,9 @@ export class TypeRegistration { ...@@ -208,5 +208,9 @@ export class TypeRegistration {
this.setData({ id: this.dataSelect.id, companyId: "", name: "", edesc: "", code: "", level: "", weight: 0.00, checked: this.dataSelect.checked }) this.setData({ id: this.dataSelect.id, companyId: "", name: "", edesc: "", code: "", level: "", weight: 0.00, checked: this.dataSelect.checked })
} }
} }
checkPrimary() {
return this.competoncy_typeList.find(x => x.data.id == this.dataSelect.id)
}
} }
...@@ -245,15 +245,20 @@ ...@@ -245,15 +245,20 @@
</div> </div>
</div> </div>
<div class="ti-modal-body" style="padding-top: 0px;"> <div class="ti-modal-body" style="padding-top: 0px;">
<label for="input-label" class="ti-form-label mt-1rem">รหัส<span class="text-danger">*</span></label> <label for="input-label" class="ti-form-label mt-1rem">รหัส<span class="text-danger">*<ng-container
*ngIf="currentModal=='add'&&checkPrimary()">
รหัสซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'" [ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(ngModel)]="assessment.select.assessmentId"> [(ngModel)]="assessment.select.assessmentId">
<label for="detail_th" class="ti-form-label mt-1rem">ชื่อเครื่องมือประเมิน (ไทย)<span class="text-danger">*</span></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"> <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> <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"> <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">ชื่อที่ใช้เเสดง<span class="text-danger">*</span></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"> <input type="text" id="showname" class="ti-form-input w-full" [(ngModel)]="assessment.select.shortName">
<div class="flex justify-end mt-2rem mb-1rem"> <div class="flex justify-end mt-2rem mb-1rem">
<button type="button" <button type="button"
...@@ -262,8 +267,8 @@ ...@@ -262,8 +267,8 @@
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#assessment-tool-alert-modal" <button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#assessment-tool-alert-modal"
[class.ti-btn-disabled]="!assessment.select.assessmentId||!assessment.select.tdesc||!assessment.select.shortName" [class.ti-btn-disabled]="!assessment.select.assessmentId||!assessment.select.tdesc||!assessment.select.shortName||(currentModal=='add'&&checkPrimary())"
[disabled]="!assessment.select.assessmentId||!assessment.select.tdesc||!assessment.select.shortName"> [disabled]="!assessment.select.assessmentId||!assessment.select.tdesc||!assessment.select.shortName||(currentModal=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
...@@ -325,8 +330,8 @@ ...@@ -325,8 +330,8 @@
data-hs-overlay="#assessment-tool-alert-modal"> data-hs-overlay="#assessment-tool-alert-modal">
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-danger" data-hs-overlay="#assessment-tool-alert-modal" *ngIf="numDataListChecked" <button type="button" class="ti-btn ti-btn-danger" data-hs-overlay="#assessment-tool-alert-modal"
(click)="updateAssessment('delete')"> *ngIf="numDataListChecked" (click)="updateAssessment('delete')">
ลบข้อมูล ลบข้อมูล
</button> </button>
</div> </div>
......
...@@ -180,5 +180,9 @@ export class AssessmentToolComponent { ...@@ -180,5 +180,9 @@ export class AssessmentToolComponent {
this.numDataListChecked = this.assessment.dataList.filter(x => x.check).length; this.numDataListChecked = this.assessment.dataList.filter(x => x.check).length;
this.isDataListChecked = Boolean(this.numDataListChecked) this.isDataListChecked = Boolean(this.numDataListChecked)
} }
checkPrimary() {
return this.assessment.dataList.find(x => x.data.assessmentId == this.assessment.select.assessmentId)
}
} }
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
</div> </div>
</div> </div>
<div class="ti-modal-body mt-1"> <div class="ti-modal-body mt-1">
<label for="input-label" class="ti-form-label">ชื่อพนักงาน <span class="text-danger">*</span></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 <input type="text" id="input-label" class="ti-form-input w-1/2 bg-input-readonly" readonly
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname"> [value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label> <label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
...@@ -172,11 +172,11 @@ ...@@ -172,11 +172,11 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน <span class="text-danger">*</span></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" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="dataSelect.code"> [(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (ไทย) <span class="text-danger">*</span></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"> <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> <label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดฝ่าย (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16"> <input type="text" id="detail_eng" class="ti-form-input h-16">
......
...@@ -255,8 +255,10 @@ ...@@ -255,8 +255,10 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-2rem">รหัส รอบการประเมิน<span <label for="input-label" class="ti-form-label mt-2rem">รหัสรอบการประเมิน<span
class="text-danger">*</span></label> class="text-danger">*<ng-container *ngIf="modalStatus=='add'&&checkPrimary()">
รหัสรอบการประเมินซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/2" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="pmsMasfromEvaluation.pmsEvaluationRoundId"> [(ngModel)]="pmsMasfromEvaluation.pmsEvaluationRoundId">
...@@ -340,8 +342,8 @@ ...@@ -340,8 +342,8 @@
</button> </button>
<button type="button" class="ti-btn ti-btn-success" <button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#management-evaluation-cycle-page-alert-modal" *ngIf="modalStatusEdit" data-hs-overlay="#management-evaluation-cycle-page-alert-modal" *ngIf="modalStatusEdit"
[class.ti-btn-disabled]="!pmsMasfromEvaluation.pmsEvaluationRoundId||!pmsMasfromEvaluation.tdesc||!pmsMasfromEvaluation.apsyear||!pmsMasfromEvaluation.apsPeriodStart||!pmsMasfromEvaluation.apsPeriodEnd" [class.ti-btn-disabled]="!pmsMasfromEvaluation.pmsEvaluationRoundId||!pmsMasfromEvaluation.tdesc||!pmsMasfromEvaluation.apsyear||!pmsMasfromEvaluation.apsPeriodStart||!pmsMasfromEvaluation.apsPeriodEnd||(modalStatus=='add'&&checkPrimary())"
[disabled]="!pmsMasfromEvaluation.pmsEvaluationRoundId||!pmsMasfromEvaluation.tdesc||!pmsMasfromEvaluation.apsyear||!pmsMasfromEvaluation.apsPeriodStart||!pmsMasfromEvaluation.apsPeriodEnd"> [disabled]="!pmsMasfromEvaluation.pmsEvaluationRoundId||!pmsMasfromEvaluation.tdesc||!pmsMasfromEvaluation.apsyear||!pmsMasfromEvaluation.apsPeriodStart||!pmsMasfromEvaluation.apsPeriodEnd||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
......
...@@ -48,7 +48,7 @@ export class ManagementCycleComponent { ...@@ -48,7 +48,7 @@ export class ManagementCycleComponent {
(this.currentDate.getFullYear() + 1) + "", (this.currentDate.getFullYear() + 1) + "",
] ]
modalStatusEdit= false modalStatusEdit = false
constructor(private pmsMasfromEvaluationCycleService: PmsMasfromEvaluationCycleService, constructor(private pmsMasfromEvaluationCycleService: PmsMasfromEvaluationCycleService,
private toastr: ToastrService, private toastr: ToastrService,
private cdr: ChangeDetectorRef, private cdr: ChangeDetectorRef,
...@@ -270,6 +270,10 @@ export class ManagementCycleComponent { ...@@ -270,6 +270,10 @@ export class ManagementCycleComponent {
} }
}) })
} }
checkPrimary() {
return this.pmsMasfromEvaluationlist.find(x => x.data.pmsEvaluationRoundId == this.pmsMasfromEvaluation.pmsEvaluationRoundId)
}
} }
...@@ -202,7 +202,10 @@ ...@@ -202,7 +202,10 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label class="ti-form-label mt-2rem">รหัส<span class="text-danger">*</span></label> <label class="ti-form-label mt-2rem">รหัส<span class="text-danger">*<ng-container
*ngIf="modalStatus=='add'&&checkPrimary()">
รหัสซ้ำ
</ng-container></span></label>
<input type="text" class="ti-form-input w-1/2" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" <input type="text" class="ti-form-input w-1/2" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}"
[readonly]="modalStatus=='edit'" [(ngModel)]="pmstopic.select.pmsTopicId"> [readonly]="modalStatus=='edit'" [(ngModel)]="pmstopic.select.pmsTopicId">
<label class="ti-form-label mt-2rem">ประเภทการประเมินผล<span class="text-danger">*</span></label> <label class="ti-form-label mt-2rem">ประเภทการประเมินผล<span class="text-danger">*</span></label>
...@@ -273,8 +276,8 @@ ...@@ -273,8 +276,8 @@
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#assessment-topics-alert-modal" <button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#assessment-topics-alert-modal"
[class.ti-btn-disabled]="!pmstopic.select.pmsTopicId||!pmstopic.select.pmsType.pmsTypeId||!pmstopic.select.tdesc" [class.ti-btn-disabled]="!pmstopic.select.pmsTopicId||!pmstopic.select.pmsType.pmsTypeId||!pmstopic.select.tdesc||(modalStatus=='add'&&checkPrimary())"
[disabled]="!pmstopic.select.pmsTopicId||!pmstopic.select.pmsType.pmsTypeId||!pmstopic.select.tdesc"> [disabled]="!pmstopic.select.pmsTopicId||!pmstopic.select.pmsType.pmsTypeId||!pmstopic.select.tdesc||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
...@@ -340,8 +343,8 @@ ...@@ -340,8 +343,8 @@
data-hs-overlay="#assessment-topics-alert-modal"> data-hs-overlay="#assessment-topics-alert-modal">
ย้อนกลับ ย้อนกลับ
</button> </button>
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" data-hs-overlay="#assessment-topics-alert-modal" *ngIf="numDataListChecked" <a class="ti-btn ti-btn-danger" href="javascript:void(0);" data-hs-overlay="#assessment-topics-alert-modal"
(click)="updatePmstopic('delete')"> *ngIf="numDataListChecked" (click)="updatePmstopic('delete')">
ลบข้อมูล ลบข้อมูล
</a> </a>
</ng-container> </ng-container>
......
...@@ -254,5 +254,8 @@ export class AssessmentTopicsComponent { ...@@ -254,5 +254,8 @@ export class AssessmentTopicsComponent {
return `${year}-${month}-${day}`; return `${year}-${month}-${day}`;
} }
checkPrimary() {
return this.pmstopic.dataList.find(x => x.data.pmsTopicId == this.pmstopic.select.pmsTopicId)
}
} }
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label for="input-label" class="ti-form-label mt-1rem">รหัส <span class="text-danger">*</span></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" <input type="text" id="input-label" class="ti-form-input w-1/2"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="pmstype.select.pmsTypeId"> [(ngModel)]="pmstype.select.pmsTypeId">
......
...@@ -177,7 +177,7 @@ ...@@ -177,7 +177,7 @@
<ng-container *ngIf="typeTab"> <ng-container *ngIf="typeTab">
<app-pms-group-grade [dataSelect]="dataSelect" [typeTab]="typeTab" (sendBackTab)="pathTitleChange($event)" <app-pms-group-grade [dataSelect]="dataSelect" [dataList]="dataList" [typeTab]="typeTab" (sendBackTab)="pathTitleChange($event)"
(sendDataList)="dataList=$event"></app-pms-group-grade> (sendDataList)="dataList=$event"></app-pms-group-grade>
</ng-container> </ng-container>
......
...@@ -14,8 +14,9 @@ ...@@ -14,8 +14,9 @@
<div class="flex justify-end"> <div class="flex justify-end">
<div class="px-1"> <div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-10 m-0 shadow-md" <button type="button" class="ti-btn ti-btn-soft-success h-10 m-0 shadow-md"
[ngClass]="{'ti-btn-disabled': !dataSelect.code||!dataSelect.tdesc}" [ngClass]="{'ti-btn-disabled': !dataSelect.code||!dataSelect.tdesc||(typeTab=='add'&&checkPrimary())}"
data-hs-overlay="#add-group-grade-alert-add-modal" [disabled]="!dataSelect.code||!dataSelect.tdesc"> data-hs-overlay="#add-group-grade-alert-add-modal"
[disabled]="!dataSelect.code||!dataSelect.tdesc||(typeTab=='add'&&checkPrimary())">
<i class="ri-save-3-line"></i> <i class="ri-save-3-line"></i>
Save Save
</button> </button>
...@@ -65,10 +66,14 @@ ...@@ -65,10 +66,14 @@
<div class="pt-50px"> <div class="pt-50px">
<div *ngIf="currentTab==1" id="card-type-1" role="tabpanel" aria-labelledby="card-type-item-1"> <div *ngIf="currentTab==1" id="card-type-1" role="tabpanel" aria-labelledby="card-type-item-1">
<div class="page px-rem"> <div class="page px-rem">
<label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด<span class="text-danger">*</span></label> <label for="input-label" class="ti-form-label">กำหนดรหัสกลุ่มเกรด<span class="text-danger">*
<ng-container *ngIf="typeTab=='add'&&checkPrimary()">
รหัสกลุ่มเกรดซ้ำ
</ng-container></span></label>
<input type="text" id="input-label" class="ti-form-input w-1/4" [readonly]="typeTab == 'edit'" <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"> [class.!bg-input-readonly]="typeTab == 'edit'" [(ngModel)]="dataSelect.code">
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียด (ไทย)<span class="text-danger">*</span></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"> <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> <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"> <input type="text" id="detail_eng" class="ti-form-input w-1/2" [(ngModel)]="dataSelect.edesc">
......
import { Component, EventEmitter, Input, Output, OnInit, ChangeDetectorRef } from '@angular/core'; import { Component, EventEmitter, Input, Output, OnInit, ChangeDetectorRef } from '@angular/core';
import { ToastrService } from 'ngx-toastr'; import { ToastrService } from 'ngx-toastr';
import { CompetencyGradeModel } from 'src/app/shared/model/competency-grades.model'; import { CompetencyGradeModel, MyCompetencyGradeModel } from 'src/app/shared/model/competency-grades.model';
import { MyPmsGroupGradeModel } from 'src/app/shared/model/pms-group-grade.model'; import { MyPmsGroupGradeModel } from 'src/app/shared/model/pms-group-grade.model';
import { PmsGroupGradeService } from 'src/app/shared/services/pms-group-grade.service'; import { PmsGroupGradeService } from 'src/app/shared/services/pms-group-grade.service';
export interface DataModel { export interface DataModel {
...@@ -20,6 +20,7 @@ export class PmsGroupGradeComponent implements OnInit { ...@@ -20,6 +20,7 @@ export class PmsGroupGradeComponent implements OnInit {
@Output() sendBackTab: EventEmitter<undefined> = new EventEmitter<undefined>(); @Output() sendBackTab: EventEmitter<undefined> = new EventEmitter<undefined>();
@Input() typeTab: 'add' | 'edit' = 'add' @Input() typeTab: 'add' | 'edit' = 'add'
@Input() dataSelect: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] } @Input() dataSelect: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] }
@Input() dataList: DataModel[] = [];
dataOriginal: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] } dataOriginal: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] }
@Output() sendDataList: EventEmitter<DataModel[]> = new EventEmitter<DataModel[]>(); @Output() sendDataList: EventEmitter<DataModel[]> = new EventEmitter<DataModel[]>();
currentTab = 1 currentTab = 1
...@@ -70,5 +71,8 @@ export class PmsGroupGradeComponent implements OnInit { ...@@ -70,5 +71,8 @@ export class PmsGroupGradeComponent implements OnInit {
}); });
} }
checkPrimary() {
return this.dataList.find(x => x.code == this.dataSelect.code)
}
} }
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
</div> </div>
</div> </div>
<div class="ti-modal-body"> <div class="ti-modal-body">
<label class="ti-form-label ">รหัสเกรด <span class="text-danger">*</span></label> <label class="ti-form-label ">รหัสเกรด<span class="text-danger">*</span></label>
<div class="flex"> <div class="flex">
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
...@@ -211,7 +211,7 @@ ...@@ -211,7 +211,7 @@
</div> </div>
<div class="flex justify-between mt-2rem space-x-4"> <div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2"> <div class="w-1/2 pr-2">
<label class="ti-form-label">กำหนดเกรด <span class="text-danger">*</span></label> <label class="ti-form-label">กำหนดเกรด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
</div> </div>
<div class="flex justify-between mt-2rem space-x-4"> <div class="flex justify-between mt-2rem space-x-4">
<div class="w-1/2 pr-2"> <div class="w-1/2 pr-2">
<label class="ti-form-label">คะแนนต่ำสุด <span class="text-danger">*</span></label> <label class="ti-form-label">คะแนนต่ำสุด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
...@@ -242,7 +242,7 @@ ...@@ -242,7 +242,7 @@
</div> </div>
</div> </div>
<div class="w-1/2 pl-2"> <div class="w-1/2 pl-2">
<label class="ti-form-label">คะแนนสูงสุด <span class="text-danger">*</span></label> <label class="ti-form-label">คะแนนสูงสุด<span class="text-danger">*</span></label>
<div class="relative flex rounded-md"> <div class="relative flex rounded-md">
<input type="text" id="hs-leading-button-add-on-with-icon-and-button" <input type="text" id="hs-leading-button-add-on-with-icon-and-button"
name="hs-leading-button-add-on-with-icon-and-button" name="hs-leading-button-add-on-with-icon-and-button"
......
...@@ -193,10 +193,12 @@ ...@@ -193,10 +193,12 @@
</div> </div>
</div> </div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0"> <div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label class="ti-form-label mt-2rem">รหัส<span class="text-danger">*</span></label> <label class="ti-form-label mt-2rem">รหัส<span class="text-danger">*<ng-container *ngIf="modalStatus=='add'&&checkPrimary()">
รหัสซ้ำ
</ng-container></span></label>
<input type="text" class="ti-form-input w-1/2" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}" <input type="text" class="ti-form-input w-1/2" [ngClass]="{'bg-input-readonly':modalStatus=='edit'}"
[readonly]="modalStatus=='edit'" [(ngModel)]="pmsWorkingTime.select.pmsWorkingTimeId"> [readonly]="modalStatus=='edit'" [(ngModel)]="pmsWorkingTime.select.pmsWorkingTimeId">
<label class="ti-form-label mt-2rem">รหัสประเภทวัน <span class="text-danger">*</span></label> <label class="ti-form-label mt-2rem">รหัสประเภทวัน<span class="text-danger">*</span></label>
<div *ngFor="let item of pmsWorkingTime.select.emeventgrp;let i = index;let f=first;let l = last" <div *ngFor="let item of pmsWorkingTime.select.emeventgrp;let i = index;let f=first;let l = last"
class="grid grid-cols-2"> class="grid grid-cols-2">
<div class="col-span-1"> <div class="col-span-1">
...@@ -366,8 +368,8 @@ ...@@ -366,8 +368,8 @@
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#time-attendance-alert-modal" <button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#time-attendance-alert-modal"
[class.ti-btn-disabled]="!pmsWorkingTime.select.pmsWorkingTimeId||!pmsWorkingTime.select.emeventgrp.length||!pmsWorkingTime.select.tdesc" [class.ti-btn-disabled]="!pmsWorkingTime.select.pmsWorkingTimeId||!pmsWorkingTime.select.emeventgrp.length||!pmsWorkingTime.select.tdesc||(modalStatus=='add'&&checkPrimary())"
[disabled]="!pmsWorkingTime.select.pmsWorkingTimeId||!pmsWorkingTime.select.emeventgrp.length||!pmsWorkingTime.select.tdesc"> [disabled]="!pmsWorkingTime.select.pmsWorkingTimeId||!pmsWorkingTime.select.emeventgrp.length||!pmsWorkingTime.select.tdesc||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล บันทึกข้อมูล
</button> </button>
</div> </div>
......
...@@ -186,4 +186,8 @@ export class TimeAttendanceManageComponent { ...@@ -186,4 +186,8 @@ export class TimeAttendanceManageComponent {
positionClass: 'toast-top-right', positionClass: 'toast-top-right',
}) })
} }
checkPrimary() {
return this.pmsWorkingTime.dataList.find(x => x.data.pmsWorkingTimeId == this.pmsWorkingTime.select.pmsWorkingTimeId)
}
} }
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