import { ModalController } from '@ionic/angular'; import { Component, OnInit } from '@angular/core'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { WorKListReplacmentEmployeeResponse } from 'src/app/notification/models/ReplacmentEmployeeRes'; import { WorkListReplacmentEmployeeRequest } from 'src/app/notification/models/ReplacmentEmployeeReq'; import { WorkListActionRequest } from 'src/app/notification/models/NotificationActionReq'; import { WorklistMainService } from 'src/app/notification/service/work-list.main.service'; import { ViewReplacementModalComponent } from 'src/app/notification/view-replacement-modal/view-replacement-modal.component'; import { WorklistService } from 'src/app/notification/service/worklist.service'; @Component({ selector: 'app-absence-replacement-list', templateUrl: './absence-replacement-list.component.html', styleUrls: ['./absence-replacement-list.component.scss'], }) export class AbsenceReplacementListComponent implements OnInit { P_SEARCH_EMPLOYEE_DISPLAY_NAME: string = ""; P_SEARCH_EMAIL_ADDRESS: string = ""; getPassActionMode: any; selectedValue: any; inputSearch: any; selEmpName: any; selectedReplacedEmp: any; selectedUserInf: any; userNote: any; getPassNotificationDetails: any; isAnswer: boolean = false; pQuestion: string = ""; selEmp: any; P_PAGE_NUM: number; P_PAGE_LIMIT: number; ReplacementList: any = []; searchBy: string = ""; IsReachEnd: boolean = false; ReplacmentListRes: WorKListReplacmentEmployeeResponse; private WorkListReplacmentEmployeeObj: WorkListReplacmentEmployeeRequest = new WorkListReplacmentEmployeeRequest(); private WorkListActionObj: WorkListActionRequest; getpassResAttr: any = []; active: any; demoeAttach:any=[]; public direction: string; constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) { this.P_PAGE_NUM = 1; this.P_PAGE_LIMIT = 50; // this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false); // this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo', false); // this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr', false); // this.pQuestion = this.cs.sharedService.getSharedData('pQuestion', false); // if (this.getPassActionMode == "ANSWER_INFO") { // this.isAnswer = true; // } this.WorkListReplacmentEmployeeObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListReplacmentEmployeeObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.direction = TranslatorService.getCurrentLanguageName(); // this.WorkListActionObj = new WorkListActionRequest(); // this.WorkListActionObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;//26919060; // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = ""; // this.WorkListActionObj.P_ACTION_MODE = ""; // this.WorkListActionObj.P_COMMENTS = ""; // this.WorkListActionObj.RespondAttributeList =[];// this.getpassResAttr; // this.WorkListActionObj.P_APPROVER_INDEX = null; } ngOnInit() { this.selectedReplacedEmp = this.cs.sharedService.getSharedData('selectedReplacedEmp'); this.demoeAttach = [{ USER_NAME: '18888', EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMAIL_ADDRESS: "test@yuyuu.hjj", }, { USER_NAME: '18888', EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMAIL_ADDRESS: "test@yuyuu.hjj" }, { USER_NAME: '18888', EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMAIL_ADDRESS: "test@yuyuu.hjj" }, { USER_NAME: '18888', EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMAIL_ADDRESS: "test@yuyuu.hjj" } ]; } getreplacmentemployee() { this.ReplacementList = []; this.IsReachEnd = false; this.P_PAGE_NUM = 1; if (this.inputSearch) { switch (this.searchBy) { case '1': { this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = this.inputSearch; this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; break; } case '2': { this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = this.inputSearch; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; break; } case '3': { this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = this.inputSearch; this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; break; } default: { this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; break; } } } else { this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; } // if(this.selectedValue =="1"){ // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=this.inputSearch; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=""; // } // else if(this.selectedValue =="2"){ // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=this.inputSearch; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=""; // } // else if(this.selectedValue =="3"){ // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch; // } this.WorkListReplacmentEmployeeObj.P_SELECTED_EMPLOYEE_NUMBER =this.selectedReplacedEmp; this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). subscribe((result: WorKListReplacmentEmployeeResponse) => { this.handleWorkListReplacmentEmployeeResult(result); }); }//End replacment Employee handleWorkListReplacmentEmployeeResult(result) { if (this.cs.validResponse(result)) { // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); if (this.cs.hasData(result.ReplacementList)) { //this.ReplacmentListRes =result.ReplacementList; this.ReplacementList = result.ReplacementList; this.P_PAGE_NUM++; let lastItemIndex = this.ReplacementList.length - 1; if (result.ReplacementList[lastItemIndex]) { let lastitem = result.ReplacementList[lastItemIndex]; if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { this.IsReachEnd = true; } else { this.IsReachEnd = false; } } } else { let msg: string = this.ts.trPK('general', 'noResult'); this.cs.presentAlert(msg); } // if(result.ReplacementList.length == 0){ // } // else if(result.ReplacementList != null) // { // this.ReplacmentListRes =result.ReplacementList; // //open modal // this.openModale(this.ReplacmentListRes); // } // if result == null } // valid it } getValueSelected(Value) { this.selectedValue = Value; } select(selectEmp,index){ console.log(selectEmp.EMPLOYEE_DISPLAY_NAME); this.selEmp=selectEmp this.active=index; } clear() { this.selEmpName = ""; this.selectedUserInf = null; } async openModale(ReplacmentListRes) { const modal = await this.modalCtrl.create({ component: ViewReplacementModalComponent }); modal.onDidDismiss() .then((data) => { if (data == "cancel" || data == "undefined") { //this.selEmpName=""; return; } else { this.selectedUserInf = data; this.selEmpName = this.selectedUserInf.EMPLOYEE_DISPLAY_NAME; } }); return await modal.present(); } submitAction() { this.selEmp if( this.selEmp){ let data = this.selEmp; this.modalCtrl.dismiss(data); }else{ let msg: string = this.ts.trPK("replacementRoll", "msg"); this.cs.showErrorMessageDialog(() => { }, this.ts.trPK('general', 'ok'), msg); return false; } // if (this.selEmp && this.isAnswer == false) { // // this.selectedUserInf = this.ReplacementList[this.selEmp]; // this.selectedUserInf = this.selEmp; // console.log("selEmp "+ this.selEmp.USER_NAME); // if (this.selectedUserInf && this.selectedUserInf.USER_NAME) { // console.log("userInfo "+this.selectedUserInf.USER_NAME); // if (this.userNote) { // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = this.selectedUserInf.USER_NAME; // this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; // this.WorkListActionObj.P_COMMENTS = this.userNote;// response Attr // this.workListMainService.actionButton(this.WorkListActionObj). // subscribe((result: any) => { // this.handleApplayActionResult(result); // }); // } else { // let msg: string = this.ts.trPK("replacementRoll", "enterNote"); // this.cs.showErrorMessageDialog(() => { // }, this.ts.trPK('general', 'ok'), msg); // } // } else { // let msg: string = this.ts.trPK("replacementRoll", "msg"); // this.cs.showErrorMessageDialog(() => { // }, this.ts.trPK('general', 'ok'), msg); // } // } else if (this.isAnswer == true) { // if (this.userNote) { // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = null; // this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; // this.WorkListActionObj.P_COMMENTS = this.userNote;// response Attr // this.workListMainService.actionButton(this.WorkListActionObj). // subscribe((result: any) => { // this.handleApplayActionResult(result); // }); // } else { // let msg: string = this.ts.trPK("replacementRoll", "enterNote"); // this.cs.showErrorMessageDialog(() => { // }, this.ts.trPK('general', 'ok'), msg); // } // } else { // let msg: string = this.ts.trPK("replacementRoll", "msg"); // this.cs.showErrorMessageDialog(() => { // }, this.ts.trPK('general', 'ok'), msg); // } } doInfinite(infiniteScroll) { if (!this.IsReachEnd) { //const request =new WorkListActionRequest(); // request.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=this.P_SEARCH_USER_NAME; // request.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=this.P_SEARCH_EMPLOYEE_DISPLAY_NAME; // request.P_SEARCH_EMAIL_ADDRESS=this.P_SEARCH_EMAIL_ADDRESS; this.WorkListReplacmentEmployeeObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListReplacmentEmployeeObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; // request.P_SELECTED_EMPLOYEE_NUMBER=this.selEmp; this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). subscribe((result: any) => { if (this.cs.validResponse(result)) { if (this.cs.hasData(result.ReplacementList)) { this.P_PAGE_NUM++; result.ReplacementList.forEach(vr => { if (vr.ROW_NUM == vr.NO_OF_ROWS) { this.IsReachEnd = true; } else { this.IsReachEnd = false; } this.ReplacementList.push(vr); // this.pro.GetVacationRulesList.push(vr); }); } else { this.IsReachEnd = true; } } //this.P_PAGE_NUM++; if (infiniteScroll) infiniteScroll.target.complete(); // console.log(resFlag); }, (Error) => console.log(Error), () => infiniteScroll.target.complete()); } else { if (infiniteScroll) infiniteScroll.target.complete(); } } closeModal() { this.modalCtrl.dismiss(); } }