You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
344 lines
12 KiB
TypeScript
344 lines
12 KiB
TypeScript
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();
|
|
}
|
|
|
|
}
|
|
|