Merge branch 'master-newdesign' into umar-issues

mekawy-issues
Mohamed Mekawy 6 years ago
commit 987ed120f9

@ -10,7 +10,7 @@
<ion-grid> <ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;"> <ion-row style="margin-top: 20px;margin-left: 12px;">
<ion-col> <ion-col>
<div size="10" class="approvalTitle">{{'general, addAttach' | translate}}</div> <div size="10" [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'general, addAttach' | translate}}</div>
</ion-col> </ion-col>
<ion-col style="padding-left: 7%;" size="2"> <ion-col style="padding-left: 7%;" size="2">
<div class="fileDiv"> <div class="fileDiv">
@ -86,7 +86,7 @@
<ion-grid class=""> <ion-grid class="">
<div class="approvalTitle">{{'confirmAddEit, comment' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, comment' | translate}}</div>
<ion-item class="submitNote" lines="none"> <ion-item class="submitNote" lines="none">
<!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> --> <!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="absComments"></ion-textarea> <ion-textarea type="text" [(ngModel)]="absComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid> </ion-grid>
<ion-grid class="approvalList"> <ion-grid class="approvalList">
<div class="approvalTitle">{{'confirmAddEit, approverList' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, approverList' | translate}}</div>
<div class="noDataDiv" *ngIf="approversList.length == 0"> <div class="noDataDiv" *ngIf="approversList.length == 0">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>

@ -271,3 +271,15 @@ ion-card-content.confirm-details{
color: white!important; color: white!important;
border-radius: 16px !important; border-radius: 16px !important;
} }
.approvalTitle-ar{
font-weight: bold;
font-size: 16px;
text-align: right;
}
.approvalTitle{
font-weight: bold;
font-size: 16px;
text-align: left;
}

@ -89,9 +89,10 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 145px !important; // padding-left: 145px !important;
margin-left: 86px; margin-left: 115px;
// padding-right: 129px; // padding-right: 129px;
margin-right: -143px; // margin-right: -143px;
margin-right: -136px;
} }
// {padding-left: unset; // {padding-left: unset;
// padding-right: unset; // padding-right: unset;
@ -123,7 +124,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -181px; margin-left: -181px;
margin-right: 269px; margin-right: 259px;
} }

