fixed issues in mowdafi HR

zohaib-huawei-q2
Fatimah Alshammari 5 years ago
parent ad151091d0
commit ab0f37ca12

@ -22,50 +22,68 @@
<!-- colorBG -->
<div class="contentEit" style="background: #f3f1f1;">
<div class="header-div">
<!-- <ion-buttons slot="end">
<button class="headerBtn" (click)="AccrualBalances()">
<img class="headerImg" src="../assets/imgs/accubalance.png">
</button>
</ion-buttons> -->
<!-- <ion-buttons slot="start">
<ion-back-button color="light" class="btnBack" defaultHref="/home"></ion-back-button>
</ion-buttons>
<p class="Title">{{ts.trPK('absenceList','absenceList')}}</p> -->
</div>
<div class="">
<div >
<div>
<ion-grid class="headerGrid">
<div >
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
placeholder="DD MMMM YYYY" cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}" (ionChange)="getAccrualBalance()"></ion-datetime>
<ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
</div>
<div style="position: relative;">
<!-- <div [ngClass]=" direction == 'ltr' ? 'subTitle' : 'subTitle-ar'" >{{ts.trPK('absenceList','AccrualUsed')}} </div> -->
<div class="label-container">
<ion-row [ngClass]=" direction == 'ltr' ? 'green-label-container' : 'green-label-container-ar'" >
<label class="current-label"> </label>
<span [ngClass]=" direction == 'ltr' ? 'span-one' : 'span-one-ar'" >{{ts.trPK('absenceList','currentBalance')}}</span>
<span class="span-two">{{accrualNet}}</span>
</ion-row>
<!-- <div [ngClass]=" direction == 'ltr' ? 'yearLabel' : 'yearLabel-ar'">2021</div> -->
</div>
<!-- <div class="label-container">
<ion-row [ngClass]=" direction == 'ltr' ? 'black-label-container' : 'black-label-container-ar'" >
<label class="current-label-container"> </label>
<span [ngClass]=" direction == 'ltr' ? 'black-span1' : 'black-span1-ar'" >{{ts.trPK('absenceList','currentBalance')}}</span>
<span class="black-span2">{{accrualNet}}</span>
</ion-row>
<div [ngClass]=" direction == 'ltr' ? 'yearLabel' : 'yearLabel-ar'" > {{ts.trPK('absenceList','PreviousYears')}}</div>
</div> -->
<div class="label-container">
<ion-row [ngClass]=" direction == 'ltr' ? 'black-label-container' : 'black-label-container-ar'" >
<label class="used-label-container"> </label>
<span [ngClass]=" direction == 'ltr' ? 'red-span1' : 'red-span1-ar'" >{{ts.trPK('absenceList','usedBalance')}}</span>
<span class="red-span2">{{accrualUsed}}</span>
</ion-row>
</div>
<div class="graph-container">
<p-chart [ngClass]=" direction == 'ltr' ? 'today-graph' : 'today-graph-ar'" type="doughnut" [data]="data" [options]="options" ></p-chart>
</div>
</div>
</ion-grid>
<ion-grid class="headerGrid">
<!-- <ion-grid class="headerGrid">
<div style="color: black;">
<div class="result-graph">
<div >
<!-- <ion-item> -->
<!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
placeholder="DD MMMM YYYY" cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}" (ionChange)="getAccrualBalance()"></ion-datetime>
<!-- <ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
placeholder="DD MMMM YYYY" (ionChange)="getAccrualBalance()"></ion-datetime> -->
<ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
<!-- </ion-item> -->
</div>
<div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px;
margin-top: -10px; margin-right: -9px;"></div>
<div class="result-text-container">
<!-- <h2>{{totalnumber}}</h2> -->
<!-- <h2>{{accrualNet + accrualUsed + accrualYearly}}</h2> -->
<!-- <span>{{ts.trPK('absenceList','totalNumber')}}</span> -->
</div>
@ -94,38 +112,10 @@
</ion-row>
</ion-col>
</div>
<!-- <div [ngClass]=" direction == 'ltr' ? 'div-orng' : 'div-orng-ar'">
<ion-col>
<ion-row>
<label class="orng-label">{{ts.trPK('absenceList','annualBalance')}}</label>
</ion-row>
<ion-row>
<label class="orng-amount" for="">{{accrualYearly}}</label>
</ion-row>
</ion-col>
</div> -->
<!-- <div style="position: relative;
left: 59%;
bottom: 73px;
color: black;
background-color: #269DB8;
width: 16%;
height: 6px;">
<ion-col>
<ion-row>
<label class="blue-label">text</label>
</ion-row>
<ion-row> -->
<!-- <label class="blue-amount" for="">{{getleaveAccrualBalance.ACCRUAL_YEARLY_ENTITLEMENT}}</label> -->
<!-- </ion-row>
</ion-col>
</div> -->
</div>
</ion-grid>
</div>
</ion-grid> -->
</div>

