Commit b2a8a5ae by Nattana Chaiyamat

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

parents a045aa14 02e510c8
......@@ -35,12 +35,12 @@
</div>
</div>
</div>
<div class="px-1">
<!-- <div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-20px m-0 shadow-md" (click)="openModalClass('modal-alert','addForm')">
<i class="ri-save-3-line"></i>
Save
</button>
</div>
</div> -->
<!-- <div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-10 m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
......@@ -80,7 +80,7 @@
<td class="text-center">{{item.personalLevel.tdesc}}</td>
<td class="flex justify-center items-center space-x-2">
<i class="ti ti-edit cursor-pointer i-gray fs-xl px-1" *ngIf="item.active" (click)="openAddRoundModel(item.masfromEvaluationRound.evaluationRoundId,item.apsassessy.employeeId,item,'form-pm-emp')" ></i>
<input type="checkbox" id="hs-small-switch{{i+1}}" [(ngModel)]="item.active"
<input type="checkbox" id="hs-small-switch{{i+1}}" [(ngModel)]="item.active" (ngModelChange)="saveAssessmentOne(item)"
class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 dark:checked:bg-green-600 checked:before:bg-green-200 dark:checked:before:bg-green-200 shrink-0 w-11 h-6 before:w-5 before:h-5">
</td>
</tr>
......
......@@ -121,6 +121,16 @@ export class EditDefineDocumentFormComponent {
}
saveAssessmentOne(item:AppraisalModel) {
this.evaluationAssessmentService.post(item).subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
} else {
}
}
})
}
saveAssessmentList() {
let body = this.assessmentList
if (body.length > 0) {
......
......@@ -268,7 +268,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">
นำเข้า Job Competency
นำเข้าความสามารถในตำเเหน่งงาน
</h5>
</div>
<div class="ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm">
......
......@@ -270,7 +270,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">
นำเข้า Job Competency
นำเข้าตัวชี้วัดของตำแหน่งงาน
</h5>
</div>
<div class="ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm">
......
......@@ -102,7 +102,7 @@ export class SubJobPositionIndicatorsComponent {
const formData = new FormData();
formData.append('file', this.selectedFile);
this.loading = true
this.fileService.uploadExcel(formData, 'IMPORT_KPI').subscribe({
this.fileService.uploadExcel(formData, 'MJOBCODE_KPI').subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
......
......@@ -276,7 +276,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">
นำเข้า Job Competency
นำเข้าคุณสมบัติที่จำเป็น
</h5>
</div>
<div class="ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm">
......
......@@ -106,7 +106,7 @@ export class SubJobQualificationsComponent {
const formData = new FormData();
formData.append('file', this.selectedFile);
this.loading = true
this.fileService.uploadExcel(formData, 'IMPORT_PROPERTY').subscribe({
this.fileService.uploadExcel(formData, 'MJOBCODE_PROPERTY').subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
......
......@@ -35,12 +35,12 @@
</div>
</div>
</div>
<div class="px-1">
<!-- <div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-success h-20px m-0 shadow-md" (click)="openModalClass('modal-alert','addForm')">
<i class="ri-save-3-line"></i>
Save
</button>
</div>
</div> -->
<!-- <div class="px-1">
<button href="javascript:void(0);" class="ti-btn ti-btn-soft-warning h-10 m-0 shadow-md">
<i class="ti ti-book fs-l"></i>
......@@ -80,7 +80,7 @@
<td class="text-center">{{item.personalLevel.tdesc}}</td>
<td class="flex justify-center items-center space-x-2">
<i class="ti ti-edit cursor-pointer i-gray fs-xl px-1" *ngIf="item.active" (click)="openAddRoundModel(item.pmsMasfromEvaluationRound.pmsEvaluationRoundId,item.apsassessy.employeeId,item,'form-pm-emp')" ></i>
<input type="checkbox" id="hs-small-switch{{i+1}}" *ngIf="!item.statusEmp" [(ngModel)]="item.active"
<input type="checkbox" id="hs-small-switch{{i+1}}" [(ngModel)]="item.active" (ngModelChange)="saveAssessmentOne(item)"
class="ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 dark:checked:bg-green-600 checked:before:bg-green-200 dark:checked:before:bg-green-200 shrink-0 w-11 h-6 before:w-5 before:h-5">
</td>
</tr>
......
......@@ -126,7 +126,16 @@ export class EditEvaluationFormComponent {
this.page = Array.from({ length: Math.ceil(filteredData.length / this.pageSize) }, (_, i) => i + 1);
}
saveAssessmentOne(item:PmsMasfromEvaluationFullModel) {
this.pmsEvaluationAssessmentService.post(item).subscribe({
next: response => {
if (response.success) {
this.showAlert(response.message, 'success')
} else {
}
}
})
}
saveAssessmentList() {
let body = this.assessmentList.filter(x => x.active == true)
if (body.length > 0) {
......
......@@ -135,7 +135,7 @@
</span>
</td>
<td class="flex justify-center items-center">
<i class="ti ti-edit cursor-pointer i-gray fs-l px-1" (click)="modalStatus='edit';setData(item.data)"
<i class="ti ti-edit cursor-pointer i-gray fs-l px-1"*ngIf="item.data.statusFrom.code =='1'" (click)="modalStatus='edit';setData(item.data)"
data-hs-overlay="#management-evaluation-cycle-page-modal"></i>
<i class="ti ti-user cursor-pointer i-gray fs-l px-1" data-hs-overlay="#evaluation-cycle-person-modal"
(click)="openModal('evaluation-cycle-person-modal',item.data.pmsEvaluationRoundId)"></i>
......@@ -144,21 +144,22 @@
<!-- <span class="badge text-white m-1" *ngIf="item.data.statusCode.code!='1'"
[ngClass]="{'bg-primary':item.data.statusCode.code=='1','bg-gray-400':item.data.statusCode.code!='3'}">ปิดรอบประเมิน</span>
<span class="badge text-white m-1 bg-secondary" *ngIf="item.data.statusCode.code=='0'">สร้างแบบฟอร์ม</span> -->
<span class="badge text-white m-1" *ngIf="item.data.statusCode.code == '0'" [ngClass]="{
'bg-primary': item.data.statusCode.code == '0',
'text-white': item.data.statusCode.code == '0'
<span class="badge text-white m-1 cursor-pointer" data-hs-overlay="#management-evaluation-cycle-page-alert-modal" (click)="modalStatus='createForm';setData(item.data)" *ngIf="item.data.statusFrom.code == '0'" [ngClass]="{
'bg-secondary': item.data.statusFrom.code == '0',
'text-white': item.data.statusFrom.code == '0'
}">
สร้างแบบฟอร์ม
</span>
<span class="badge text-white m-1" *ngIf="item.data.statusFrom.code == '1'" [ngClass]="{
'bg-primary': item.data.statusFrom.code == '1',
'text-white': item.data.statusFrom.code == '1'
}">
ปิดรอบประเมิน
</span>
<span class="badge text-white m-1" *ngIf="item.data.statusCode.code == '1'" [ngClass]="{
'bg-secondary': item.data.statusCode.code == '1',
'text-white': item.data.statusCode.code == '1'
}">
สร้างแบบฟอร์ม
</span>
<span class="badge text-white m-1" *ngIf="item.data.statusCode.code == '2'" [ngClass]="{
'bg-gray-400': item.data.statusCode.code == '2',
'text-white': item.data.statusCode.code == '2'
<span class="badge text-white m-1" *ngIf="item.data.statusFrom.code == '2'" [ngClass]="{
'bg-gray-400': item.data.statusFrom.code == '2',
'text-white': item.data.statusFrom.code == '2'
}">
ปิดรอบประเมิน
</span>
......@@ -374,6 +375,9 @@
<ng-container *ngIf="modalStatus=='delete'||modalStatus=='deleteGroup'">
ยืนยันการลบข้อมูลหรือไม่
</ng-container>
<ng-container *ngIf="modalStatus=='createForm'">
คุณต้องการสร้างแบบฟอร์มการประเมินใหม่หรือไม่
</ng-container>
</p>
<div class="flex justify-end mt-2rem mb-1rem">
......@@ -399,6 +403,17 @@
ลบข้อมูล
</a>
</ng-container>
<ng-container *ngIf="modalStatus=='createForm'">
<button type="button"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#management-evaluation-cycle-page-alert-modal">
ย้อนกลับ
</button>
<a class="ti-btn ti-btn-success" href="javascript:void(0);"
data-hs-overlay="#management-evaluation-cycle-page-alert-modal" (click)="createForm()">
ยืนยัน
</a>
</ng-container>
</div>
</div>
</div>
......
......@@ -23,7 +23,7 @@ export class ManagementCycleComponent {
currentPage = 1
page = Array.from({ length: 1 }, (_, i) => i + 1);
search = ""
modalStatus: 'add' | 'edit' | 'delete' | 'deleteGroup' = 'add'
modalStatus: 'createForm'|'add' | 'edit' | 'delete' | 'deleteGroup' = 'add'
pmsMasfromEvaluationlist: { check: boolean, data: PmsMasfromEvaluationModel }[] = []
pmsMasfromEvaluation: PmsMasfromEvaluationModel = new MyPmsMasfromEvaluationModel({})
dataLoading = false
......@@ -224,6 +224,27 @@ export class ManagementCycleComponent {
this.modal.currentPage = 1
this.modal.page = Array.from({ length: Math.ceil(dataList.length / 10) }, (_, i) => i + 1);
}
createForm() {
const body = new MyPmsMasfromEvaluationModel(this.pmsMasfromEvaluation)
body.active = 1
this.dataLoading = true
this.pmsMasfromEvaluationCycleService.post(body).subscribe({
next: response => {
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.cdr.detectChanges()
}
})
}
}
import { PLModel, MyPLModel } from "./pl.model";
import { MyStatusCodeModel, StatusCodeModel } from "./status-code.model";
import { MyStatusFromModel, StatusFromModel } from "./status-from.model";
export interface PmsMasfromEvaluationModel {
pmsEvaluationRoundId: string
......@@ -10,7 +11,8 @@ export interface PmsMasfromEvaluationModel {
apsPeriodStart: string
apsPeriodEnd: string
statusCode: StatusCodeModel
active: boolean
statusFrom: StatusFromModel
active: number
personalLevel: PLModel[]
}
......@@ -23,7 +25,8 @@ export class MyPmsMasfromEvaluationModel implements PmsMasfromEvaluationModel {
apsPeriodStart: string
apsPeriodEnd: string
statusCode: StatusCodeModel
active: boolean
statusFrom: StatusFromModel
active: number
personalLevel: PLModel[]
constructor(data?: Partial<PmsMasfromEvaluationModel>) {
this.pmsEvaluationRoundId = data?.pmsEvaluationRoundId || "";
......@@ -33,8 +36,9 @@ export class MyPmsMasfromEvaluationModel implements PmsMasfromEvaluationModel {
this.apsyear = data?.apsyear || "";
this.apsPeriodStart = data?.apsPeriodStart || "";
this.apsPeriodEnd = data?.apsPeriodEnd || "";
this.active = data?.active || false
this.active = data?.active || 0
this.statusCode = new MyStatusCodeModel(data?.statusCode)
this.statusFrom = new MyStatusFromModel(data?.statusFrom || {})
this.personalLevel = data?.personalLevel?.map(x => new MyPLModel(x)) || []
}
......
......@@ -33,7 +33,7 @@ export class PmsEvaluationAssessmentService {
getIndicators(plId: string): Observable<MasfromEvaluationAssessment1lList[]> {
return this.http.get<MasfromEvaluationAssessment1lList[]>(this.urlApi + "/pms-topic/list/" + plId)
}
post(body: AppraisalModel): Observable<AlertModel> {
post(body: PmsMasfromEvaluationFullModel): Observable<AlertModel> {
return this.http.post<AlertModel>(this.urlApi, body)
}
postList(body:any): Observable<AlertModel> {
......
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