@ -22,6 +22,7 @@ export class AbsenceReplacementListComponent implements OnInit {
selectedValue: any; selectedValue: any;
inputSearch: any; inputSearch: any;
selEmpName: any; selEmpName: any;
selectedReplacedEmp: any;
selectedUserInf: any; selectedUserInf: any;
userNote: any; userNote: any;
getPassNotificationDetails: any; getPassNotificationDetails: any;
@ -63,7 +64,7 @@ export class AbsenceReplacementListComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
this.selectedReplacedEmp = this.cs.sharedService.getSharedData('selectedReplacedEmp');
this.demoeAttach = [{ this.demoeAttach = [{
USER_NAME: '18888', USER_NAME: '18888',
EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ",
@ -147,7 +148,7 @@ export class AbsenceReplacementListComponent implements OnInit {
// this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME="";
// this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch;
// } // }
this.WorkListReplacmentEmployeeObj.P_SELECTED_EMPLOYEE_NUMBER =this.selectedReplacedEmp;
this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj).
subscribe((result: WorKListReplacmentEmployeeResponse) => { subscribe((result: WorKListReplacmentEmployeeResponse) => {
this.handleWorkListReplacmentEmployeeResult(result); this.handleWorkListReplacmentEmployeeResult(result);

@ -50,8 +50,11 @@
<div > <div >
<!-- <ion-item> --> <!-- <ion-item> -->
<!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> --> <!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY" <ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
(ionChange)="getAccrualBalance()"></ion-datetime> 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-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
<!-- </ion-item> --> <!-- </ion-item> -->
</div> </div>

@ -152,7 +152,7 @@
width: 320px; width: 320px;
padding-left: 51px; padding-left: 51px;
font-size: 14px; font-size: 14px;
margin-right: 116px; margin-right: 75px;
margin-bottom: -30px; margin-bottom: -30px;
} }
@ -258,44 +258,45 @@ margin-top: -13px;
width: 11%; width: 11%;
height: 6px; height: 6px;
} }
.div-orng-ar{
position: relative;
bottom: 59px;
color: black;
background-color: #DDB017;
// background-color: #1FA269;
width: 11%;
height: 6px;
right: 9px;
}
.div-red-ar{ .div-red-ar{
position: relative; position: relative;
bottom: 131px; bottom: 59px;
color: black;
background-color: #CB3232;
width: 11%;
height: 6px;
right: 92px;
}
.div-red{
position: relative;
left: 59%;
bottom: 146px;
color: black; color: black;
// background-color: #DDB017;
background-color: #CB3232; background-color: #CB3232;
// background-color: #094875;
width: 11%; width: 11%;
height: 6px; height: 6px;
right: 16px;
} }
// .div-red-ar{
// position: relative;
// bottom: 131px;
// color: black;
// background-color: #CB3232;
// width: 11%;
// height: 6px;
// right: 92px;
// }
// .div-red{
// position: relative;
// left: 59%;
// bottom: 146px;
// color: black;
// background-color: #CB3232;
// // background-color: #094875;
// width: 11%;
// height: 6px;
// }
.div-orng{ .div-red{
position: relative; position: relative;
left: 82%; left: 82%;
bottom: 80px; bottom: 80px;
color: black; color: black;
// background-color: #CB3232; background-color: #CB3232;
background-color: #DDB017; // background-color: #DDB017;
width: 11%; width: 11%;
height: 6px; height: 6px;
} }
@ -307,5 +308,5 @@ margin-top: -13px;
background-color: #1FA269; background-color: #1FA269;
width: 11%; width: 11%;
height: 6px; height: 6px;
right: 10px; right: 16px;
} }

@ -114,7 +114,6 @@ export class HomeComponent implements OnInit {
data: [this.accrualNet,this.accrualUsed], data: [this.accrualNet,this.accrualUsed],
backgroundColor: [ backgroundColor: [
'#1FA269', '#1FA269',
'#DDB017',
'#CB3232',], '#CB3232',],
borderWidth: 2 borderWidth: 2
} }
@ -272,7 +271,6 @@ createAbsence() {
{ data: [this.accrualNet,this.accrualUsed], { data: [this.accrualNet,this.accrualUsed],
backgroundColor: [ backgroundColor: [
'#1FA269', '#1FA269',
'#DDB017',
'#CB3232',], '#CB3232',],
borderWidth: 2 borderWidth: 2
} }

@ -15,7 +15,9 @@
<ion-item class='dynamicField'> <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label>
<ion-datetime doneText="{{doneText}}" cancelText="{{cancelText}}" (ionChange)="calcDay()" [(ngModel)]="startDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required></ion-datetime> <ion-datetime (ionChange)="calcDay()" [(ngModel)]="startDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required
cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}"></ion-datetime>
</ion-item> </ion-item>
<ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'> <ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startTime')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startTime')}} </ion-label>
@ -23,7 +25,9 @@
</ion-item> </ion-item>
<ion-item class='dynamicField'> <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','endDate')}}</ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','endDate')}}</ion-label>
<ion-datetime doneText="{{doneText}}" cancelText="{{cancelText}}" (ionChange)="calcDay()" [(ngModel)]="endDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required ></ion-datetime> <ion-datetime (ionChange)="calcDay()" [(ngModel)]="endDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required
cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}"></ion-datetime>
</ion-item> </ion-item>
<ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'> <ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'>