@ -56,13 +56,9 @@
.header-div {
background-color: #269DB8;
text-transform: capitalize;
height: 160px;
/* position: relative; */
/* display: block; */
margin-bottom: -28px;
height: 100px;
}
.header-toolbar-new{
@ -107,7 +103,7 @@
// margin-left: 111px;
text-align: center;
font-family: WorkSans-Bold;
margin-left: 47px;
margin-left: -142px;
margin-top: -19px;
}
@ -119,52 +115,40 @@
.iconCalendar{
// margin-left: -241px;
// margin-top: 5px;
margin-left: 30px !important;
margin-left: -12px !important;
width: 22% !important;
height: 26px !important;
margin-top: -69px !important;
margin-bottom: 20px !important;
margin-top: -50px !important;
margin-bottom: 23px !important;
}
.today-graph{
// display:block !important;
// height: 150px !important;
// width: 300 !important;
// margin-left: -70px !important;
display: block !important;
height: 196px;
width: 385px;
padding-left: 51px;
// padding-top: 29px;
margin-left: -70px !important;
}
.today-graph-ar{
// display: block !important;
// height: 196px;
// width: 385px;
// padding-left: 51px;
/* margin-left: -70px !important; */
// font-size: 14px;
// margin-left: -48px;
// margin-right: 63px;
// margin-bottom: -30px;
display: block !important;
height: 175px;
width: 320px;
padding-left: 51px;
font-size: 14px;
margin-right: 75px;
margin-bottom: -30px;
}
// .today-graph{
// display: block !important;
// height: 196px;
// width: 385px;
// padding-left: 51px;
// // padding-top: 29px;
// margin-left: -70px !important;
// }
// .today-graph-ar{
// display: block !important;
// height: 175px;
// width: 320px;
// padding-left: 51px;
// font-size: 14px;
// margin-right: 75px;
// margin-bottom: -30px;
// }
.headerGrid{
background-color: white !important;
border: 1px solid #cac8c8 !important;
border-radius: 20px !important;
padding-top: 28px;
padding-bottom: 14px;
padding-bottom: 26px;
margin-left: 13px;
margin-right: 13px;
margin-top: -136px;
margin-top: -93px;
margin-bottom: 10px;
}
@ -310,3 +294,214 @@ margin-top: -13px;
height: 6px;
right: 16px;
}
.subTitle{
margin-top: -10px;
margin-left: 10px;
font-family: WorkSans-Bold;
font-size: 16px;
}
.subTitle-ar{
margin-top: -10px;
margin-right: 10px;
font-family: WorkSans-Bold;
font-size: 16px;
}
.today-graph {
max-height: 4cm;
display: block;
height: 124px;
width: 249px;
margin-left: -39px;
}
.today-graph-ar {
max-height: 4cm;
display: block;
height: 132px;
width: 264px;
margin-right: 105px;
}
.graph-container{
margin-left: 160px;
position: relative;
margin-top: -98px;
}
// .label-container{
// position: absolute;
// // width: 20%;
// // right: 30px;
// top: 50%;
// margin-top: -27px;
// left: 20px;
// }
.green-label-container{
margin-top: 20px; margin-left: 12px;
}
.green-label-container-ar{
margin-top: 20px; margin-right: 12px;
}
.black-label-container{
margin-left: 12px;
}
.black-label-container-ar{
margin-right: 12px;
}
.used-label-container{
// border-top: 5px solid #292F42;
// padding: 1px 0px;
// margin: 15px 0px
width: 12px;
height: 12px;
padding-right: -10px;
border-radius: 100%;
background-color: #b60c0c;
margin-top: 30px;
}
.current-label-container{
width: 12px;
height: 12px;
padding-right: -10px;
border-radius: 100%;
background-color: black;
margin-top: 21px;
}
.current-label{
width: 12px;
height: 12px;
padding-right: -10px;
border-radius: 100%;
background-color: #269DB8;
// margin-top: 30px;
}
.span-one{
// display: block;
// font-size: 12px;
// color: black;
display: block;
font-size: 12px;
color: #269DB8;
margin-left: 6px;
margin-top: -2px;
font-weight: bold;
}
.span-one-ar{
display: block;
font-size: 12px;
color: #269DB8;
margin-right: 6px;
margin-top: -2px;
font-weight: bold;
}
.span-two{
// display: block;
// font-size: 22px;
display: block;
font-size: 12px;
color: #269DB8;
margin-left: 6px;
margin-top: -2px;
font-weight: bold;
font-family: WorkSans-Bold;
}
.black-span1{
// display: block;
// font-size: 12px;
// color: black;
display: block;
font-size: 12px;
color: black;
margin-left: 6px;
margin-top: 20px;
font-weight: bold;
}
.black-span1-ar{
// display: block;
// font-size: 12px;
// color: black;
display: block;
font-size: 12px;
color: black;
margin-right: 6px;
margin-top: 20px;
font-weight: bold;
}
.black-span2{
// display: block;
// font-size: 22px;
display: block;
font-size: 12px;
color: black;
margin-left: 6px;
margin-top: 20px;
font-weight: bold;
font-family: WorkSans-Bold;
}
.red-span1{
// display: block;
// font-size: 12px;
// color: black;
display: block;
font-size: 12px;
color: #b60c0c;
margin-left: 6px;
margin-top: 28px;
font-weight: bold;
}
.red-span1-ar{
// display: block;
// font-size: 12px;
// color: black;
display: block;
font-size: 12px;
color: #b60c0c;
margin-right: 6px;
margin-top: 28px;
font-weight: bold;
}
.red-span2{
// display: block;
// font-size: 22px;
display: block;
font-size: 12px;
color: #b60c0c;
margin-left: 6px;
margin-top: 28px;
font-weight: bold;
font-family: WorkSans-Bold;
}
.yearLabel{
font-size: 13px;
color: gray;
font-family: WorkSans-Bold;
margin-left: 29px;
margin-top: 5px;
}
.yearLabel-ar{
font-size: 13px;
color: gray;
font-family: WorkSans-Bold;
margin-right: 29px;
margin-top: 5px;
}

