import { Component, OnInit } from '@angular/core'; import { Platform, Events, MenuController } from '@ionic/angular'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { MowadhafiService } from '../mowadhafi.service'; import { Location } from '@angular/common'; import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; import { LoginModel } from 'src/app/authentication/models/LoginModel'; import { SendActivationByType } from 'src/app/authentication/models/sendActivationByType'; import { FileUploader } from 'ng2-file-upload'; @Component({ selector: 'app-hr-request', templateUrl: './hr-request.component.html', styleUrls: ['./hr-request.component.scss'], }) export class HRRequestComponent implements OnInit { public EmpName : string; public EmpNum : string; public EmpGroup : string; public EmpMobile : string; public EmpJob : string; public EmpOrgName : string; public EmpPayrol : string; public EmpPosition : string; public EmpEmail: string; public EmpCatMeaning:string; public EmpGRADENAME : string; public EmpLocation : string; public EmpImg : string; public userImage: any = '../assets/imgs/profile.png'; public loginData = new LoginModel(); public searchKeySelect = 'Complaints'; myColor: string = 'secondary'; public showRequestDetails = false; public proID= "CS" public inquiry: string; public HR : string; public complaints:string; public Projectresult:any; public EmpRelations:any; public Hr:any; public Payroll:any; public GovRelation:any; public projName:any; public topicName:any; public departTypeList: any; public topicTypeList:any; public sectionTypeList:any; filterAllowedType: any = ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; public direction: string; constructor( public ts: TranslatorService, public cs: CommonService, public authService: AuthenticationService, public sharedData: SharedDataService, public events: Events, public MowadhafiService: MowadhafiService, private location: Location, private menu: MenuController, ) { this.direction = TranslatorService.getCurrentLanguageName(); } ngOnInit() { this.getUserInformation(); this.getTicketTypes(); this.getProject(); this.getProjectDepartments(); this.getDepartmentSections(); this.getSectionTopics(); } goback() { this.location.back(); } getUserInformation(){ const request = { // P_SELECTED_EMPLOYEE_NUMBER:"121816", P_SELECTED_RESP_ID:-999, P_PAGE_NUM:1, P_PAGE_LIMIT:1 }; this.MowadhafiService.getUserInfo(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handleUserInfoResult(result); }) } handleUserInfoResult(result){ this.EmpName = result.MemberInformationList[0].EMPLOYEE_NAME; console.log("____________" + this.EmpName); this.EmpNum = result.MemberInformationList[0].EMPLOYEE_NUMBER; this.EmpGroup = result.MemberInformationList[0].BUSINESS_GROUP_NAME; this.EmpMobile = result.MemberInformationList[0].EMPLOYEE_MOBILE_NUMBER; this.EmpJob = result.MemberInformationList[0].JOB_NAME; this.EmpOrgName = result.MemberInformationList[0].ORGANIZATION_NAME; this.EmpPayrol = result.MemberInformationList[0].PAYROLL_NAME; this.EmpPosition = result.MemberInformationList[0].POSITION_NAME; this.EmpEmail = result.MemberInformationList[0].EMPLOYEE_EMAIL_ADDRESS; this.EmpCatMeaning = result.MemberInformationList[0].EMPLOYMENT_CATEGORY_MEANING; this.EmpGRADENAME = result.MemberInformationList[0].GRADE_NAME; this.EmpLocation = result.MemberInformationList[0].LOCATION_NAME; this.EmpImg = result.MemberInformationList[0].EMPLOYEE_IMAGE // console.log("total no "+this.EmpTotal) } getTicketTypes(){ const request = { // TokenID:"xxx", EmployeeNumber:"121816", }; this.MowadhafiService.getTicketTypes(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handlegetTicketTypesResult(result); }) } handlegetTicketTypesResult(result){ this.HR = result.Mohemm_Itg_TicketTypesList[0].typeName; this.complaints = result.Mohemm_Itg_TicketTypesList[1].typeName; this.inquiry = result.Mohemm_Itg_TicketTypesList[2].typeName; } getProject(){ const request = { // TokenID:"xxx", EmployeeNumber:"121816", ItgProjectCode:"CS" }; this.MowadhafiService.getProject(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handlegetProjectResult(result); }) } handlegetProjectResult(result){ this.Projectresult=result.Mohemm_Itg_ProjectsList[0]; } getProjectDepartments(){ const request = { // TokenID:"xxx", EmployeeNumber:"121816", ItgProjectId:11, }; this.MowadhafiService.getProjectDepartments(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handlegetProjectDepartmentsResult(result); }) } handlegetProjectDepartmentsResult(result){ this.departTypeList= result.Mohemm_ITG_ProjectDepartmentsList; // this.EmpRelations= result .Mohemm_ITG_ProjectDepartmentsList[0].departmentName; // this.Hr = result .Mohemm_ITG_ProjectDepartmentsList[1].departmentName; // this.Payroll = result .Mohemm_ITG_ProjectDepartmentsList[2].departmentName; // this.GovRelation = result .Mohemm_ITG_ProjectDepartmentsList[3].departmentName; } getDepartmentSections(){ const request = { // TokenID:"xxx", EmployeeNumber:"121816", ItgProjectDepartmentId:1 }; this.MowadhafiService.getDepartmentSections(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handlegetDepartmentSectionsResult(result); }) } handlegetDepartmentSectionsResult(result){ // this.projName=result.Mohemm_ITG_DepartmentSectionsList[0].projectName; this.sectionTypeList= result.Mohemm_ITG_DepartmentSectionsList; } getSectionTopics(){ const request = { // TokenID:"xxx", EmployeeNumber:"121816", ItgDepartmentSectionId:1 }; this.MowadhafiService.getSectionTopics(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handlegetSectionTopicsResult(result); }) } handlegetSectionTopicsResult(result){ // this.topicName=result.Mohemm_ITG_SectionTopicsList[0].topicName this.topicTypeList= result.Mohemm_ITG_SectionTopicsList; } createRequest(){ if(this.showRequestDetails){ this.showRequestDetails = false }else{ this.showRequestDetails = true }} public cancelRequest() { this.cs.openMyRequestPage(); this.menu.toggle(); } /*******************Add attchement Functions*************/ public uploader: FileUploader = new FileUploader({ allowedMimeType: ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], maxFileSize: 10 * 1024 * 1024, formatDataFunctionIsAsync: true, formatDataFunction: async (item) => { return new Promise((resolve, reject) => { resolve({ name: item._file.name, length: item._file.size, contentType: item._file.type, date: new Date() }); }); } }); onFileSelectedclick(event){ event.target.value = ''; } onFileSelected(input) { // this.uploader.onWhenAddingFileFailed = function (item: any, filter: any, options: any){ if (!(this.filterAllowedType.indexOf(input.target.files[0].type) > -1)) { let msg: string = ""; msg = this.ts.trPK("general", "notSupport"); this.cs.presentAlert(msg); return } // todo: show alert that you tried uploading wrong files else { const file = input.target.files[0]; this.getBase64(file).then( data => this.pushObject(data, file.name, file.type) ); } } getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = error => reject(error); }); } pushObject(fileData, name, type) { // console.log('before push: '+ this.index); // try { // let array = name.split('.'); // let attachType: string = array[array.length - 1]; // this.attachListOver.push( // AttachmentID: this.attachListOver.length, // P_FILE_CONTENT_TYPE: attachType,//type.split('/')[1], // P_FILE_DATA: fileData.split(',')[1], // P_FILE_NAME: name,//.split('.')[0], // P_TRANSACTION_ID: this.P_TransactionID // { // }) // } catch (e) { // } } submitRequest(){} }