@ -247,6 +247,7 @@ export class SubmitAbsenceComponent implements OnInit {
} }
async SearchReplacment() { async SearchReplacment() {
this.common.sharedService.setSharedData(this.selEmp, 'selectedReplacedEmp');
const modal = await this.modalCtrl.create({ const modal = await this.modalCtrl.create({
component: AbsenceReplacementListComponent, component: AbsenceReplacementListComponent,
backdropDismiss: false backdropDismiss: false

@ -15,7 +15,7 @@
<div class="centerDiv homeBox"> <div class="centerDiv homeBox">
<div class="profileDiv"> <div class="profileDiv">
<img class="profileImg" [src]="user_image"> <img class="profileImg" [src]="user_image">
<p class="TxtPlace">{{User_name_Emp}}</p> <p class="TxtPlace">{{User_name_Emp}}</p>
<p class="TxtPlaces"> {{User_Job_name}}</p> <p class="TxtPlaces"> {{User_Job_name}}</p>
</div> </div>
@ -26,7 +26,7 @@
</div> </div>
<br> <br>
<ion-list> <ion-list class="list-en" >
<ion-item (click)="profile()"> <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left> <img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left>
@ -63,8 +63,8 @@
<img src="{{companyUrl}}" class="CompanyImg logoImg"> <img src="{{companyUrl}}" class="CompanyImg logoImg">
<!-- <p class="companyTxt">{{companyDesc}}</p> --> <!-- <p class="companyTxt">{{companyDesc}}</p> -->
</div> </div>
<div class="menuFooter"> <div class="menuFooter" >
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> <div> <img src="../assets/imgs/CS.png" class="CompanyImg" ></div>
<p class="companyTxt">{{companyDesc}}</p> <p class="companyTxt">{{companyDesc}}</p>
</div> </div>
</ion-content> </ion-content>
@ -95,7 +95,7 @@
</div> </div>
<br> <br>
<ion-list> <ion-list class="list-ar" >
<ion-item (click)="profile()"> <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left> <img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left>
@ -155,7 +155,7 @@
<!-- <p class="companyTxt">{{companyDesc}}</p> --> <!-- <p class="companyTxt">{{companyDesc}}</p> -->
</div> </div>
<div class="menuFooter"> <div class="menuFooter">
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> <div> <img src="../assets/imgs/CS.png" class="CompanyImg" ></div>
<p class="companyTxt">{{companyDesc}}</p> <p class="companyTxt">{{companyDesc}}</p>
</div> </div>
</ion-content> </ion-content>

@ -62,7 +62,6 @@ header
position: relative; position: relative;
color: #7f8c8d; color: #7f8c8d;
} }
.changeImgBtn{ .changeImgBtn{
@ -236,6 +235,38 @@ padding: 6px 24px;
margin-bottom: -28px; margin-bottom: -28px;
} }
.list-en{
margin-left: 0;
margin-right: 0;
margin-top: -19px;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0px;
padding-bottom: 8px;
}
.list-ar{
margin-left: 0;
margin-right: 0;
margin-top: -19px;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0px;
padding-bottom: 8px;
}
// .sidebar-menu .header-div {
// text-transform: capitalize;
// height: 100px;
// position: relative;
// display: block;
// margin-bottom: -28px;
// }
.list-md .item-block .item-inner, .list-md .item-block .item-inner,
.list-ios .item-block .item-inner { .list-ios .item-block .item-inner {
border-color: var(--primary); border-color: var(--primary);
@ -279,6 +310,7 @@ button.menu-item.item.item-block.item-ios {
width: 100%; width: 100%;
} }
.menuFooter div { .menuFooter div {
width: 80px; width: 80px;
// height: 80px; // height: 80px;
@ -286,16 +318,28 @@ button.menu-item.item.item-block.item-ios {
} }
.menuFooter .CompanyImg { // .menuFooter .CompanyImg {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
// }
.menuFooter .CompanyImg{
width: 80%;
height: 80%;
margin-bottom: -21px;
} }
// .logoImg{
// width: 120px;
// position: relative;
// }
.logoImg{ .logoImg{
width: 120px; width: 77px;
position: relative; position: relative;
margin-top: -1px;
} }
.companyTxt { .companyTxt {
font-size: 12px; font-size: 12px;
color: var(--customnavy); color: var(--customnavy);
@ -316,16 +360,31 @@ font-weight: bolder !important;
font-weight: bolder !important; font-weight: bolder !important;
} }
.profileDiv-ar{
margin: 5px auto !important;
}
.profileImg{
width: 160px;
height: 160px;
display: -webkit-inline-box;
display: inline-flex;
overflow: hidden;
background: transparent;
border-radius: 70% !important;
position: relative;
top: 7px;
// .profileImg{
// width: 160px;
// height: 160px;
// display: -webkit-inline-box;
// display: inline-flex;
// overflow: hidden;
// background: transparent;
// border-radius: 70% !important;
// position: relative;
// top: 7px;
// }
.profileImg{
width: 140px;
height: 140px;
display: -webkit-inline-box;
display: inline-flex;
overflow: hidden;
background: transparent;
border-radius: 70% !important;
position: relative;
top: 3px;
} }

@ -53,10 +53,10 @@
</ion-item> </ion-item>
<ion-item> <!-- <ion-item>
<ion-label>{{ts.trPK('login','remeber-me')}}</ion-label> <ion-label>{{ts.trPK('login','remeber-me')}}</ion-label>
<ion-checkbox [(ngModel)]="remeberMe" (ionChange)="addValue($event)" ></ion-checkbox> <ion-checkbox [(ngModel)]="remeberMe" (ionChange)="addValue($event)" ></ion-checkbox>
</ion-item> </ion-item> -->
<div class="centerDiv signupDiv" *ngIf="isAppleStore==false"> <div class="centerDiv signupDiv" *ngIf="isAppleStore==false">
<a>{{ts.trPK('login','signup')}}</a> <a>{{ts.trPK('login','signup')}}</a>

@ -71,7 +71,7 @@ export class LoginComponent implements OnInit, OnDestroy {
public password: string; public password: string;
private language: string; private language: string;
public username: string; public username: string;
public remeberMe: boolean; public remeberMe = true;
private iosLink: string; private iosLink: string;
private androidLink: string; private androidLink: string;
public currentLang = 1; public currentLang = 1;

@ -323,7 +323,7 @@ export class AddEitComponent implements OnInit {
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal, defaultVal,
containerId, containerId,
defaultVal, defaultValText,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG feildsList[i].REQUIRED_FLAG

@ -10,7 +10,7 @@
<ion-grid> <ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;"> <ion-row style="margin-top: 20px;margin-left: 12px;">
<ion-col> <ion-col>
<div size="10" class="approvalTitle">{{'general, addAttach' | translate}}</div> <div size="10" [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'" >{{'general, addAttach' | translate}}</div>
</ion-col> </ion-col>
<ion-col style="padding-left: 7%;" size="2"> <ion-col style="padding-left: 7%;" size="2">
<div class="fileDiv"> <div class="fileDiv">
@ -86,7 +86,7 @@
<ion-grid class=""> <ion-grid class="">
<div class="approvalTitle">{{'confirmAddEit, comment' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, comment' | translate}}</div>
<ion-item class="submitNote" lines="none"> <ion-item class="submitNote" lines="none">
<!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> --> <!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="eitComments"></ion-textarea> <ion-textarea type="text" [(ngModel)]="eitComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid> </ion-grid>
<ion-grid class="approvalList"> <ion-grid class="approvalList">
<div class="approvalTitle">{{'confirmAddEit, approverList' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, approverList' | translate}}</div>
<div class="noDataDiv" *ngIf="approversList?.length == 0"> <div class="noDataDiv" *ngIf="approversList?.length == 0">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>

@ -241,3 +241,15 @@
color: white!important; color: white!important;
border-radius: 16px !important; border-radius: 16px !important;
} }
.approvalTitle-ar{
font-weight: bold;
font-size: 16px;
text-align: right;
}
.approvalTitle{
font-weight: bold;
font-size: 16px;
text-align: left;
}

@ -14,10 +14,21 @@
<div style="color: black;"> <div style="color: black;">
<div class="result-graph"> <div class="result-graph">
<div > <div >
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY" <!-- <ion-datetime
(ionChange)="getAccrualBalance()"></ion-datetime> [placeholder]="Select"
display-format="DD/MM/YYYY"
[min]="1900"
[max]="2100"
[(ngModel)]="dateTo"
doneText="Done"
cancelText="Cancel"
></ion-datetime> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" placeholder="Select" displayFormat="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-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
</div> </div>
<div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px; <div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px;

@ -132,7 +132,7 @@ export class DevicePermissionsService {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.cs.confirmAlertDialogPrimarySecondary(() => { this.cs.confirmAlertDialogPrimarySecondary(() => {
resolve(true); resolve(true);
}, this.ts.trPK('general', 'accept'), }, this.ts.trPK('general', 'confirm'),
() => { () => {
resolve(false); resolve(false);
}, this.ts.trPK('general', 'not-now'), this.ts.trPK('general', 'confirm'), message }, this.ts.trPK('general', 'not-now'), this.ts.trPK('general', 'confirm'), message

@ -14,6 +14,7 @@
<div class="result-text-container"> <div class="result-text-container">
<h2>{{totalEmployees}}</h2> <h2>{{totalEmployees}}</h2>
<span>{{ts.trPK('myTeam','total')}} <br> {{ts.trPK('myTeam','team-members')}}</span> <span>{{ts.trPK('myTeam','total')}} <br> {{ts.trPK('myTeam','team-members')}}</span>
</div> </div>
<p-chart class="today-graph" type="doughnut" [data]="data" [options]="options"></p-chart> <p-chart class="today-graph" type="doughnut" [data]="data" [options]="options"></p-chart>
</div> </div>

@ -509,8 +509,11 @@ export class HomeComponent implements OnInit {
this.ITGSegment[0].names = names; this.ITGSegment[0].names = names;
this.setActive(this.ITGSegment[0].code); this.setActive(this.ITGSegment[0].code);
} }
for (let i = 1; i < result.RequestType.length; i++) { console.log(result.RequestType);
this.ITGSegment[i] = { let count =1;
for (let i = 0; i < result.RequestType.length; i++) {
console.log()
this.ITGSegment[count] = {
name: result.RequestType[i].RequestTypeName, name: result.RequestType[i].RequestTypeName,
code: result.RequestType[i].RequestTypeCode, code: result.RequestType[i].RequestTypeCode,
data: result.RequestType[i].RequestDetails, data: result.RequestType[i].RequestDetails,
@ -518,7 +521,9 @@ export class HomeComponent implements OnInit {
}; };
datas[i] = result.RequestType[i].RequestDetails; datas[i] = result.RequestType[i].RequestDetails;
names[i] = result.RequestType[i].RequestTypeCode; names[i] = result.RequestType[i].RequestTypeCode;
count++;
} }
console.log(this.ITGSegment);
}); });
} }

@ -7,5 +7,5 @@ public P_PAGE_LIMIT : Number;
public P_SEARCH_USER_NAME:String; public P_SEARCH_USER_NAME:String;
public P_SEARCH_EMPLOYEE_DISPLAY_NAME:String; public P_SEARCH_EMPLOYEE_DISPLAY_NAME:String;
public P_SEARCH_EMAIL_ADDRESS:String; public P_SEARCH_EMAIL_ADDRESS:String;
public P_SELECTED_EMPLOYEE_NUMBER:any;
} }

@ -22,7 +22,11 @@
<ion-col> <ion-col>
<label class="colItemReq"> {{dataContant.Title}}</label> <label class="colItemReq"> {{dataContant.Title}}</label>
<br /> <br />
<label>{{dataContant.Value}}</label> <label *ngIf="dataContant.Value">{{dataContant.Value}}</label>
<div *ngIf="dataContant.MultipleValue">
<label *ngFor="let multiData of dataContant.MultipleValue">{{multiData}}
<br/></label>
</div>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row *ngIf='dataContant.TableValue'> <ion-row *ngIf='dataContant.TableValue'>

@ -33,6 +33,7 @@ export class WorkListMainItgComponent implements OnInit {
public request_details: any; public request_details: any;
public segmentsArray: { name: string, number: number }[] = []; public segmentsArray: { name: string, number: number }[] = [];
public segmentData: { name: string, data: any }[] = []; public segmentData: { name: string, data: any }[] = [];
public requestDetailsData: { name: string, data: any }[] = [];
public header: any = []; public header: any = [];
public rows: any = []; public rows: any = [];
public workList: any; public workList: any;
@ -84,10 +85,20 @@ export class WorkListMainItgComponent implements OnInit {
this.workListService.getITGFormDetails(this.request).subscribe((result: any) => { this.workListService.getITGFormDetails(this.request).subscribe((result: any) => {
this.request_details = result.ITGRequest; this.request_details = result.ITGRequest;
this.grantInfo = result.ITGRequest.GrantFields; this.grantInfo = result.ITGRequest.GrantFields;
let count =0;
for (let i = 0; i < result.ITGRequest.FieldGoups.length; i++) { for (let i = 0; i < result.ITGRequest.FieldGoups.length; i++) {
this.segmentsArray[i] = { name: result.ITGRequest.FieldGoups[i].Title, number: i }; this.segmentsArray[i] = { name: result.ITGRequest.FieldGoups[i].Title, number: i };
this.segmentData[i] = { name: result.ITGRequest.FieldGoups[i].Title, data: result.ITGRequest.FieldGoups[i].Fields } this.segmentData[i] = { name: result.ITGRequest.FieldGoups[i].Title, data: result.ITGRequest.FieldGoups[i].Fields }
for (let j = 0; j < this.segmentData[i].data.length; j++) {
if (this.segmentData[i].data[j].TableValue){
this.requestDetailsData[count] ={ name:this.segmentData[i].data[j].TableValue.Header,
data: this.segmentData[i].data[j].TableValue.Rows}
count++;
}
}
} }
console.log(this.requestDetailsData)
this.segmentsArray[this.segmentsArray.length] = { name: 'Approval Level', number: this.segmentsArray.length } this.segmentsArray[this.segmentsArray.length] = { name: 'Approval Level', number: this.segmentsArray.length }
this.workList = this.request_details.WFHistory; this.workList = this.request_details.WFHistory;
this.options = this.request_details.AllowedActions; this.options = this.request_details.AllowedActions;
@ -203,7 +214,7 @@ export class WorkListMainItgComponent implements OnInit {
request.ItemID = this.request_info.ItemID; request.ItemID = this.request_info.ItemID;
request.TaskID = this.request_info.ID; request.TaskID = this.request_info.ID;
request.Comments = this.commentText; request.Comments = this.commentText;
request.Comments = this.request_info.Comments; // request.Comments = this.request_info.Comments;
request.EmployeeNumber = this.request_info.EmployeeNumber; request.EmployeeNumber = this.request_info.EmployeeNumber;
request.NewUserEMPId = this.replcamentID; request.NewUserEMPId = this.replcamentID;
this.common.confirmAlertDialogAction( this.common.confirmAlertDialogAction(
@ -212,6 +223,7 @@ export class WorkListMainItgComponent implements OnInit {
url = WorkListMainItgComponent.APPROVAL; url = WorkListMainItgComponent.APPROVAL;
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(1)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });
@ -219,6 +231,7 @@ export class WorkListMainItgComponent implements OnInit {
url = WorkListMainItgComponent.REJECT; url = WorkListMainItgComponent.REJECT;
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(2)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });
@ -228,8 +241,10 @@ export class WorkListMainItgComponent implements OnInit {
if (!comments) { if (!comments) {
this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment'));
} else { } else {
request.Comments = comments;
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(3)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });
@ -239,6 +254,7 @@ export class WorkListMainItgComponent implements OnInit {
url = WorkListMainItgComponent.DELEGATE; url = WorkListMainItgComponent.DELEGATE;
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(4)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });
@ -249,6 +265,7 @@ export class WorkListMainItgComponent implements OnInit {
} else { } else {
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(5)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });
@ -263,6 +280,7 @@ export class WorkListMainItgComponent implements OnInit {
request.AdditionalFields = this.grantRequest; request.AdditionalFields = this.grantRequest;
this.workListService.getITGActionRequest(request, url) this.workListService.getITGActionRequest(request, url)
.subscribe((result: any) => { .subscribe((result: any) => {
this.confirmMsg(6)
// this.common.openNotificationPage(); // this.common.openNotificationPage();
this.skip(); this.skip();
}); });

@ -88,9 +88,9 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 145px !important; // padding-left: 145px !important;
margin-left: 86px; margin-left: 123px;
padding-right: 129px; // padding-right: 129px;
margin-right: -143px; margin-right: -136px;
} }
.filterBtn{ .filterBtn{
@ -111,8 +111,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 50%; border-radius: 50%;
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -181px; margin-left: -183px;
margin-right: 269px; margin-right: 260px;
} }

@ -1,7 +1,7 @@
<ion-content> <ion-content>
<div class="search-header" (click)="dismissModal()"> <div class="search-header" (click)="dismissModal()">
<h2>{{ts.trPK('general','advanced-search')}}</h2> <h2>{{ts.trPK('general','advanced-search')}}</h2>
<ion-icon slot="icon-only" name="md-close"></ion-icon> <ion-icon [ngClass]=" direction === 'en' ? '' : 'cancel-ar'" slot="icon-only" name="md-close"></ion-icon>
</div> </div>

@ -26,6 +26,10 @@
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
.cancel-ar{
margin-right: 239px;
}
.search-button{ .search-button{
background: #3dcab3; background: #3dcab3;
height: 50px; height: 50px;

@ -16,11 +16,14 @@ export class WorklistAdvancedSearchComponent implements OnInit {
public selectedValue = ''; public selectedValue = '';
public notificationType = ''; public notificationType = '';
public itemType = ''; public itemType = '';
public direction: string;
constructor( constructor(
public modalController: ModalController, public modalController: ModalController,
public ts: TranslatorService public ts: TranslatorService
) { } ) {
this.direction = TranslatorService.getCurrentLanguageName();
}
ngOnInit() {} ngOnInit() {}

@ -12,7 +12,7 @@
border-bottom-left-radius: -10px !important; border-bottom-left-radius: -10px !important;
padding-top: 8px; padding-top: 8px;
padding-bottom: 8px; padding-bottom: 8px;
margin-left: 18px; margin-left: 8px;
font-size: 12px !important; font-size: 12px !important;
} }
.colPayslips{ .colPayslips{
@ -34,6 +34,7 @@
font-size: 13px !important; font-size: 13px !important;
// font-weight: bold !important; // font-weight: bold !important;
font-family: WorkSans-Bold; font-family: WorkSans-Bold;
margin-left: 8px;
} }
.earingTotH{ .earingTotH{
text-align: right; text-align: right;

@ -26,7 +26,7 @@ export class TextInput extends UiElement {
// "<div class='custom-text-area-element' style='" + this.hidden + "'>" + // "<div class='custom-text-area-element' style='" + this.hidden + "'>" +
"<ion-item style='" + this.hidden + "' class='dynamicField'>" + "<ion-item style='" + this.hidden + "' class='dynamicField'>" +
" <ion-label position='floating' style='font-size: medium;' class='" + requiredClass + " dynamiclable-float'>" + this.label + "</ion-label>" + " <ion-label position='floating' style='font-size: medium;' class='" + requiredClass + " dynamiclable-float'>" + this.label + "</ion-label>" +
" <ion-input style='' type='text' data-colm-text='" + this.textVal + "' id='" + this.elementId + "' value='" + this.value + "' " + this.disabled + "> </ion-input>" + " <ion-input style='' type='text' data-colm-text='" + this.value + "' id='" + this.elementId + "' value='" + this.textVal + "' " + this.disabled + "></ion-input>" +
"</ion-item> "; "</ion-item> ";
return template; return template;

@ -23,11 +23,24 @@
</ion-select> </ion-select>
</ion-item> </ion-item>
<ion-item lines="none"> <ion-item lines="none" [ngClass]="direction == 'en'? '':'ion-item-ar'">
<ion-button [ngClass]="(!searchKeyEnter || !isSelect) ? 'disabledButton' : '' " [disabled]="(!searchKeyEnter || !isSelect) " class="filterBtn" button-type="clear" button-type="clear" (click)="SearchReplacementList()"> <!-- <ion-button [ngClass]="(!searchKeyEnter || !isSelect) ? 'disabledButton' : '' "
<ion-icon slot="icon-only" color="white" name="search"></ion-icon> [disabled]="(!searchKeyEnter || !isSelect) " class="filterBtn" button-type="clear" button-type="clear" (click)="SearchReplacementList()">
<ion-icon class="iconSearch" slot="icon-only" color="white" name="search"></ion-icon>
</ion-button> -->
<ion-button
[ngClass]=" {
'disabledButton' : !searchKeyEnter || !isSelect ,
'' : searchKeyEnter || isSelect ,
'filterBtn' : direction === 'en',
'filterBtn-ar' : direction != 'en'
}" [disabled]="(!searchKeyEnter || !isSelect) " button-type="clear" button-type="clear" (click)="SearchReplacementList()">
<ion-icon slot="icon-only" color="white" name="search"></ion-icon>
</ion-button> </ion-button>
<ion-input (ionChange)="onChangeInput()" class="filterInput" [(ngModel)]="searchKey" placeholder="{{'vacation-rule, search-employee' | translate}}"></ion-input>
<ion-input (ionChange)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="searchKey" placeholder="{{'vacation-rule, search-employee' | translate}}"></ion-input>
</ion-item> </ion-item>

@ -41,6 +41,10 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// margin-right: 7%; // margin-right: 7%;
// width: 100%; // width: 100%;
// } // }
.ion-item-ar{
margin-top: 5%;
margin-right: -6%;
}
.ionItem{ .ionItem{
border: #e4e4e4 solid; border: #e4e4e4 solid;
/* margin: 6px; */ /* margin: 6px; */
@ -108,13 +112,12 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 21px; border-radius: 21px;
padding-left: 10px !important; padding-left: 10px !important;
} }
.filterInput-ar{ .filterInput-ar{
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 100px !important; margin-left: 115px;
margin-left: 86px; margin-right: -132px;
// padding-right: 129px;
margin-right: -139px;
} }
.filterBtn{ .filterBtn{
@ -131,8 +134,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 50%; border-radius: 50%;
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -167px; margin-left: -201px;
margin-right: 247px; margin-right: 282px;
} }
*{ *{

@ -15,7 +15,7 @@
}, },
"login": { "login": {
"en": "Login", "en": "Login",
"ar": "الدخول" "ar": "تسجيل الدخول"
}, },
"username": { "username": {
"en": "User Name", "en": "User Name",
@ -52,7 +52,7 @@
}, },
"changepassword": { "changepassword": {
"en": "Change Password", "en": "Change Password",
"ar": "غير كلمة السر" "ar": "تغيير كلمة المرور"
}, },
"announcement":{ "announcement":{
"en":"Announcement", "en":"Announcement",
@ -899,7 +899,7 @@
}, },
"worklist": { "worklist": {
"en": "Work List", "en": "Work List",
"ar": "قائمة العمل" "ar": "الطلبات المعلقة"
}, },
"pending-request":{ "pending-request":{
"en":"Penading Request", "en":"Penading Request",
@ -908,7 +908,7 @@
}, },
"missing-swipes":{ "missing-swipes":{
"en":"Missing Swipes", "en":"Missing Swipes",
"ar":"البصمات المفقوده" "ar":"فقدان البصمة"
}, },
"leave-balance":{ "leave-balance":{
"en":"Leave Balance", "en":"Leave Balance",
@ -1036,7 +1036,7 @@
}, },
"busG": { "busG": {
"en": "Business Group", "en": "Business Group",
"ar": "مجموعة العمل" "ar": "الإدارة"
}, },
"phone-no": { "phone-no": {
"en": "Phone Number", "en": "Phone Number",
@ -1060,7 +1060,7 @@
}, },
"payrol": { "payrol": {
"en": "Payroll", "en": "Payroll",
"ar": "كشف الرواتب" "ar": "المشروع"
}, },
"orgEmail": { "orgEmail": {
"en": "Organization Email Address", "en": "Organization Email Address",
@ -1155,7 +1155,7 @@
"en": "Monthly Attendance" "en": "Monthly Attendance"
}, },
"monthly-attendance-calendar": { "monthly-attendance-calendar": {
"ar": "تقويم الحضور الشهري", "ar": "سجل الحضور الشهري",
"en": "Monthly Attendance Calendar" "en": "Monthly Attendance Calendar"
}, },
"completed": { "completed": {
@ -1515,15 +1515,15 @@
}, },
"myTeam-header": { "myTeam-header": {
"en": "My Team", "en": "My Team",
"ar": "فريقى" "ar": "فريقي"
}, },
"total": { "total": {
"en": "TOTAL", "en": "TOTAL",
"ar": "المجموع" "ar": "عدد"
}, },
"team-members": { "team-members": {
"en": "TEAM MEMBERS", "en": "TEAM MEMBERS",
"ar": "اعضاء الفريق" "ar": " اعضاء الفريق"
}, },
"team-stats": { "team-stats": {
"en": "Team Statistics", "en": "Team Statistics",

Loading…
Cancel
Save