@ -66,6 +66,7 @@ export class HomeComponent implements OnInit {
this.Sdate = new Date().toISOString();
this.getUserDetails();
this.getAccrualBalance();
}
private getUserDetails(){
this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => {
@ -113,9 +114,11 @@ export class HomeComponent implements OnInit {
{
data: [this.accrualNet,this.accrualUsed],
backgroundColor: [
'#1FA269',
'#CB3232',],
borderWidth: 2
// '#1FA269',
// '#CB3232',],
'#269DB8',
'#b60c0c',],
borderWidth: 1
}
]
};
@ -270,9 +273,9 @@ createAbsence() {
// { data: [this.accrualNet,this.accrualYearly,this.accrualUsed],
{ data: [this.accrualNet,this.accrualUsed],
backgroundColor: [
'#1FA269',
'#CB3232',],
borderWidth: 2
'#269DB8',
'#b60c0c',],
borderWidth: 1
}
]
};

@ -50,7 +50,7 @@
<img style= "height: 14px !important;" src="../assets/imgs/my_team_icon.png" item-left>
</ion-thumbnail>
<ion-label class="profile">
HR REQUEST
{{ts.trPK('userProfile','HR-Request')}}
</ion-label>
</ion-item>

@ -230,8 +230,8 @@ export class AppComponent implements OnInit {
}
public openMyRequestPage() {
this.cs.openMyRequestPage();
this.menu.toggle();
this.cs.openMyRequestPage();
}
public profile() {

@ -206,6 +206,7 @@ export class SmsPageComponent implements OnInit {
if (this.platform.is('cordova')) {
this.insertMobileLogin();
}
this.common.sharedService.setSharedData(result.MemberInformationList[0].PAYROLL_CODE, "projcet-code");
this.activeType =this.common.setActiveTypeLogin(0);
this.common.openHome();
});

@ -1124,6 +1124,9 @@ export class CommonService {
public openHRRequestPage() {
this.nav.navigateForward(['/mowadhafi/hr-request']);
}
public openHRRequestFormPage() {
this.nav.navigateForward(['/mowadhafi/hr-request-form']);
}
public openRequestDetailsPage() {
this.nav.navigateForward(['/mowadhafi/request-details']);
}

@ -11,7 +11,7 @@
<ion-content>
<div *ngIf="!showRequestDetails" class="contentBg">
<div class="contentBg">
<div class="result-graph" >
<div class="user-info">
<div class="user-image-container">
@ -130,106 +130,13 @@
<!-- ///////////////////////////////////////////////////////////////////next page -->
<div *ngIf="showRequestDetails" >
<ion-card class="result-serviceType">
<ion-card-content>
<div class="request-heading">
<span>{{ts.trPK('userProfile','ServiceType')}}</span>
</div>
<div>
<ion-row class="custom-radio">
<ion-radio-group (ionChange)="showSelectedField($event)" class="radio-list">
<ion-radio value="HR Services" [color]="myColor">{{HR}}</ion-radio>
<ion-label class="text-label" >{{HR}}</ion-label>
<ion-radio value="Complaints" [color]="myColor" >{{complaints}}</ion-radio>
<ion-label class="text-label">{{complaints}}</ion-label>
<ion-radio value="Inquiry" [color]="myColor" >{{inquiry}}</ion-radio>
<ion-label class="text-label">{{inquiry}}</ion-label>
</ion-radio-group>
</ion-row>
</div>
<!-- /////////////////////////////////////////// -->
<div>
<div>
<ion-list>
<label class="labels">{{ts.trPK('userProfile','DeptName')}}</label>
<ion-item lines="none" class="filed-container">
<select class="filed1" placeholder="Select Department" type="text" [(ngModel)]="index">
<option [selected]="x.departmentName" value="{{i}}"
*ngFor="let x of departTypeList; let i=index;">
{{x.departmentName}} </option>
</select>
<!-- <select class="filed1" placeholder="Select Department" type="text">
<option >{{EmpRelations}}</option>
<option >{{Hr}}</option>
<option >{{Payroll}}</option>
<option >{{GovRelation}}</option>
</select> -->
</ion-item>
<label class="labels">{{ts.trPK('userProfile','RelatedSection')}}</label>
<ion-item lines="none" class="filed-container">
<select [(ngModel)]="index" class="filed2" placeholder="Select Sectiont" type="text">
<!-- <option [selected]="projName" >{{projName}}</option> -->
<option [selected]="x.projectName" value="{{i}}"
*ngFor="let x of sectionTypeList; let i=index;">
{{x.projectName}} </option>
</select>
</ion-item>
<label class="labels">{{ts.trPK('userProfile','RelatedTopic')}}</label>
<ion-item lines="none" class="filed-container">
<select [(ngModel)]="index" class="filed3" placeholder="Select Topic" type="text">
<!-- <option value="1">{{topicName}}</option> -->
<option [selected]="x.topicName" value="{{i}}"
*ngFor="let x of topicTypeList; let i=index;">
{{x.topicName}} </option>
</select>
</ion-item>
</ion-list>
</div>
<div class="request-heading">
<span>{{ts.trPK('userProfile','SupportingDocument')}}</span>
</div>
<div>
<!-- <input type="file" ng2FileSelect [uploader]="uploader"
(change)="onFileSelected($event)" (click)="onFileSelectedclick($event)" />
<label end for="file">
<img slot="start" style=" height: 55px;"src="../assets/imgs/add-photo.svg">
</label> -->
<div class="fileUpload btn btn-primary">
<img slot="start" style=" height: 55px;"src="../assets/imgs/add-photo.svg">
<input type="file" class="upload" ng2FileSelect [uploader]="uploader"
(change)="onFileSelected($event)" (click)="onFileSelectedclick($event)" />
</div>
</div>
<div class="request-heading">
<span>{{ts.trPK('userProfile','Description')}}</span>
</div>
<ion-col size="12">
<ion-item style="margin-left: -20px;margin-right: -13px;margin-top: -24px;" lines="none">
<ion-input [ngClass]="direction == 'en' ? 'filedDesc':'filedDesc-ar' " placeholder="{{ts.trPK('userProfile','Description')}}" type="text"></ion-input>
</ion-item>
</ion-col>
</div>
</ion-card-content>
</ion-card>
</div>
</ion-content>
<ion-footer *ngIf="showRequestDetails" >
<!-- <ion-footer *ngIf="showRequestDetails" >
<div class="centerDiv">
<button class="gridCancelBtn" ion-button (click)="cancelRequest()">{{ts.trPK('general','cancel')}}</button>
<button class="gridSubmitBtn" ion-button (click)="submitRequest()">{{ts.trPK('general','submit')}}</button>
</div>
</ion-footer>
</ion-footer> -->

@ -52,7 +52,9 @@ export class HRRequestComponent implements OnInit {
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 projectDetial:any;
public projectDep:any;
public sectionDep:any;
public direction: string;
@ -72,11 +74,7 @@ export class HRRequestComponent implements OnInit {
ngOnInit() {
this.getUserInformation();
this.getTicketTypes();
this.getProject();
this.getProjectDepartments();
this.getDepartmentSections();
this.getSectionTopics();
}
@ -119,190 +117,10 @@ export class HRRequestComponent implements OnInit {
// 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(){}
public createRequest() {
this.cs.openHRRequestFormPage();
// this.menu.toggle();
}
}

@ -10,6 +10,7 @@ import { HmgCommonModule } from '../hmg-common/hmg-common.module';
import {MyRequestComponent} from './my-request/my-request.component';
import {HRRequestComponent} from './hr-request/hr-request.component';
import {RequestDetailsComponent} from'./request-details/request-details.component';
import {HrRequestFormComponent} from './hr-request-form/hr-request-form.component';
const routes: Routes = [
{
@ -26,7 +27,11 @@ const routes: Routes = [
{
path: 'request-details',
component: RequestDetailsComponent
}
},
{
path: 'hr-request-form',
component: HrRequestFormComponent
}
]
@ -41,6 +46,7 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes)
],
declarations: [MowadhafiPage,MyRequestComponent,HRRequestComponent,RequestDetailsComponent]
declarations: [MowadhafiPage,MyRequestComponent,HRRequestComponent
,RequestDetailsComponent,HrRequestFormComponent]
})
export class MowadhafiPageModule {}

