Commit d98800ca by Nattana Chaiyamat

Primary Key

parent 7792eb25
......@@ -213,7 +213,7 @@
</div>
<div class="ti-modal-body padding-16px pt-0 overflow-y-0">
<label class="ti-form-label mt-2rem">ชื่อล็อกอิน
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ชื่อล็อกอินซ้ำ
</ng-container>
......
......@@ -173,7 +173,7 @@
</div>
<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 class="text-danger">*
<ng-container *ngIf="checkPrimary()">
ฝ่ายซ้ำ
</ng-container>
......
......@@ -198,7 +198,7 @@
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วน
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ส่วนซ้ำ
</ng-container>
......
......@@ -197,7 +197,7 @@
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย4
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ส่วนย่อย4ซ้ำ
</ng-container>
......
......@@ -199,7 +199,7 @@
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย1
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ส่วนย่อย1ซ้ำ
</ng-container>
......
......@@ -197,7 +197,7 @@
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย3
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ส่วนย่อย3ซ้ำ
</ng-container>
......
......@@ -197,7 +197,7 @@
</div>
</div>
<label class="ti-form-label mt-2rem">ส่วนย่อย2
<span class="text-danger">*
<span class="text-danger">*
<ng-container *ngIf="currentModal=='add'&&checkPrimary()">
ส่วนย่อย2ซ้ำ
</ng-container>
......
......@@ -167,7 +167,7 @@
</div>
</div>
<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
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
......@@ -104,10 +104,11 @@
<input type="checkbox" class="ti-form-checkbox cursor-pointer"
id="checkbox-{{item.data.competencyCourseId}}" [(ngModel)]="item.check"
(change)="dataListCheck()">
</td>
<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>{{item.data.tdesc}}</td>
<td class="flex justify-center">
......@@ -245,11 +246,15 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(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"
[(ngModel)]="competencyCourse.select.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">ชื่อหลักสูตร (อังกฤษ)</label>
......@@ -271,8 +276,8 @@
</button>
<button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#development-course-alert-modal"
[class.ti-btn-disabled]="!competencyCourse.select.competencyCourseId||!competencyCourse.select.tdesc"
[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||(currentModal=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......@@ -291,8 +296,7 @@
</h3>
<div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
*ngIf="currentModal=='add'||currentModal=='edit'"
data-hs-overlay="#development-course-modal">
*ngIf="currentModal=='add'||currentModal=='edit'" data-hs-overlay="#development-course-modal">
<span class="sr-only">Close</span>
<i class="ti ti-circle-x fs-xxl"></i>
</button>
......@@ -311,11 +315,11 @@
<p class="mt-1 text-gray-800 dark:text-white/70"
*ngIf="currentModal=='delete'||currentModal=='deleteGroup'">
<ng-container *ngIf="numDataListChecked">
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div class="flex justify-end mt-2rem mb-1rem" *ngIf="currentModal=='add'||currentModal=='edit'">
......@@ -337,7 +341,8 @@
ย้อนกลับ
</button>
<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>
</div>
......
......@@ -171,4 +171,8 @@ export class DevelopmentCourseComponent {
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 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='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 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">
......
......@@ -254,8 +254,10 @@
</div>
</div>
<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">
*<ng-container *ngIf="modalStatus=='add'&&checkPrimary()">
รหัสรอบการประเมินซ้ำ
</ng-container></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)]="evaluation_cycle.evaluationRoundId">
......@@ -342,9 +344,10 @@
data-hs-overlay="#evaluation-cycle-page-modal">
ย้อนกลับ
</button>
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#evaluation-cycle-page-alert-modal" *ngIf="modalStatusEdit"
[class.ti-btn-disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd"
[disabled]="!evaluation_cycle.evaluationRoundId||!evaluation_cycle.tdesc||!evaluation_cycle.apsyear||!evaluation_cycle.apsPeriodStart||!evaluation_cycle.apsPeriodEnd">
<button type="button" class="ti-btn ti-btn-success" data-hs-overlay="#evaluation-cycle-page-alert-modal"
*ngIf="modalStatusEdit"
[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>
</div>
......
......@@ -47,7 +47,7 @@ export class EvaluationCycleComponent {
(this.currentDate.getFullYear()) + "",
(this.currentDate.getFullYear() + 1) + "",
]
modalStatusEdit= false
modalStatusEdit = false
constructor(private evaluationCycleService: EvaluationCycleService,
private toastr: ToastrService,
private cdr: ChangeDetectorRef,
......@@ -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 @@
</div>
</div>
<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="relative flex rounded-md">
<input type="text" id="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">กำหนดเกรด <span class="text-danger">*</span></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">คะแนนต่ำสุด <span class="text-danger">*</span></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">คะแนนสูงสุด <span class="text-danger">*</span></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,11 +205,15 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(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">
<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">
......@@ -229,7 +233,8 @@
(click)="dataSelect.type.code=''">
<i class="ti ti-circle-x cursor-pointer"></i>
</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">
<i class="ri-search-line cursor-pointer text-gray"></i>
</button>
......@@ -270,8 +275,8 @@
</button>
<button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#competency-topic-page-alert-modal"
[class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.type.code"
[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||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......@@ -617,7 +622,7 @@
data-hs-overlay="#competency-topic-page-alert-modal">
ย้อนกลับ
</button>
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" *ngIf="numDataListChecked"
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" *ngIf="numDataListChecked"
data-hs-overlay="#competency-topic-page-alert-modal" (click)="deleteCompetency_topic()">
ลบข้อมูล
</a>
......
......@@ -324,4 +324,8 @@ export class CompetencyTopic {
this.numDataListChecked = this.competoncyTopicList.filter(x => x.check).length;
this.isDataListChecked = Boolean(this.numDataListChecked)
}
checkPrimary() {
return this.competoncyTopicList.find(x => x.data.id == this.dataSelect.id)
}
}
......@@ -205,17 +205,22 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(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">
<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">ชื่อย่อ <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">
<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;"
oninput="this.value = this.value.replace(/\D/g, '')" [(ngModel)]="dataSelect.level">
<label for="detail_eng" class="ti-form-label mt-1rem">น้ำหนัก</label>
......@@ -231,8 +236,8 @@
</button>
<button type="button" class="ti-btn ti-btn-success"
data-hs-overlay="#type-registration-component-page-alert-modal"
[class.ti-btn-disabled]="!dataSelect.id||!dataSelect.name||!dataSelect.code||!dataSelect.level"
[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||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......@@ -299,7 +304,7 @@
data-hs-overlay="#type-registration-component-page-alert-modal">
ย้อนกลับ
</button>
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" *ngIf="numDataListChecked"
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" *ngIf="numDataListChecked"
data-hs-overlay="#type-registration-component-page-alert-modal"
(click)="deleteType_registration()">
ลบข้อมูล
......
......@@ -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 })
}
}
checkPrimary() {
return this.competoncy_typeList.find(x => x.data.id == this.dataSelect.id)
}
}
......@@ -245,15 +245,20 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
[(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">
<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">ชื่อที่ใช้เเสดง<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">
<div class="flex justify-end mt-2rem mb-1rem">
<button type="button"
......@@ -262,8 +267,8 @@
ย้อนกลับ
</button>
<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"
[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||(currentModal=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......@@ -301,11 +306,11 @@
<p class="mt-1 text-gray-800 dark:text-white/70"
*ngIf="currentModal=='delete'||currentModal=='deleteGroup'">
<ng-container *ngIf="numDataListChecked">
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</p>
<div class="flex justify-end mt-2rem mb-1rem" *ngIf="currentModal=='add'||currentModal=='edit'">
<button type="button"
......@@ -325,8 +330,8 @@
data-hs-overlay="#assessment-tool-alert-modal">
ย้อนกลับ
</button>
<button type="button" class="ti-btn ti-btn-danger" data-hs-overlay="#assessment-tool-alert-modal" *ngIf="numDataListChecked"
(click)="updateAssessment('delete')">
<button type="button" class="ti-btn ti-btn-danger" data-hs-overlay="#assessment-tool-alert-modal"
*ngIf="numDataListChecked" (click)="updateAssessment('delete')">
ลบข้อมูล
</button>
</div>
......
......@@ -180,5 +180,9 @@ export class AssessmentToolComponent {
this.numDataListChecked = this.assessment.dataList.filter(x => x.check).length;
this.isDataListChecked = Boolean(this.numDataListChecked)
}
checkPrimary() {
return this.assessment.dataList.find(x => x.data.assessmentId == this.assessment.select.assessmentId)
}
}
......@@ -130,7 +130,7 @@
</div>
</div>
<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
[value]="groupapprove.apsassessy.fname + ' ' + groupapprove.apsassessy.lname">
<label for="input-label" class="ti-form-label mt-2rem">ระดับพนักงาน</label>
......
......@@ -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">รหัส รอบการประเมิน <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"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='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 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">
......
......@@ -255,8 +255,10 @@
</div>
</div>
<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">*<ng-container *ngIf="modalStatus=='add'&&checkPrimary()">
รหัสรอบการประเมินซ้ำ
</ng-container></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)]="pmsMasfromEvaluation.pmsEvaluationRoundId">
......@@ -340,8 +342,8 @@
</button>
<button type="button" class="ti-btn ti-btn-success"
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"
[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||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......
......@@ -48,7 +48,7 @@ export class ManagementCycleComponent {
(this.currentDate.getFullYear() + 1) + "",
]
modalStatusEdit= false
modalStatusEdit = false
constructor(private pmsMasfromEvaluationCycleService: PmsMasfromEvaluationCycleService,
private toastr: ToastrService,
private cdr: ChangeDetectorRef,
......@@ -155,7 +155,7 @@ export class ManagementCycleComponent {
addPmsMasfromEvaluation() {
if (this.pmsMasfromEvaluation.personalLevel.length == 0) {
this.plListFilter().forEach(x => this.selectPl(x))
}
}
const body = new MyPmsMasfromEvaluationModel(this.pmsMasfromEvaluation)
this.dataLoading = true
this.pmsMasfromEvaluationCycleService.post(body).subscribe({
......@@ -255,20 +255,24 @@ export class ManagementCycleComponent {
})
this.pmsMasfromEvaluationCycleService.postCreateForm(body).subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
this.getPmsMasfromEvaluationCycleList()
} else {
if (response.success) {
this.showAlert(response.message, 'success')
this.getPmsMasfromEvaluationCycleList()
} else {
this.dataLoading = false
this.showAlert(response.message, 'error')
this.cdr.detectChanges()
}
}, error: error => {
this.showAlert(error.message, 'error')
this.dataLoading = false
this.showAlert(response.message, 'error')
this.cdr.detectChanges()
}
}, error: error => {
this.showAlert(error.message, 'error')
this.dataLoading = false
this.cdr.detectChanges()
}
})
})
}
checkPrimary() {
return this.pmsMasfromEvaluationlist.find(x => x.data.pmsEvaluationRoundId == this.pmsMasfromEvaluation.pmsEvaluationRoundId)
}
}
......
......@@ -202,7 +202,10 @@
</div>
</div>
<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'}"
[readonly]="modalStatus=='edit'" [(ngModel)]="pmstopic.select.pmsTopicId">
<label class="ti-form-label mt-2rem">ประเภทการประเมินผล<span class="text-danger">*</span></label>
......@@ -273,8 +276,8 @@
ย้อนกลับ
</button>
<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"
[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||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......@@ -314,11 +317,11 @@
</ng-container>
<ng-container *ngIf="modalStatus=='delete'||modalStatus=='deleteGroup'">
<ng-container *ngIf="numDataListChecked">
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="!numDataListChecked">
เลือกข้อมูลที่ต้องการลบ
</ng-container>
</ng-container>
</p>
......@@ -340,8 +343,8 @@
data-hs-overlay="#assessment-topics-alert-modal">
ย้อนกลับ
</button>
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" data-hs-overlay="#assessment-topics-alert-modal" *ngIf="numDataListChecked"
(click)="updatePmstopic('delete')">
<a class="ti-btn ti-btn-danger" href="javascript:void(0);" data-hs-overlay="#assessment-topics-alert-modal"
*ngIf="numDataListChecked" (click)="updatePmstopic('delete')">
ลบข้อมูล
</a>
</ng-container>
......
......@@ -254,5 +254,8 @@ export class AssessmentTopicsComponent {
return `${year}-${month}-${day}`;
}
checkPrimary() {
return this.pmstopic.dataList.find(x => x.data.pmsTopicId == this.pmstopic.select.pmsTopicId)
}
}
......@@ -201,7 +201,7 @@
</div>
</div>
<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"
[ngClass]="{'bg-input-readonly':modalStatus=='edit'}" [readonly]="modalStatus=='edit'"
[(ngModel)]="pmstype.select.pmsTypeId">
......
......@@ -177,7 +177,7 @@
<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>
</ng-container>
......
......@@ -14,8 +14,9 @@
<div class="flex justify-end">
<div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-10 m-0 shadow-md"
[ngClass]="{'ti-btn-disabled': !dataSelect.code||!dataSelect.tdesc}"
data-hs-overlay="#add-group-grade-alert-add-modal" [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||(typeTab=='add'&&checkPrimary())">
<i class="ri-save-3-line"></i>
Save
</button>
......@@ -65,10 +66,14 @@
<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">กำหนดรหัสกลุ่มเกรด<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'"
[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>
[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>
<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">
......
import { Component, EventEmitter, Input, Output, OnInit, ChangeDetectorRef } from '@angular/core';
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 { PmsGroupGradeService } from 'src/app/shared/services/pms-group-grade.service';
export interface DataModel {
......@@ -20,6 +20,7 @@ export class PmsGroupGradeComponent implements OnInit {
@Output() sendBackTab: EventEmitter<undefined> = new EventEmitter<undefined>();
@Input() typeTab: 'add' | 'edit' = 'add'
@Input() dataSelect: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] }
@Input() dataList: DataModel[] = [];
dataOriginal: DataModel = { check: false, code: '', tdesc: '', edesc: '', pmsGrade: [] }
@Output() sendDataList: EventEmitter<DataModel[]> = new EventEmitter<DataModel[]>();
currentTab = 1
......@@ -70,5 +71,8 @@ export class PmsGroupGradeComponent implements OnInit {
});
}
checkPrimary() {
return this.dataList.find(x => x.code == this.dataSelect.code)
}
}
......@@ -185,7 +185,7 @@
</div>
</div>
<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="relative flex rounded-md">
<input type="text" id="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">กำหนดเกรด <span class="text-danger">*</span></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">คะแนนต่ำสุด <span class="text-danger">*</span></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">คะแนนสูงสุด <span class="text-danger">*</span></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"
......
......@@ -193,10 +193,12 @@
</div>
</div>
<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'}"
[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"
class="grid grid-cols-2">
<div class="col-span-1">
......@@ -366,8 +368,8 @@
ย้อนกลับ
</button>
<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"
[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||(modalStatus=='add'&&checkPrimary())">
บันทึกข้อมูล
</button>
</div>
......
......@@ -186,4 +186,8 @@ export class TimeAttendanceManageComponent {
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