@ -19,6 +19,7 @@ export class MowadhafiService {
public static getTicketStatisticsByEmp ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketStatisticsByEmployee';
public static getTicketTransaction ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketTransaction';
public static getTicketDetails ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketDetails';
public static getCreateTicket = 'Services/COCWS.svc/REST/Mohemm_ITG_CreateTicket';
constructor(
public con: ConnectorService,
@ -44,31 +45,39 @@ export class MowadhafiService {
public getTicketTypes(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
console.log(request);
return this.con.post(MowadhafiService.getTicketTypes, request, onError, errorLabel);
}
public getProject(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
// request.ItgProjectCode = request.projectCode;
return this.con.post(MowadhafiService.getProject, request, onError, errorLabel);
}
public getProjectDepartments(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getProjectDepartments, request, onError, errorLabel);
}
public getDepartmentSections(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getDepartmentSections, request, onError, errorLabel);
}
public getSectionTopics(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getSectionTopics, request, onError, errorLabel);
}
public getTicketsByEmployee(absence: any, onError?: any, errorLabel?: string){
const request = absence;
let request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getTicketsByEmployee, request, onError, errorLabel);
}
@ -81,12 +90,21 @@ export class MowadhafiService {
public getTicketTransaction(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getTicketTransaction, request, onError, errorLabel);
}
public getTicketDetails(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getTicketDetails, request, onError, errorLabel);
}
}
public getCreateTicket(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
request.EmployeeNumber = request.P_USER_NAME;
return this.con.post(MowadhafiService.getCreateTicket, request, onError, errorLabel);
}
}

@ -14,14 +14,14 @@
<ion-row [ngClass]="direction == 'en' ? 'empty-en':'empty-ar' ">{{ts.trPK('general','empty')}}</ion-row>
</div> -->
<div>
<ion-card class="result-container" (click)="openRequestDetailsPage()">
<ion-card *ngFor="let ticket of ticketsInfo ;let i = index" class="result-container" (click)="openRequestDetailsPage(ticket)">
<ion-card-content>
<ion-row style="margin-left: -3px; margin-right: -9px;">
<ion-col class="text">Complaints</ion-col>
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}} May2,2021</ion-col>
<ion-col class="text">{{ticket.ticketTypeName}}</ion-col>
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}} {{(ticket.created)?.substring(0,10)}}</ion-col>
</ion-row>
<ion-row>There is some Complaints</ion-row>
<ion-row style="margin-top: 5px;">Pending</ion-row>
<ion-row>{{ticket.description}}</ion-row>
<ion-row style="margin-top: 5px;color: #e69f44; font-family:'WorkSans-bold';">{{ticket.ticketStatusName}}</ion-row>
</ion-card-content>
</ion-card>
</div>

@ -30,6 +30,7 @@
font-size: 15px;
margin-top: -9px;
font-family: 'WorkSans-bold';
}
.date{
margin-top: -9px;

@ -14,7 +14,8 @@ import { Location } from '@angular/common';
styleUrls: ['./my-request.component.scss'],
})
export class MyRequestComponent implements OnInit {
public direction : String;
public direction: String;
public ticketsInfo : any = [];
constructor(
@ -26,10 +27,10 @@ public direction : String;
public MowadhafiService: MowadhafiService,
private location: Location,
private menu: MenuController,
) {
this.direction = TranslatorService.getCurrentLanguageName();
}
}
ngOnInit() {
this.getTicketsByEmployee();
@ -37,35 +38,48 @@ public direction : String;
goback() {
this.location.back();
}
public openHRRequestPage() {
this.cs.openHRRequestPage();
this.menu.toggle();
}
}
public openRequestDetailsPage() {
this.cs.openRequestDetailsPage();
this.menu.toggle();
}
public openHRRequestPage() {
this.cs.openHRRequestPage();
// this.menu.toggle();
}
public openRequestDetailsPage(item) {
this.cs.sharedService.setSharedData(item,'ticket-info')
this.cs.openRequestDetailsPage();
// this.menu.toggle();
}
getTicketsByEmployee(){
const request = {
// TokenID:"xxx",
EmployeeNumber:"121816",
ItgPageSize:10,
ItgPageNo:1
getTicketsByEmployee() {
const request = {
// TokenID:"xxx",
EmployeeNumber: "",
ItgPageSize: 10,
ItgPageNo: 1
};
this.MowadhafiService.getTicketsByEmployee(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handlegetTicketsByEmployeeResult(result);
}) }
handlegetTicketsByEmployeeResult(result){
}
};
this.MowadhafiService.getTicketsByEmployee(request, () => { }, this.ts.trPK('general', 'retry')).subscribe((result) => {
this.handlegetTicketsByEmployeeResult(result);
})
}
handlegetTicketsByEmployeeResult(result){
let x;
if(this.cs.validResponse(result)){
x = JSON.parse(result.Mohemm_ITG_ResponseItem);
console.log(x);
this.ticketsInfo=x.result.data;
for (let i = 0; i < this.ticketsInfo.length; i++) {
// console.log(i + ' : ' + this.ticketsInfo[i].ticketTypeName)
}
console.log(this.ticketsInfo);
}
}
}

@ -19,40 +19,40 @@
<ion-card class="result-container" >
<ion-card-content>
<ion-row style="margin-left: -3px; margin-right: -9px;">
<ion-col >Pending</ion-col>
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}} May2,2021</ion-col>
<ion-col style="color: #e69f44;" > {{status}}</ion-col>
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}}{{date}}</ion-col>
</ion-row>
<ion-col [size]="12">
<h2 class="labels">{{ts.trPK('userProfile','refrence')}}</h2>
<p class="text">453388</p>
<p class="text">{{ticketRefre}}</p>
</ion-col>
<ion-col [size]="12">
<h2 class="labels"> {{ts.trPK('userProfile','section')}}</h2>
<p class="text">Employee</p>
<p class="text">{{section}}</p>
</ion-col>
<ion-col [size]="12">
<h2 class="labels"> {{ts.trPK('userProfile','topic')}}</h2>
<p class="text">Change Tiket</p>
<p class="text">{{topic}}</p>
</ion-col>
<ion-col [size]="12">
<h2 class="labels">{{ts.trPK('userProfile','Description')}}</h2>
<p class="DescrText">descriptions</p>
<p class="DescrText">{{description}}</p>
</ion-col>
</ion-card-content>
</ion-card>
</div>
<div>
<ion-card class="result-containerList" >
<ion-card class="result-containerList" >
<ion-card-content>
<div style="position: relative;">
<div *ngFor="let action of actionInfo ;let i = index" style="position: relative;">
<div [ngClass]=" direction == 'en'? 'request-list-container' : 'request-list-container-ar'" >
<div>
<!-- <div *ngFor="let formattedAction of showFormattedAction; let i = index"> -->
<span [ngClass]="direction == 'en'? 'text-span':'text-span-ar'">Action By</span>
<span [ngClass]="direction == 'en'? 'text-span':'text-span-ar'">{{ts.trPK('userProfile','actionBy')}}{{action.actionBy}}</span>
<div class="action-data">
<p >descriptions</p>
<span [ngClass]="direction == 'en'? 'date-span':'date-span-ar'">May 16,2021</span>
<p >{{action.comments}}</p>
<span [ngClass]="direction == 'en'? 'date-span':'date-span-ar'">{{(action.actionDate)?.substring(0,10)}}</span>
</div>
</div>
</div>

@ -70,7 +70,8 @@
font-size: 13px;
margin-bottom: 0px;
margin-top: -10px;
color: gray;
color: #a9a5a5;
font-family: 'WorkSans-bold';
}
.request-list-container {
@ -78,7 +79,6 @@
padding-left: 37px;
clear: both;
min-height: 200px;
margin-bottom: 80px;
padding-top: 15px;
}
.request-list-container:before{
@ -162,7 +162,7 @@
margin-bottom: 0px;
margin-top: -10px;
color: gray;
margin-left: 178px;
margin-left: 172px;
}
.date-span-ar{

@ -15,6 +15,16 @@ import { Location } from '@angular/common';
})
export class RequestDetailsComponent implements OnInit {
public direction : String;
public actionInfo:any = [];
public teckitInfo:any;
public description:any;
public section:any;
public topic:any;
public ticketRefre:any;
public date:any;
public status:any;
public teckitDetial:any;
constructor(
public ts: TranslatorService,
@ -31,8 +41,9 @@ export class RequestDetailsComponent implements OnInit {
}
ngOnInit() {
this.teckitDetial = this.cs.sharedService.getSharedData('ticket-info', true)
this.getTicketDetails();
this.getTicketTransaction();
this.getTicketDetails()
}
goback() {
@ -44,8 +55,8 @@ export class RequestDetailsComponent implements OnInit {
getTicketTransaction(){
const request = {
EmployeeNumber:"121816",
ItgTicketId:"5a10de61-c4db-4c77-e464-08d8a1beaaac",
EmployeeNumber:'',
ItgTicketId:this.teckitDetial.ticketId,
};
this.MowadhafiService.getTicketTransaction(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
@ -54,14 +65,23 @@ export class RequestDetailsComponent implements OnInit {
}) }
handlegetTicketTransactionResult(result){
let x;
if(this.cs.validResponse(result)){
x = JSON.parse(result.Mohemm_ITG_ResponseItem);
console.log(x);
this.actionInfo=x.result.data;
for (let i = 0; i < this.actionInfo.length; i++) {
console.log(i + ' : ' + this.actionInfo[i].ticketTypeName)
}
}
}
getTicketDetails(){
const request = {
EmployeeNumber:"121816",
TokenID:"@dm!n",
ItgTicketId:"5a10de61-c4db-4c77-e464-08d8a1beaaac",
EmployeeNumber:'',
ItgTicketId:this.teckitDetial.ticketId,
};
this.MowadhafiService.getTicketDetails(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
@ -70,6 +90,19 @@ export class RequestDetailsComponent implements OnInit {
}) }
handlegetTicketDetailsResult(result){
let res;
if(this.cs.validResponse(result)){
res = JSON.parse(result.Mohemm_ITG_ResponseItem);
console.log(res);
this.teckitInfo = res.result.data;
this.status =this.teckitInfo.ticketStatusName;
this.date =this.teckitInfo.created.substring(0, 10);
this.ticketRefre =this.teckitInfo.ticketReferenceNo;
this.section = this.teckitInfo.sectionName;
this.topic =this.teckitInfo.topicName;
this.description =this.teckitInfo.description;
}
}

@ -400,7 +400,7 @@
<div style="margin-top: -23px;">
<ion-row>
<ion-col><p class="text">{{ts.trPK('myTeam','my-team-members')}}</p></ion-col>
<ion-col> <div class="number"><p class="numberEmp">{{EmpTotal}}</p></div></ion-col>
<ion-col> <div class="number"><p class="numberEmp">{{EmployeeTotal}}</p></div></ion-col>
</ion-row>
</div>

@ -92,7 +92,10 @@ export class DetailsComponent implements OnInit {
public selectedFilter = '';
public itemType = '';
public monthNo: any;
isFavorite: boolean = false;
isFavorite = false;
public EmpNumer:any;
public isFavor:any;
public EmployeeTotal:any;
@ -231,7 +234,9 @@ export class DetailsComponent implements OnInit {
this.showAttendanceTracking();
// tslint:disable-next-line: max-line-length
this.currentMonthName = this.direction === 'en' ? this.common.getMonthName(this.monthIndex) : this.common.getMonthNameAr(this.monthIndex);
this.getSuborinatesAttStatus();
// this.getSuborinatesAttStatus();
// this.getFavorit();
}
@ -300,7 +305,6 @@ export class DetailsComponent implements OnInit {
this.timeCardService.getDayHoursTypeDetails(dayAndHoursReqObj, '', '', this.isPostNoLoad).subscribe((result) => {
if (this.common.validResponse(result)) {
console.log(result.GetDayHoursTypeDetailsList);
this.common.sharedService.setSharedData(result.GetDayHoursTypeDetailsList, 'RTP_IDs');
this.countAllAttendDays(result.GetDayHoursTypeDetailsList);
}
@ -308,7 +312,7 @@ export class DetailsComponent implements OnInit {
}
monthCardSliders(monthNo) {
console.log(monthNo + "__________________")
/* change
*/
@ -321,8 +325,7 @@ export class DetailsComponent implements OnInit {
//end
this.calendarConfig(this.getMonthName(monthNo), this.currentYear);
console.log("next month =" + this.nextMonth);
console.log(" Month Name =" + this.currentMonthName);
}
@ -350,7 +353,7 @@ export class DetailsComponent implements OnInit {
this.preMonth = 12;
}
this.currentDate = new Date(this.currentYear, (this.preMonth - 1), 1);
console.log(this.currentDate);
this.calendarConfig(this.getMonthName(this.preMonth), this.currentYear);
this.preMonth = this.preMonth - 1;
this.nextMonth = this.preMonth + 2;
@ -525,6 +528,8 @@ export class DetailsComponent implements OnInit {
this.isSpecialist = this.common.sharedService.getSharedData('isSpecialist', false) ? true : false;
if (this.employee) {
this.getEmpSubordinate(userID);
this.isFavorite = false;
this.getFavorit();
}
}
@ -587,7 +592,7 @@ export class DetailsComponent implements OnInit {
};
this.getEmployeeSubordinatesRequestObject = body;
this.myTeamService.getEmployeeSubordinates(body).subscribe((result: any) => {
console.log('one');
if (this.common.validResponse(result)) {
this.handleEmpResult(result.GetEmployeeSubordinatesList);
}
@ -595,6 +600,7 @@ export class DetailsComponent implements OnInit {
}
handleEmpResult(result) {
this.EmployeeTotal = result.length;
const lastItemIndex = result.length - 1;
const lastItem = result[lastItemIndex];
if (lastItem) {
@ -625,7 +631,7 @@ export class DetailsComponent implements OnInit {
doInfinite(infiniteScroll) {
if (!this.isReachEnd) {
this.myTeamService.getEmployeeSubordinates(this.getEmployeeSubordinatesRequestObject).subscribe((result: any) => {
console.log('two');
if (this.common.validResponse(result)) {
this.handleEmpResult(result.GetEmployeeSubordinatesList);
}
@ -715,37 +721,29 @@ export class DetailsComponent implements OnInit {
}
}
getSuborinatesAttStatus() {
const request = {
// VersionID:2.8,
// Channel:37,
// LanguageID:2,
// MobileType:"android",
// P_SESSION_ID:1142449920,
// MobileNumber:"0508079569",
// TokenID:"VHR_Token",
// P_USER_NAME:"111209",
// UserName:"111209",
// P_EMAIL_ADDRESS:"Faisal.AlQurashi@cloudsolutions.com.sa",
SearchMonth: "January",
SearchYear: 2021
// getSuborinatesAttStatus() {
// const request = {
// // SearchMonth: "January",
// // SearchYear: 2021
// SearchMonth: "",
// SearchYear: Number
};
// this.myTeamService.getSuborinatesAttStatus().subscribe((result: any) =>
this.myTeamService.getSuborinatesAttStatus(request, () => { }, this.ts.trPK('general', 'retry')).subscribe((result) => {
this.handleRespondSuborinatesAttStatusResult(result);
// };
// // this.myTeamService.getSuborinatesAttStatus().subscribe((result: any) =>
// this.myTeamService.getSuborinatesAttStatus(request, () => { }, this.ts.trPK('general', 'retry')).subscribe((result) => {
// this.handleRespondSuborinatesAttStatusResult(result);
})
}
// })
// }
handleRespondSuborinatesAttStatusResult(result) {
// this.EmpTotal = result.GetSubordinatesAttdStatusList.length;
this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES;
console.log("total no " + this.EmpTotal)
}
// handleRespondSuborinatesAttStatusResult(result) {
// // this.EmpTotal = result.GetSubordinatesAttdStatusList.length;
// this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES;
// }
activeFilter(index: number) {
console.log(this.filters);
if (this.currentActiveIndex !== index) {
this.previousActiveIndex = this.currentActiveIndex;
this.currentActiveIndex = index;
@ -804,8 +802,9 @@ export class DetailsComponent implements OnInit {
this.common.presentConfirmDialog(
confirmBoxhtml
, () => {
var request =
{ "USER_NAME": selEmp['USER_NAME'], "EMPLOYEE_DISPLAY_NAME": selEmp['EMPLOYEE_DISPLAY_NAME'], "EMAIL_ADDRESS": selEmp.EMAIL_ADDRESS, "EMPLOYEE_IMAGE": selEmp.EMPLOYEE_IMAGE, "IsFavorite": true };
[ { "USER_NAME": this.employee.EMPLOYEE_NUMBER, "EMPLOYEE_DISPLAY_NAME": this.employee.EMPLOYEE_DISPLAY_NAME, "EMAIL_ADDRESS": this.employee.EMAIL_ADDRESS, "EMPLOYEE_IMAGE": this.employee.EMPLOYEE_IMAGE, "IsFavorite": !this.isFavorite}];
this.saveUserFavruiteList(request);
// this.isFavorite = false;
@ -813,7 +812,7 @@ export class DetailsComponent implements OnInit {
}, () => {
})
this.isFavorite = false;
// if (selectValue == "1" || selectValue == "2" || selectValue == "3") {
// this.isSelect = true;
// }
@ -832,6 +831,7 @@ export class DetailsComponent implements OnInit {
if (this.common.validResponse(result)) {
this.common.stopLoading();
this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList'];
}
@ -842,10 +842,27 @@ export class DetailsComponent implements OnInit {
}).subscribe((result) => {
if (this.common.validResponse(result)) {
this.common.toastPK("replacementRoll", "favorite-saved");
this.isFavorite = true;
this.isFavorite = !this.isFavorite;
}
})
}
getFavorit(){
this.worklistService.getFavoriteMyTeam({}, () => {
}).subscribe((result) => {
this.EmpNumer = result.Mohemm_GetFavoriteReplacementsList;
this.EmpNumer.forEach(element => {
if(element.USER_NAME === this.employee.EMPLOYEE_NUMBER){
this.isFavorite = true;
}
});
});
}
}

@ -47,7 +47,7 @@
<div>
<ion-row>
<ion-col><p class="text">{{ts.trPK('myTeam','my-team-members')}}</p></ion-col>
<ion-col> <div class="number"><p class="numberEmp">{{EmpTotal}}</p></div></ion-col>
<ion-col> <div class="number"><p class="numberEmp">{{EmployeeTotal}}</p></div></ion-col>
</ion-row>
</div>

@ -31,6 +31,7 @@ export class HomeComponent implements OnInit {
public pageFirstVisit = false;
myColor: string = 'secondary';
public EmpTotal = [];
public EmployeeTotal: any;
public options = {
cutoutPercentage: 80,
@ -99,7 +100,7 @@ export class HomeComponent implements OnInit {
this.common.sharedService.setSharedData( [], DetailsComponent.opendEmployeesARR);
this.setIntitial();
this.getSuborinatesAttStatus();
// this.getSuborinatesAttStatus();
}
toggleColor() {
this.myColor = 'secondary';
@ -166,6 +167,7 @@ export class HomeComponent implements OnInit {
}
handleEmpResult(result) {
this.EmployeeTotal = result.length;
const lastItemIndex = result.length - 1;
const lastItem = result[lastItemIndex];
if (lastItem) {
@ -240,33 +242,23 @@ export class HomeComponent implements OnInit {
getSuborinatesAttStatus(){
const request = {
// VersionID:2.8,
// Channel:37,
// LanguageID:2,
// MobileType:"android",
// P_SESSION_ID:1142449920,
// MobileNumber:"0508079569",
// TokenID:"VHR_Token",
// P_USER_NAME:"111209",
// UserName:"111209",
// P_EMAIL_ADDRESS:"Faisal.AlQurashi@cloudsolutions.com.sa",
SearchMonth:"January",
SearchYear:2021
// getSuborinatesAttStatus(){
// const request = {
// // SearchMonth:"January",
// SearchYear:Number,
};
// this.myTeamService.getSuborinatesAttStatus().subscribe((result: any) =>
this.myTeamService.getSuborinatesAttStatus(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleRespondSuborinatesAttStatusResult(result);
// };
// // this.myTeamService.getSuborinatesAttStatus().subscribe((result: any) =>
// this.myTeamService.getSuborinatesAttStatus(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
// {
// this.handleRespondSuborinatesAttStatusResult(result);
})
}
// })
// }
handleRespondSuborinatesAttStatusResult(result){
// this.EmpTotal = result.GetSubordinatesAttdStatusList.length;
this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES;
console.log("total no "+this.EmpTotal)
}
// handleRespondSuborinatesAttStatusResult(result){
// // this.EmpTotal = result.GetSubordinatesAttdStatusList.length;
// this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES;
// console.log("total no "+this.EmpTotal)
// }
}

@ -7,7 +7,7 @@ import { AuthenticationService } from "src/app/hmg-common/services/authenticatio
export class MyTeamService {
public static EMPLOYEE_SHARED_DATA = 'employee';
public static getMyTeam = 'Services/ERP.svc/REST/GET_EMPLOYEE_SUBORDINATES';
public static getSuborinateStatus = 'Services/ERP.svc/REST/GET_SUBORDINATES_ATTD_STATUS';
// public static getSuborinateStatus = 'Services/ERP.svc/REST/GET_SUBORDINATES_ATTD_STATUS';
constructor(
@ -20,11 +20,13 @@ export class MyTeamService {
return this.con.post(MyTeamService.getMyTeam, request, onError, errorLabel);
}
public getSuborinatesAttStatus(absence: any, onError?: any, errorLabel?: string){
const request = absence;
this.authService.authenticateRequest(request);
return this.con.post(MyTeamService.getSuborinateStatus, request, onError, errorLabel);
}
// public getSuborinatesAttStatus(absence: any, onError?: any, errorLabel?: string){
// const request = absence;
// this.authService.authenticateRequest(request);
// console.log("________________________________");
// console.log(request);
// return this.con.post(MyTeamService.getSuborinateStatus, request, onError, errorLabel);
// }

@ -59,7 +59,13 @@ export class WorklistService {
var req: any = {};
req['Mohemm_ChangeReplacementsInputList'] = request;
this.authService.authenticateRequest(req);
console.log(req);
return this.api.post(WorklistService.saveFavorite, req, onError, errorLabel);
}
}
public getFavoriteMyTeam(req: any, onError?: any, errorLabel?: string): Observable<any> {
this.authService.authenticateRequest(req);
return this.api.post(WorklistService.getFavorite, req, onError, errorLabel);
}
}

@ -1175,6 +1175,10 @@
"en": "Topic",
"ar": "العنوان"
},
"actionBy": {
"en": "Action By :",
"ar": " : بواسطة"
},
"postedDate": {
"en": "Posted on",
"ar": "نشر في"
@ -1205,7 +1209,7 @@
},
"HR-Request": {
"en": "HR Request",
"ar": "HR طلبات ال "
"ar": "HR طلبات"
},
"performance-evaluation": {
"en": "Performance Evaluation",
@ -1635,6 +1639,14 @@
"en": "Absence list",
"ar": "قائمة الإجازات"
},
"AccrualUsed": {
"en": "Accrual Used",
"ar": "الأستحقاق المستخدم"
},
"PreviousYears": {
"en": "Previous Years",
"ar": "السنوات السابقه"
},
"accrualBalances": {
"en": "Accrual Balances",
"ar": "رصيد حساب المستحقات"

Loading…
Cancel
Save