release new build to store

master-newdesign
Mohamed Mekawy 6 years ago
parent 260e7f6e71
commit 2c4f9b6436

@ -61,7 +61,7 @@
<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>
</div> </div>
<div class="gridDiv" aria-disabled="true"> <div ng class="gridDiv" aria-disabled="true">
<button class="gridBtn" ion-button (click)="changeLanguage('2')" [ngClass]="{'active':currentLang ==2}">English</button> <button class="gridBtn" ion-button (click)="changeLanguage('2')" [ngClass]="{'active':currentLang ==2}">English</button>
<button class="gridBtn arTxt" ion-button (click)="changeLanguage('1')" [ngClass]="{'active':currentLang ==1}">عربي</button> <button class="gridBtn arTxt" ion-button (click)="changeLanguage('1')" [ngClass]="{'active':currentLang ==1}">عربي</button>
<!-- <button class="gridBtn" ion-button (click)="changeLanguage()" style="background: #dcdcdc !important;color: #ccc6c6 !important;margin: 1px;width: 49%">English</button> <!-- <button class="gridBtn" ion-button (click)="changeLanguage()" style="background: #dcdcdc !important;color: #ccc6c6 !important;margin: 1px;width: 49%">English</button>
@ -79,15 +79,15 @@
<div class="centerDiv" style="margin-top: 20px !important;">
<ion-button class="button-login" (click)="onLogin()">{{ts.trPK('login','login')}}</ion-button>
</div>
</ion-content> </ion-content>
<ion-footer *ngIf="!user"> <ion-footer *ngIf="!user" [ngStyle]="keyboardOpened === true ? {'display': 'none'} : {}">
<div class="centerDiv">
<ion-button class="button-login" (click)="onLogin()">{{ts.trPK('login','login')}}</ion-button> <!-- <br /> -->
</div>
<br />
<!-- <div class="centerDiv"> <!-- <div class="centerDiv">
<a (click)="forgetPasswordPage()">{{ts.trPK('login','forgot-password')}}</a> <a (click)="forgetPasswordPage()">{{ts.trPK('login','forgot-password')}}</a>
</div> --> </div> -->

@ -16,6 +16,8 @@ import { Password } from '../models/password';
import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request';
import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authentication/models/check-app-version.response'; import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authentication/models/check-app-version.response';
import { PushService } from 'src/app/hmg-common/services/push/push.service'; import { PushService } from 'src/app/hmg-common/services/push/push.service';
import { KeyboardService } from 'src/app/hmg-common/services/keyboard/keyboard.service';
import { KeyboardStatusModel } from 'src/app/hmg-common/services/keyboard/keyboard-status.model';
@Component({ @Component({
selector: 'login', selector: 'login',
@ -24,6 +26,7 @@ import { PushService } from 'src/app/hmg-common/services/push/push.service';
}) })
export class LoginComponent implements OnInit, OnDestroy { export class LoginComponent implements OnInit, OnDestroy {
deviceToken1: any; deviceToken1: any;
constructor( constructor(
public cs: CommonService, public cs: CommonService,
@ -39,8 +42,10 @@ export class LoginComponent implements OnInit, OnDestroy {
public splash: SplashScreen, public splash: SplashScreen,
public sharedData: SharedDataService, public sharedData: SharedDataService,
public plt: Platform, public plt: Platform,
public pushService: PushService public pushService: PushService,
public keyboardService: KeyboardService
) { ) {
this.events.subscribe('logoutFlage', logoutFlage => { this.events.subscribe('logoutFlage', logoutFlage => {
console.log('login compont logoutFlage: ' + logoutFlage); console.log('login compont logoutFlage: ' + logoutFlage);
// tslint:disable-next-line: triple-equals // tslint:disable-next-line: triple-equals
@ -93,6 +98,7 @@ export class LoginComponent implements OnInit, OnDestroy {
logoutFlage: boolean ; logoutFlage: boolean ;
getuser: any = ''; getuser: any = '';
getlastlogin: any; getlastlogin: any;
public keyboardOpened = false;
private checkUserResult: CheckUserAuthenticationResponse; private checkUserResult: CheckUserAuthenticationResponse;
@ -104,6 +110,7 @@ export class LoginComponent implements OnInit, OnDestroy {
// ); // );
// console.log("this.getlastlogin"+ this.getlastlogin); // console.log("this.getlastlogin"+ this.getlastlogin);
// } // }
this.monitorKeyboardChange();
this.currentLang = TranslatorService.getCurrentLanguageCode(); this.currentLang = TranslatorService.getCurrentLanguageCode();
console.log(TranslatorService.CURRENT_LANGUAGE) console.log(TranslatorService.CURRENT_LANGUAGE)
console.log(TranslatorService.EN) console.log(TranslatorService.EN)
@ -418,6 +425,10 @@ export class LoginComponent implements OnInit, OnDestroy {
}); });
} }
private monitorKeyboardChange() {
this.events.subscribe ( KeyboardService.KEYBOARD_STATUS , ( status: KeyboardStatusModel) => {
this.keyboardOpened = status.opened;
});
}
} }

@ -50,7 +50,7 @@ ion-input {
line-height: 0; line-height: 0;
font-size: 32px; font-size: 32px;
//border: solid 1px #ccc; //border: solid 1px #ccc;
border: solid 0.01cm #000000; border: 1px solid #ccc !important;
//box-shadow: 0 0 5px #ccc inset; //box-shadow: 0 0 5px #ccc inset;
outline: none; outline: none;
width: 20%; width: 20%;

@ -89,10 +89,11 @@ export class EitListComponent implements OnInit {
// accrualNetInfants // accrualNetInfants
// accrualUNetChild // accrualUNetChild
// accrualNetAdult // accrualNetAdult
this.accrualNetAdult = this.accrualBalancesList[1].ACCRUAL_NET_ENTITLEMENT; if(this.accrualBalancesList){
this.accrualUNetChild = this.accrualBalancesList[2].ACCRUAL_NET_ENTITLEMENT; this.accrualNetAdult = this.accrualBalancesList[1].ACCRUAL_NET_ENTITLEMENT;
this. accrualNetInfants = this.accrualBalancesList[3].ACCRUAL_NET_ENTITLEMENT; this.accrualUNetChild = this.accrualBalancesList[2].ACCRUAL_NET_ENTITLEMENT;
this. accrualNetInfants = this.accrualBalancesList[3].ACCRUAL_NET_ENTITLEMENT;
}
this.data = { this.data = {
// labels: ['earingTotal', 'deductionTotal'], // labels: ['earingTotal', 'deductionTotal'],
datasets: [ datasets: [

@ -125,8 +125,8 @@ export class AuthenticationService {
} }
public setPublicFields(request: Request): Request { public setPublicFields(request: Request): Request {
request.VersionID = 2.0;//2.0,1.4 request.VersionID = 2.1;//2.0,1.4
request.Channel = 33; request.Channel = 31;
request.LanguageID = TranslatorService.getCurrentLanguageCode(); request.LanguageID = TranslatorService.getCurrentLanguageCode();
//request.IPAdress = '10.10.10.10'; //request.IPAdress = '10.10.10.10';
//request.SessionID = "any thing"; // ??? required for not authorized login funny //request.SessionID = "any thing"; // ??? required for not authorized login funny

@ -84,7 +84,7 @@ export class DateInfoModalComponent implements OnInit {
this.day = localDate[1]; this.day = localDate[1];
this.year = localDate[2]; this.year = localDate[2];
// tslint:disable-next-line: radix // tslint:disable-next-line: radix
this.month = parseInt(localDate[0]) + 1; this.month = parseInt(localDate[0]);
this.nameMonth = this.direction === 'ltr' ? this.common.getMonthName(this.month) : this.common.getMonthNameAr(this.month); this.nameMonth = this.direction === 'ltr' ? this.common.getMonthName(this.month) : this.common.getMonthNameAr(this.month);
this.nameDay = this.getHeaderDay(new Date(date)); this.nameDay = this.getHeaderDay(new Date(date));
const d = new Date(date); const d = new Date(date);

@ -1,13 +1,12 @@
<div feedback class="custom-button"> <div feedback class="custom-button">
<div class="iconBox"> <div class="iconBox">
<img *ngIf="title != 'My Team' && title != 'Vacation Rule' && title != 'فريقي' && title != 'قواعد الإجازات' " [src]="'data:image/png;base64,'+icon" class="icon"> <img *ngIf="title != 'My Team' && title != 'Vacation Rule' && title != 'فريقي' && title != 'الإنابة بالإجازات' " [src]="'data:image/png;base64,'+icon" class="icon">
<!-- <img *ngIf="title == 'My Team' || title == 'Vacation Rule'" [src]="icon" class="icon"> --> <!-- <img *ngIf="title == 'My Team' || title == 'Vacation Rule'" [src]="icon" class="icon"> -->
<img *ngIf="title == 'My Team' || title == 'فريقي' " [src]="myTeamIcon" class="icon"> <img *ngIf="title == 'My Team' || title == 'فريقي' " [src]="myTeamIcon" class="icon">
<img *ngIf="title == 'Vacation Rule' || title == 'قواعد الإجازات'" [src]="vacationRuleIcon" class="icon"> <img *ngIf="title == 'Vacation Rule' || title == 'الإنابة بالإجازات'" [src]="vacationRuleIcon" class="icon">
</div> </div>
<div class="titleBox"> <div class="titleBox">
<p class="pClass">{{title}}</p> <p class="pClass">{{title}}</p>
</div> </div>
</div> </div>

@ -1,9 +1,12 @@
<div feedback class="custom-button" *ngIf='show'> <div feedback class="custom-button" *ngIf="show" [ngStyle]="link === '0' ? {'padding': '0'} : {}">
<div class="iconBox"> <div class="iconBox" *ngIf="link !== '0'">
<img [src]="icon" class="icon"> <img [src]="icon" class="icon">
</div> </div>
<div class="titleBox"> <div class="iconBox" *ngIf="link === '0'">
<ion-icon class="iconFab" name="finger-print"></ion-icon>
</div>
<div class="titleBox" [ngStyle]="link === '0' ? {'margin-left': '5px'} : {}">
<span>{{statsValue}}</span> <span>{{statsValue}}</span>
<p class="pClass">{{title}}</p> <p class="pClass" [ngStyle]="link === '0' ? {'width': '105%', 'margin-top': '12px'} : {}">{{title}}</p>
</div> </div>
</div> </div>

@ -45,3 +45,10 @@
text-align: left; text-align: left;
display: block; display: block;
} }
.iconFab{
margin-left: -20px;
margin-top: 10px;
width: 100px;
height: 70px;
}

@ -13,6 +13,7 @@ export class StatsButtonComponent implements OnInit {
@Input() icon: string; @Input() icon: string;
@Input() title: string; @Input() title: string;
@Input() statsValue: string; @Input() statsValue: string;
@Input() link: string;
@Output() trigger = new EventEmitter(); @Output() trigger = new EventEmitter();
@Input() focusicon: string; @Input() focusicon: string;
@Input() disabled = false; @Input() disabled = false;

@ -15,6 +15,7 @@
[statsValue]="button.statsValue" [statsValue]="button.statsValue"
[icon]="button.icon" [icon]="button.icon"
[show]="button.show" [show]="button.show"
[link]="button.link"
(click)="openStatsButton(button.link)"> (click)="openStatsButton(button.link)">
</app-stats-button> </app-stats-button>
</ion-slide> </ion-slide>
@ -22,18 +23,6 @@
</ion-row> </ion-row>
<ion-row *ngFor="let menuItem of menuEntries; let i=index"> <ion-row *ngFor="let menuItem of menuEntries; let i=index">
<ion-row class="attendance-module" *ngIf="i == 1">
<ion-col [size]="8">
<h3>{{'home,monthly-attendance' | translate}}</h3>
<span>{{'home,monthly-time-sheet-view' | translate}}</span>
<ion-button (click)="openTimeCard()">
{{'home,view-detail' | translate}}
</ion-button>
</ion-col>
<ion-col [size]="4">
<img src="assets/icon/new-design/attendance_button_icon.png"/>
</ion-col>
</ion-row>
<ion-col [size]="12"> <ion-col [size]="12">
<ion-label>{{menuItem.PROMPT}}</ion-label> <ion-label>{{menuItem.PROMPT}}</ion-label>
</ion-col> </ion-col>
@ -54,6 +43,19 @@
</app-services-button> </app-services-button>
</ion-slide> </ion-slide>
</ion-slides> </ion-slides>
<ion-row class="attendance-module" *ngIf="i == 0">
<ion-col [size]="8">
<h3>{{'home,monthly-attendance' | translate}}</h3>
<span>{{'home,monthly-time-sheet-view' | translate}}</span>
<ion-button (click)="openTimeCard()">
{{'home,view-detail' | translate}}
</ion-button>
</ion-col>
<ion-col [size]="4">
<img src="assets/icon/new-design/attendance_button_icon.png"/>
</ion-col>
</ion-row>
</ion-row> </ion-row>
</ion-grid> </ion-grid>
@ -83,7 +85,9 @@
[renderOnClick]="false"> [renderOnClick]="false">
</circle-progress> </circle-progress>
</div> </div>
<div class="fixed-shift-timer" [ngClass]=" direction === 'en' ? 'fixed-shift-time-en' : 'fixed-shift-time-ar'" *ngIf="isCheckedIn === false"> <!-- <div class="fixed-shift-timer" [ngClass]=" direction === 'en' ? 'fixed-shift-time-en' : 'fixed-shift-time-ar'" *ngIf="isCheckedIn === false">
<fab-button (trigger)="getDeviceLocation()"></fab-button> <fab-button (trigger)="getDeviceLocation()"></fab-button>
<page-trailer [small] = "true"></page-trailer> <page-trailer [small] = "true"></page-trailer>
</div> <<<<<<< HEAD
</div> -->

@ -70,6 +70,8 @@ ion-label{
padding: 10px; padding: 10px;
color: white; color: white;
width: 100%; width: 100%;
margin-top: 25px;
margin-bottom: 0px;
h3{ h3{
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;

@ -62,6 +62,11 @@ export class HomePage implements OnInit {
public isShow = false; public isShow = false;
public showVcationRule = false; public showVcationRule = false;
public statsButtons = [ public statsButtons = [
{
title: this.ts.trPK('attendance-tracking', 'title'),
link: '0',
show: true
},
{ {
title: this.ts.trPK('home','worklist'), title: this.ts.trPK('home','worklist'),
statsValue: 0, statsValue: 0,
@ -69,12 +74,6 @@ export class HomePage implements OnInit {
link: '1', link: '1',
show: true show: true
}, },
// {
// title: 'Pending Request',
// statsValue: 13,
// icon: 'assets/icon/new-design/pending_request.png',
// link: ''
// },
{ {
title: this.ts.trPK('home','missing-swipes'), title: this.ts.trPK('home','missing-swipes'),
statsValue: 0, statsValue: 0,
@ -281,8 +280,8 @@ export class HomePage implements OnInit {
for (const servicePrivilage of AuthenticationService.servicePrivilage) { for (const servicePrivilage of AuthenticationService.servicePrivilage) {
if (servicePrivilage.Previlege === false) { if (servicePrivilage.Previlege === false) {
if(servicePrivilage.ServiceName === 'accrualBalance'){ if(servicePrivilage.ServiceName === 'accrualBalance'){
this.statsButtons[2].show = false;
this.statsButtons[3].show = false; this.statsButtons[3].show = false;
this.statsButtons[4].show = false;
} }
if(servicePrivilage.ServiceName === 'vacationRule'){ if(servicePrivilage.ServiceName === 'vacationRule'){
this.showVcationRule = false; this.showVcationRule = false;
@ -293,8 +292,8 @@ export class HomePage implements OnInit {
// document.getElementById(servicePrivilage.ServiceName).style.filter = // document.getElementById(servicePrivilage.ServiceName).style.filter =
// 'grayscale(1)'; // 'grayscale(1)';
}else{ }else{
this.statsButtons[2].show = true;
this.statsButtons[3].show = true; this.statsButtons[3].show = true;
this.statsButtons[4].show = true;
this.showVcationRule = true; this.showVcationRule = true;
} }
} }
@ -555,7 +554,7 @@ export class HomePage implements OnInit {
(result: OpenMissingSwipesResponse) => { (result: OpenMissingSwipesResponse) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
const key = 'GetOpenMissingSwipesList'; const key = 'GetOpenMissingSwipesList';
this.statsButtons[1].statsValue = Math.floor(result[key].P_OPEN_MISSING_SWIPES); this.statsButtons[2].statsValue = Math.floor(result[key].P_OPEN_MISSING_SWIPES);
} }
} }
); );
@ -623,7 +622,7 @@ openPeriodDateDashbored() {
ITGCountAllNotification() { ITGCountAllNotification() {
this.workListService.getITGDetails('', '', this.isPostNoLoad).subscribe((result: any) => { this.workListService.getITGDetails('', '', this.isPostNoLoad).subscribe((result: any) => {
this.statsButtons[0].statsValue = this.statsButtons[1].statsValue =
Math.floor(this.countAllNotification + result.TotalCount); Math.floor(this.countAllNotification + result.TotalCount);
this.common.stopLoading(); this.common.stopLoading();
}); });
@ -701,7 +700,7 @@ getSubordinatesAttStatus() {
this.accrualBalancesList = result.GetAccrualBalancesList; this.accrualBalancesList = result.GetAccrualBalancesList;
for (const accrualBalance of result.GetAccrualBalancesList) { for (const accrualBalance of result.GetAccrualBalancesList) {
if (accrualBalance.ACCURAL_PLAN_NAME === 'HMG Annual Vacation Accrual Plan') { if (accrualBalance.ACCURAL_PLAN_NAME === 'HMG Annual Vacation Accrual Plan') {
this.statsButtons[2].statsValue = this.statsButtons[3].statsValue =
Math.floor(accrualBalance.ACCRUAL_NET_ENTITLEMENT); Math.floor(accrualBalance.ACCRUAL_NET_ENTITLEMENT);
this.common.sharedService.setSharedData(accrualBalance, 'leaveAccrualBalance'); this.common.sharedService.setSharedData(accrualBalance, 'leaveAccrualBalance');
this.common.sharedService.setSharedData(request, 'leaveAccrualBalanceDate'); this.common.sharedService.setSharedData(request, 'leaveAccrualBalanceDate');
@ -710,7 +709,7 @@ getSubordinatesAttStatus() {
totalTicketsLeft = totalTicketsLeft + accrualBalance.ACCRUAL_NET_ENTITLEMENT; totalTicketsLeft = totalTicketsLeft + accrualBalance.ACCRUAL_NET_ENTITLEMENT;
} }
} }
this.statsButtons[3].statsValue = Math.floor(totalTicketsLeft); this.statsButtons[4].statsValue = Math.floor(totalTicketsLeft);
} }
}); });
} }
@ -721,7 +720,10 @@ openattentracking() {
openStatsButton(link: any) { openStatsButton(link: any) {
// tslint:disable-next-line: triple-equals // tslint:disable-next-line: triple-equals
if (link == '1') { if (link == '0') {
this.getDeviceLocation();
// tslint:disable-next-line: triple-equals
} else if (link == '1') {
this.common.startLoading(); this.common.startLoading();
this.common.openNotificationPage(); this.common.openNotificationPage();
// tslint:disable-next-line: triple-equals // tslint:disable-next-line: triple-equals

@ -43,7 +43,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder "> <ion-col class="colItems " [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','operating_unit')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','operating_unit')}}
</label> </label>
<br /> <br />
@ -65,7 +65,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','revision')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','revision')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -87,7 +87,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','Supplier')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','Supplier')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -110,7 +110,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','uom')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','uom')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -133,7 +133,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity_received')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity_received')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -156,7 +156,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','purchase_price')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','purchase_price')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -179,7 +179,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','balance_quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','balance_quantity')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>

@ -16,6 +16,7 @@ import { POItemHistoryRes } from '../models/POItemHistoryRes';
styleUrls: ['./item-history.component.scss'], styleUrls: ['./item-history.component.scss'],
}) })
export class ItemHistoryComponent implements OnInit { export class ItemHistoryComponent implements OnInit {
direction:string;
getPassPOInfo: any; getPassPOInfo: any;
itemHistoryRes: any; itemHistoryRes: any;
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
@ -30,6 +31,7 @@ export class ItemHistoryComponent implements OnInit {
private modalCtrl: ModalController, private modalCtrl: ModalController,
public worklistService: WorklistService public worklistService: WorklistService
) { ) {
this.direction = TranslatorService.getCurrentLanguageName();
this.getPassPOInfo = this.cs.sharedService.getSharedData('passPOInfo'); this.getPassPOInfo = this.cs.sharedService.getSharedData('passPOInfo');
this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList'); this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList');
//itemHistoryRes //itemHistoryRes

@ -42,7 +42,7 @@
<!-- </ion-col> --> <!-- </ion-col> -->
<!-- </ion-row> --> <!-- </ion-row> -->
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','request_number')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','request_number')}}
</label> </label>
<br /> <br />
@ -64,7 +64,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -86,7 +86,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','line_status')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','line_status')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -109,7 +109,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','trans_type')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','trans_type')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -132,7 +132,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','organization_code')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','organization_code')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -155,7 +155,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','from_subinventory')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','from_subinventory')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -178,7 +178,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colItems colBorder"> <ion-col size="6" class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','to_subinventory')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','to_subinventory')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>

@ -13,6 +13,7 @@ import { MOItemHistoryRes } from '../models/MOItemHistoryRes';
styleUrls: ['./mo-item-history.component.scss'], styleUrls: ['./mo-item-history.component.scss'],
}) })
export class MoItemHistoryComponent implements OnInit { export class MoItemHistoryComponent implements OnInit {
direction:string;
getPassMOInfo: any; getPassMOInfo: any;
itemHistoryRes: any; itemHistoryRes: any;
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
@ -26,6 +27,8 @@ export class MoItemHistoryComponent implements OnInit {
public ts: TranslatorService, public ts: TranslatorService,
public worklistService: WorklistService public worklistService: WorklistService
) { ) {
this.direction = TranslatorService.getCurrentLanguageName();
this.getPassMOInfo = this.cs.sharedService.getSharedData('passMOReq'); this.getPassMOInfo = this.cs.sharedService.getSharedData('passMOReq');
this.MOItemHistoryReq = new MOItemHistoryReq(); this.MOItemHistoryReq = new MOItemHistoryReq();

@ -17,7 +17,7 @@ style="margin-right: -22px;margin-top: -10px;">
</ion-list-header> </ion-list-header>
<div *ngFor="let button of actionBtns "> <div *ngFor="let button of actionBtns ">
<ion-item *ngIf="button.BUTTON_ACTION !='APPROVED' && button.BUTTON_ACTION !='APPROVE' && button.BUTTON_ACTION !='REJECTED' && button.BUTTON_ACTION !='REJECT' && button.BUTTON_ACTION !='REQUEST_INFO' " > <ion-item *ngIf="button.BUTTON_ACTION !='APPROVED' && button.BUTTON_ACTION !='APPROVE' && button.BUTTON_ACTION !='REJECTED' && button.BUTTON_ACTION !='REJECT' && button.BUTTON_ACTION !='REQUEST_INFO' && button.BUTTON_ACTION !='CLOSE' " >
<ion-label class="labelRadio"> {{button.BUTTON_LABEL}}</ion-label> <ion-label class="labelRadio"> {{button.BUTTON_LABEL}}</ion-label>
<ion-radio color="secondary" mode="md" value="{{button.BUTTON_ACTION}}" (ionSelect)="radioSelect(button)"></ion-radio> <ion-radio color="secondary" mode="md" value="{{button.BUTTON_ACTION}}" (ionSelect)="radioSelect(button)"></ion-radio>

@ -39,7 +39,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -60,7 +60,7 @@
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','item_code')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','item_code')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -84,7 +84,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','QUOTATION_QTY')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','QUOTATION_QTY')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -109,7 +109,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quotatio_net_price')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quotatio_net_price')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -132,7 +132,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quotatio_bonus_quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quotatio_bonus_quantity')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -156,7 +156,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','MFG_part_number')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','MFG_part_number')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -179,7 +179,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','RFQ_qty')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','RFQ_qty')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>

@ -17,6 +17,7 @@ import { QuotationAnalysisResponse } from '../models/quotationAnalysisRes';
styleUrls: ['./qutation-analysis.component.scss'], styleUrls: ['./qutation-analysis.component.scss'],
}) })
export class QutationAnalysisComponent implements OnInit { export class QutationAnalysisComponent implements OnInit {
direction:string;
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 100; P_PAGE_LIMIT: number = 100;
@ -31,6 +32,7 @@ export class QutationAnalysisComponent implements OnInit {
public ts: TranslatorService, public ts: TranslatorService,
private modalCtrl: ModalController, private modalCtrl: ModalController,
public worklistService: WorklistService) { public worklistService: WorklistService) {
this.direction = TranslatorService.getCurrentLanguageName();
this.getPassPOItemID = this.cs.sharedService.getSharedData('passPOInfo',false); this.getPassPOItemID = this.cs.sharedService.getSharedData('passPOInfo',false);
this.getPassPOHeaderID = this.cs.sharedService.getSharedData('passPOHeader',false); this.getPassPOHeaderID = this.cs.sharedService.getSharedData('passPOHeader',false);
this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList',false); this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList',false);

@ -16,7 +16,7 @@
<ion-segment-button value="item-req" [ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="item-req" [ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'">
<ion-label>{{ts.trPK('worklistMain','itemReq')}}</ion-label> <ion-label>{{'worklistMain , itemReq'| translate}}</ion-label>
</ion-segment-button> </ion-segment-button>
@ -26,12 +26,14 @@
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{'general, file' | translate}}</ion-label> <ion-label>
{{'worklistMain, attach-file' | translate}}
</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{ts.trPK('worklistMain','info')}}</ion-label> <ion-label> {{'worklistMain , info'| translate}}</ion-label>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
@ -53,7 +55,7 @@
<ion-card-content> <ion-card-content>
<ion-grid style="text-align: left"> <ion-grid style="text-align: left">
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}} <label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}}
</label> </label>
@ -75,7 +77,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}}
</label> </label>
<br /> <br />
@ -101,7 +103,7 @@
</ion-row> --> </ion-row> -->
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}}
</label> </label>
<br /> <br />
@ -224,7 +226,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems " [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}}
</label> </label>
<br /> <br />
@ -249,7 +251,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems " [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -272,7 +274,7 @@
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','line_status')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','line_status')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -293,7 +295,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','trans_type')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','trans_type')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -313,7 +315,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','organization_code')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','organization_code')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -332,7 +334,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','from_subinventory')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','from_subinventory')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -353,7 +355,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','to_subinventory')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','to_subinventory')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
@ -639,17 +641,28 @@
<ion-tab-bar class="tabBar" slot="bottom"> <ion-tab-bar class="tabBar" slot="bottom">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVED')"> <ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVED')">
<img src="../assets/imgs/action-approve.png"> <img src="../assets/imgs/action-approve.png">
<ion-label> {{'worklistMain, approve' | translate}}</ion-label> <ion-label style="white-space: nowrap"> {{approve_label}}</ion-label>
<!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="closeDis" (click)="actionButton('CLOSE')">
<img src="../assets/imgs/action-approve.png">
<!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{close_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECTED')"> <ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECTED')">
<img src="../assets/imgs/action-reject.png"> <img src="../assets/imgs/action-reject.png">
<ion-label> {{'worklistMain, reject' | translate}}</ion-label> <ion-label style="white-space: nowrap"> {{reject_label}}</ion-label>
<!-- <ion-label> {{'worklistMain, reject' | translate}}</ion-label> -->
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')"> <ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')">
<img src="../assets/imgs/action-info.png"> <img src="../assets/imgs/action-info.png">
<ion-label> {{'worklistMain, request' | translate}}</ion-label> <ion-label style="white-space: nowrap"> {{reqInfo_label}}</ion-label>
<!-- <ion-label> {{'worklistMain, request' | translate}}</ion-label> -->
</ion-tab-button> </ion-tab-button>
<ion-tab-button (click)="nextNotfification()"> <ion-tab-button (click)="nextNotfification()">
<img src="../assets/imgs/action-skip.png"> <img src="../assets/imgs/action-skip.png">

@ -110,6 +110,11 @@ export class WorklistMainMRComponent implements OnInit {
public isPostNoLoad = true; public isPostNoLoad = true;
public worklistNotifications: any; public worklistNotifications: any;
public totalRequestCount = 0; public totalRequestCount = 0;
approve_label: any ="";
reject_label: any="";
reqInfo_label: any="";
close_label: any;
closeDis: boolean = false;
constructor( constructor(
@ -147,6 +152,13 @@ export class WorklistMainMRComponent implements OnInit {
} }
intializeNotificationDetail() { intializeNotificationDetail() {
this.approveDis = false;
this.rejectDis = false;
this.requestDis = false;
this.closeDis = false;
this.moreDisabled = true;
if (this.messageSuccess) { if (this.messageSuccess) {
document.getElementById('notificationDynamicFieldsMR').innerHTML = ''; document.getElementById('notificationDynamicFieldsMR').innerHTML = '';
} }
@ -277,16 +289,26 @@ export class WorklistMainMRComponent implements OnInit {
console.log('test' + this.notificationButtonRes.length); console.log('test' + this.notificationButtonRes.length);
for (let i = 0; i < this.notificationButtonRes.length; i++) { for (let i = 0; i < this.notificationButtonRes.length; i++) {
if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED" ) { if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED" ) {
this.approve_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.approveDis = true; this.approveDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED" ) { if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED" ) {
this.reject_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.rejectDis = true; this.rejectDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == 'REQUEST_INFO') { if (this.notificationButtonRes[i].BUTTON_ACTION == 'REQUEST_INFO') {
this.reqInfo_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.requestDis = true; this.requestDis = true;
} // if result == null } // if result == null
else if // if result == null
(this.notificationButtonRes[i].BUTTON_ACTION == "CLOSE") {
this.close_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.closeDis = true;
}
else if( else if(
this.notificationButtonRes[i].BUTTON_ACTION != "APPROVED" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECTED" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO") this.notificationButtonRes[i].BUTTON_ACTION != "APPROVED" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECTED" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO" && this.notificationButtonRes[i].BUTTON_ACTION != "CLOSE")
{ {
this.moreDisabled = false; this.moreDisabled = false;

@ -15,7 +15,7 @@
<ion-segment-button value="line_details" <ion-segment-button value="line_details"
[ngClass]="activeSegment == 'line_details' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'line_details' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{ts.trPK('worklistMain','line_details')}} </ion-label> <ion-label> {{'worklistMain,itemReq'| translate}} </ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="action-history" <ion-segment-button value="action-history"
@ -25,11 +25,12 @@
<ion-segment-button value="attach" <ion-segment-button value="attach"
[ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{'general, file' | translate}} </ion-label> <ion-label> {{'worklistMain, attach-file' | translate}}
</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button checked value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'" > <ion-segment-button checked value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'" >
<ion-label> {{ts.trPK('worklistMain','info')}} </ion-label> <ion-label> {{'worklistMain, info'| translate}} </ion-label>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
@ -49,7 +50,7 @@
<ion-card-content> <ion-card-content>
<ion-grid style="text-align: left"> <ion-grid style="text-align: left">
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for=""> {{ts.trPK('worklistMain','description')}} <label class="colItemReq" for=""> {{ts.trPK('worklistMain','description')}}
</label> </label>
@ -70,7 +71,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','to')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','to')}}
</label> </label>
<br /> <br />
@ -90,7 +91,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','closed')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','closed')}}
</label> </label>
<br /> <br />
@ -132,7 +133,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','Supplier')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','Supplier')}} </label>
<br /> <br />
@ -148,7 +149,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col size="6" class="colBorder"> <ion-col size="6" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','Buyer')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','Buyer')}} </label>
<br /> <br />
@ -164,7 +165,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','CreationDate')}}</label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','CreationDate')}}</label>
<br /> <br />
@ -181,7 +182,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}}
</label> </label>
<br /> <br />
@ -199,7 +200,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','PaymentTerms')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','PaymentTerms')}} </label>
<br /> <br />
@ -215,7 +216,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','GrossAmount')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','GrossAmount')}} </label>
<br /> <br />
@ -232,7 +233,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" <label class="colItemReq"
for="">{{ts.trPK('worklistMain','TotalPODiscount')}}</label> for="">{{ts.trPK('worklistMain','TotalPODiscount')}}</label>
<br /> <br />
@ -250,7 +251,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','CustomDuty')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','CustomDuty')}} </label>
<br /> <br />
@ -266,7 +267,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','OtherCharges')}}</label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','OtherCharges')}}</label>
<br /> <br />
@ -370,7 +371,7 @@
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder "> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}} </label>
<br /> <br />
@ -387,7 +388,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems " [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' " >
<label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_TYPE')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_TYPE')}}
</label> </label>
<br /> <br />
@ -408,7 +409,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','price')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','price')}} </label>
<br /> <br />
@ -429,7 +430,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label>
<br /> <br />
@ -450,7 +451,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','NEED_TO')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','NEED_TO')}} </label>
<br /> <br />
@ -472,7 +473,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder"> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','DELIVER_TO')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','DELIVER_TO')}}
</label> </label>
<br /> <br />
@ -772,17 +773,31 @@
<ion-tab-bar class="tabBar" slot="bottom"> <ion-tab-bar class="tabBar" slot="bottom">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')"> <ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')">
<img src="../assets/imgs/action-approve.png"> <img src="../assets/imgs/action-approve.png">
<ion-label> {{'worklistMain, approve' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{approve_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="closeDis" (click)="actionButton('CLOSE')">
<img src="../assets/imgs/action-approve.png">
<!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{close_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')"> <ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')">
<img src="../assets/imgs/action-reject.png"> <img src="../assets/imgs/action-reject.png">
<ion-label> {{'worklistMain, reject' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, reject' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{reject_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')"> <ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')">
<img src="../assets/imgs/action-info.png"> <img src="../assets/imgs/action-info.png">
<ion-label> {{'worklistMain, request' | translate}}</ion-label> <ion-label style="white-space: nowrap"> {{reqInfo_label}}</ion-label>
<!-- <ion-label> {{'worklistMain, request' | translate}}</ion-label> -->
</ion-tab-button> </ion-tab-button>
<ion-tab-button (click)="nextNotfification()"> <ion-tab-button (click)="nextNotfification()">
<img src="../assets/imgs/action-skip.png"> <img src="../assets/imgs/action-skip.png">

@ -122,6 +122,11 @@ export class WorklistMainPoComponent implements OnInit {
moreDisabled: boolean = true; moreDisabled: boolean = true;
direction: string; direction: string;
defaultSegment = ''; defaultSegment = '';
approve_label: any;
reject_label: any;
reqInfo_label: any;
closeDis: boolean = false;;
close_label: any;
constructor( constructor(
public common: CommonService, public common: CommonService,
@ -152,6 +157,12 @@ export class WorklistMainPoComponent implements OnInit {
}//ngOn }//ngOn
intializeNotificationDetail() { intializeNotificationDetail() {
this.approveDis = false;
this.rejectDis = false;
this.requestDis = false;
this.closeDis=false;
this.moreDisabled = true;
if (this.messageSuccess) { if (this.messageSuccess) {
document.getElementById("notificationDynamicFieldsPO").innerHTML = ""; document.getElementById("notificationDynamicFieldsPO").innerHTML = "";
} }
@ -306,16 +317,26 @@ export class WorklistMainPoComponent implements OnInit {
console.log("test" + this.notificationButtonRes.length); console.log("test" + this.notificationButtonRes.length);
for (let i = 0; i < this.notificationButtonRes.length; i++) { for (let i = 0; i < this.notificationButtonRes.length; i++) {
if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVE") { if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVE") {
this.approve_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.approveDis = true; this.approveDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECT") { if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECT") {
this.reject_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.rejectDis = true; this.rejectDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") {
this.reqInfo_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.requestDis = true; this.requestDis = true;
} // if result == null } // if result == null
else if // if result == null
(this.notificationButtonRes[i].BUTTON_ACTION == "CLOSE") {
this.close_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.closeDis = true;
}
else if ( else if (
this.notificationButtonRes[i].BUTTON_ACTION != "APPROVE" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECT" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO") this.notificationButtonRes[i].BUTTON_ACTION != "APPROVE" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECT" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO" && this.notificationButtonRes[i].BUTTON_ACTION != "CLOSE")
{ {
this.moreDisabled = false; this.moreDisabled = false;

@ -15,7 +15,7 @@
<ion-segment-button value="item-req" <ion-segment-button value="item-req"
[ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{ts.trPK('worklistMain','itemReq')}} </ion-label> <ion-label> {{'worklistMain, itemReq'| translate}} </ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="action-history" <ion-segment-button value="action-history"
[ngClass]="activeSegment == 'action-history' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'action-history' ? 'active-Segment' : 'normal-Segment'">
@ -23,13 +23,14 @@
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{'general, file' | translate}} </ion-label> <ion-label> {{'worklistMain, attach-file' | translate}}
</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button checked value="info" <ion-segment-button checked value="info"
[ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'">
<ion-label> {{ts.trPK('worklistMain','info')}} </ion-label> <ion-label> {{'worklistMain, info'| translate}} </ion-label>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
@ -46,7 +47,7 @@
<ion-grid style="text-align: left"> <ion-grid style="text-align: left">
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}} <label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}}
</label> </label>
@ -68,7 +69,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}}
</label> </label>
<br /> <br />
@ -90,7 +91,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}}
</label> </label>
<br /> <br />
@ -206,7 +207,7 @@
</ion-col> </ion-col>
</ion-row> --> </ion-row> -->
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder "> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' " class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','cost-center')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','cost-center')}}
</label> </label>
<br /> <br />
@ -227,7 +228,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder "> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' " class="colItems ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','unit')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','unit')}} </label>
<br /> <br />
@ -244,7 +245,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colItems colBorder "> <ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('payslip','amount')}} ({{ 'general, sar' | translate}})</label> <label class="colItemReq" for="">{{ts.trPK('payslip','amount')}} ({{ 'general, sar' | translate}})</label>
<br /> <br />
@ -485,17 +486,30 @@
<ion-tab-bar class="tabBar" slot="bottom"> <ion-tab-bar class="tabBar" slot="bottom">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')"> <ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')">
<img src="../assets/imgs/action-approve.png"> <img src="../assets/imgs/action-approve.png">
<ion-label> {{'worklistMain, approve' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{approve_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="closeDis" (click)="actionButton('CLOSE')">
<img src="../assets/imgs/action-approve.png">
<!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{close_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')"> <ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')">
<img src="../assets/imgs/action-reject.png"> <img src="../assets/imgs/action-reject.png">
<ion-label> {{'worklistMain, reject' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, reject' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{reject_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')"> <ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')">
<img src="../assets/imgs/action-info.png"> <img src="../assets/imgs/action-info.png">
<ion-label> {{'worklistMain, request' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, request' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{reqInfo_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button (click)="nextNotfification()"> <ion-tab-button (click)="nextNotfification()">
<img src="../assets/imgs/action-skip.png"> <img src="../assets/imgs/action-skip.png">

@ -107,6 +107,11 @@ export class WorklistMainPRComponent implements OnInit {
moreDisabled: boolean = true; moreDisabled: boolean = true;
direction: string; direction: string;
defaultSegment = ''; defaultSegment = '';
approve_label: any;
reject_label: any;
reqInfo_label: any;
close_label: any;
closeDis: boolean = false;
constructor( constructor(
@ -143,6 +148,12 @@ export class WorklistMainPRComponent implements OnInit {
intializeNotificationDetail() { intializeNotificationDetail() {
this.approveDis = false;
this.rejectDis = false;
this.requestDis = false;
this.closeDis =false;
this.moreDisabled = true;
if (this.messageSuccess) { if (this.messageSuccess) {
document.getElementById('notificationDynamicFieldsPR').innerHTML = ''; document.getElementById('notificationDynamicFieldsPR').innerHTML = '';
} }
@ -308,16 +319,25 @@ export class WorklistMainPRComponent implements OnInit {
console.log('test' + this.notificationButtonRes.length); console.log('test' + this.notificationButtonRes.length);
for (let i = 0; i < this.notificationButtonRes.length; i++) { for (let i = 0; i < this.notificationButtonRes.length; i++) {
if (this.notificationButtonRes[i].BUTTON_ACTION == 'APPROVE') { if (this.notificationButtonRes[i].BUTTON_ACTION == 'APPROVE') {
this.approve_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.approveDis = true; this.approveDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == 'REJECT') { if (this.notificationButtonRes[i].BUTTON_ACTION == 'REJECT') {
this.reject_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.rejectDis = true; this.rejectDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == 'REQUEST_INFO') { if (this.notificationButtonRes[i].BUTTON_ACTION == 'REQUEST_INFO') {
this.reqInfo_label=this.notificationButtonRes[i].BUTTON_LABEL;
this.requestDis = true; this.requestDis = true;
} // if result == null } // if result == null
else if // if result == null
(this.notificationButtonRes[i].BUTTON_ACTION == "CLOSE") {
this.close_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.closeDis = true;
}
else if ( else if (
this.notificationButtonRes[i].BUTTON_ACTION != "APPROVE" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECT" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO") this.notificationButtonRes[i].BUTTON_ACTION != "APPROVE" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECT" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO" && this.notificationButtonRes[i].BUTTON_ACTION != "CLOSE")
{ {
this.moreDisabled = false; this.moreDisabled = false;

@ -15,20 +15,20 @@
<ion-segment-button value="item-req" <ion-segment-button value="item-req"
[ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'item-req' ? 'active-Segment' : 'normal-Segment'">
{{ts.trPK('worklistMain','title')}} <ion-label> {{'worklistMain, details-emp'| translate}}</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="action-history" <ion-segment-button value="action-history"
[ngClass]="activeSegment == 'action-history' ? 'active-Segment' : 'normal-Segment'"> [ngClass]="activeSegment == 'action-history' ? 'active-Segment' : 'normal-Segment'">
{{'worklistMain, action' | translate}} <ion-label> {{'worklistMain, action' | translate}}</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'">
{{'general, file' | translate}} <ion-label> {{'worklistMain, attach-file' | translate}}</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'"> <ion-segment-button value="info" [ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'">
{{ts.trPK('worklistMain','info')}} <ion-label> {{'worklistMain, info'| translate}} </ion-label>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
@ -71,14 +71,18 @@
</div> </div>
<div style="margin: 10px; " *ngIf="subordinatesleaveList != undefined && subordinatesleaveList?.length > 0"> <div style="margin: 10px;font-weight: bold; " *ngIf="subordinatesleaveList != undefined && subordinatesleaveList?.length > 0">
{{ts.trPK('worklistMain','employee-on-leave')}} </div> {{ts.trPK('worklistMain','employee-on-leave')}} </div>
<ion-item lines="none" class="subOrdinateList" *ngFor="let List of subordinatesleaveList;"> <ion-item lines="none"
[ngClass]=" direction === 'en' ? 'subOrdinateList' :'subOrdinateList-Ar' "
*ngFor="let List of subordinatesleaveList;">
<ion-grid class="gridSubordinates"> <ion-grid
<div class="subOrdinateDiv"> [ngClass]=" direction === 'en' ? 'gridSubordinates' :'gridSubordinates-Ar' ">
<div
[ngClass]=" direction === 'en' ? 'subOrdinateDiv' :'subOrdinateDiv-Ar' ">
<!-- <img class="subOrdinateImg" src="../assets/imgs/profile.png"> --> <!-- <img class="subOrdinateImg" src="../assets/imgs/profile.png"> -->
@ -87,7 +91,9 @@
<img *ngIf="List.EMPLOYEE_IMAGE == null" <img *ngIf="List.EMPLOYEE_IMAGE == null"
class="empImgeSub" src="../assets/imgs/profile.png"> class="empImgeSub" src="../assets/imgs/profile.png">
</div> </div>
<ion-row class="rowHeader subOrdinateRow"> <ion-row class="rowHeader "
[ngClass]=" direction === 'en' ? 'subOrdinateRow' :'subOrdinateRow-Ar' "
>
<ion-col size="9"> <ion-col size="9">
<label style="font-weight: bold; " class="label" for="">{{List.EMPLOYEE_NAME}} </label> <label style="font-weight: bold; " class="label" for="">{{List.EMPLOYEE_NAME}} </label>
@ -96,11 +102,11 @@
</ion-col> </ion-col>
<ion-col class="status" size="3"> <ion-col class="status" size="3">
<label class="label" for="label">{{List.STATUS}}</label> <label class="label" style="font-size: 11px;" for="label">{{List.STATUS}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<br /> <br />
<ion-row class="subOrdinateRow"> <ion-row [ngClass]=" direction === 'en' ? 'subOrdinateRow' :'subOrdinateRow-Ar'">
<ion-col> <ion-col>
<label class="label" for=""> {{ts.trPK('worklistMain','from')}}</label><br /> <label class="label" for=""> {{ts.trPK('worklistMain','from')}}</label><br />
@ -131,7 +137,7 @@
<div> <div>
<ion-grid style="text-align: left"> <ion-grid style="text-align: left">
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}} <label class="colItemReq" for=""> {{ts.trPK('worklistMain','from')}}
</label> </label>
@ -154,7 +160,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','sent')}}
</label> </label>
<br /> <br />
@ -174,7 +180,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class=""> <ion-row class="">
<ion-col class="colBorder"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}} <label class="colItemReq" for="">{{ts.trPK('worklistMain','id')}}
</label> </label>
<br /> <br />
@ -260,7 +266,7 @@
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, position' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, job-name' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.POSITION_NAME}}</label> <label for="">{{submitterInfo.POSITION_NAME}}</label>
</ion-col> </ion-col>
@ -274,42 +280,42 @@
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, job' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, job_cate' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.JOB_NAME}}</label> <label for="">{{submitterInfo.JOB_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, category' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, category' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.EMPLOYMENT_CATEGORY_MEANING}}</label> <label for="">{{submitterInfo.EMPLOYMENT_CATEGORY_MEANING}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, orgEmail' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, emp-email' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.EMPLOYEE_EMAIL_ADDRESS}}</label> <label for="">{{submitterInfo.EMPLOYEE_EMAIL_ADDRESS}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, orgName' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, org-name' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.ORGANIZATION_NAME}}</label> <label for="">{{submitterInfo.ORGANIZATION_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowBorder submitterInfo"> <!-- <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, busG' | translate}}</label> <label class="colItemReq" for="">{{'userProfile, busG' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.BUSINESS_GROUP_NAME}}</label> <label for="">{{submitterInfo.BUSINESS_GROUP_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row> -->
<ion-row class="rowBorder submitterInfo"> <ion-row class="rowBorder submitterInfo">
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, locName' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, loc-name' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.LOCATION_NAME}}</label> <label for="">{{submitterInfo.LOCATION_NAME}}</label>
@ -317,7 +323,7 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{'userProfile, payrol' | translate}}</label> <label class="colItemReq" for="">{{'worklistMain, branch-payrol' | translate}}</label>
<br /> <br />
<label for="">{{submitterInfo.PAYROLL_NAME}}</label> <label for="">{{submitterInfo.PAYROLL_NAME}}</label>
@ -504,17 +510,29 @@
<ion-tab-bar class="tabBar" slot="bottom"> <ion-tab-bar class="tabBar" slot="bottom">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVED')"> <ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVED')">
<img src="../assets/imgs/action-approve.png"> <img src="../assets/imgs/action-approve.png">
<ion-label> {{'worklistMain, approve' | translate}}</ion-label> <!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{approve_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="closeDis" (click)="actionButton('CLOSE')">
<img src="../assets/imgs/action-approve.png">
<!-- <ion-label> {{'worklistMain, approve' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{close_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECTED')"> <ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECTED')">
<img src="../assets/imgs/action-reject.png"> <img src="../assets/imgs/action-reject.png">
<ion-label> {{'worklistMain, reject' | translate}}</ion-label> <!-- <ion-label > {{'worklistMain, reject' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{reject_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')"> <ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')">
<img src="../assets/imgs/action-info.png"> <img src="../assets/imgs/action-info.png">
<ion-label> {{'worklistMain, request' | translate}}</ion-label> <!-- <ion-label > {{'worklistMain, request' | translate}}</ion-label> -->
<ion-label style="white-space: nowrap"> {{reqInfo_label}}</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button (click)="nextNotfification()"> <ion-tab-button (click)="nextNotfification()">
<img src="../assets/imgs/action-skip.png"> <img src="../assets/imgs/action-skip.png">

@ -242,6 +242,35 @@ color: white;
margin-left: 55px; margin-left: 55px;
} }
/////////////Subordinate-Arabic///////////////////
.subOrdinateList-Ar {
--background: transparent;
margin-left: -3px;
margin-right: -13px;
margin-bottom: 8px;
}
.gridSubordinates-Ar{
border-top-right-radius: 28px;
border-bottom-right-radius: 40px;
background: var(--light);
border-top-left-radius: 16px;
border-bottom-left-radius: 16px;
margin-right: 42px;
}
.subOrdinateRow-Ar {
margin-right: 55px;
}
.subOrdinateDiv-Ar {
z-index: 4;
margin-right: -46px;
position: absolute;
top: -2px;
}
///////////////////////////////////////////////
.label{ .label{
font-size: 14px; font-size: 14px;
} }

@ -53,8 +53,8 @@ export class WorklistMainComponent implements OnInit {
getPassNotificationDetails: any; getPassNotificationDetails: any;
public static PASS_RES_ATTR = "passResAttr"; public static PASS_RES_ATTR = "passResAttr";
TransactionID: number = -999; TransactionID: number = -999;
notificationBodyRes: any =[]; notificationBodyRes: any = [];
actionHistoryRes: any =[]; actionHistoryRes: any = [];
notificationButtonRes: any; notificationButtonRes: any;
actionMode: any; actionMode: any;
pInformation: string = ""; pInformation: string = "";
@ -70,7 +70,7 @@ export class WorklistMainComponent implements OnInit {
P_RESPOND_ATTRIBUTES_TBL: any; P_RESPOND_ATTRIBUTES_TBL: any;
selEmployeeID: any; selEmployeeID: any;
actionType: string = ""; actionType: string = "";
notificationArray: any =[]; notificationArray: any = [];
notificationDynamicAttributeArr: any; notificationDynamicAttributeArr: any;
private textInput: TextInput; private textInput: TextInput;
private textArea: TextAreaInput; private textArea: TextAreaInput;
@ -80,7 +80,7 @@ export class WorklistMainComponent implements OnInit {
notificationCount: any; notificationCount: any;
activeSegment: any = "item-req"; activeSegment: any = "item-req";
lines_note_limit: any = 24; lines_note_limit: any = 24;
attachmentRes: any =[]; attachmentRes: any = [];
private WorkListActionHistoryObj: WorkListActionHistoryRequest; private WorkListActionHistoryObj: WorkListActionHistoryRequest;
IsReachEnd: boolean = true; IsReachEnd: boolean = true;
notiActionBtnMore: any = []; notiActionBtnMore: any = [];
@ -88,7 +88,7 @@ export class WorklistMainComponent implements OnInit {
confirmMsg: string; confirmMsg: string;
newArr: any = []; newArr: any = [];
selEmp: any; selEmp: any;
subordinatesleaveList: any =[]; subordinatesleaveList: any = [];
private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest; private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest;
submitterInfoRes: any; submitterInfoRes: any;
approveDis: boolean = false; approveDis: boolean = false;
@ -101,6 +101,11 @@ export class WorklistMainComponent implements OnInit {
public isPostNoLoad = true; public isPostNoLoad = true;
public worklistNotifications: any; public worklistNotifications: any;
public totalRequestCount = 0; public totalRequestCount = 0;
approve_label: any = "";
reject_label: any = "";
reqInfo_label: any = "";
close_label: any;
closeDis: boolean = false;
constructor( constructor(
public worklistService: WorklistService, public worklistService: WorklistService,
@ -121,6 +126,7 @@ export class WorklistMainComponent implements OnInit {
this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest();
this.WorkListActionHistoryObj.P_PAGE_NUM = 1; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
} }
ngOnInit() { ngOnInit() {
@ -139,13 +145,13 @@ export class WorklistMainComponent implements OnInit {
} }
//name=document.getElementById('notificationDynamicFields').value; //name=document.getElementById('notificationDynamicFields').value;
//removeElement('parentDiv', name);" //removeElement('parentDiv', name);"
//var navbar = document.getElementById("notificationDynamicFields").value; //var navbar = document.getElementById("notificationDynamicFields").value;
// document.querySelector('svg .gauge.chart > text').remove(); // document.querySelector('svg .gauge.chart > text').remove();
// var inputValue = (<HTMLInputElement>document.getElementById("notificationDynamicFields")).value; // var inputValue = (<HTMLInputElement>document.getElementById("notificationDynamicFields")).value;
console.log(" this.selEmp" + this.selEmp); console.log(" this.selEmp" + this.selEmp);
this.intializeNotificationDetail(); this.intializeNotificationDetail();
@ -157,7 +163,15 @@ export class WorklistMainComponent implements OnInit {
} }
intializeNotificationDetail() { intializeNotificationDetail() {
this.approveDis = false;
this.rejectDis = false;
this.requestDis = false;
this.moreDisabled = true;
this.closeDis = false;
// this.approve_label="";
// this.reject_label="";
// this.reqInfo_label="";
if (this.messageSuccess) { if (this.messageSuccess) {
document.getElementById("notificationDynamicFields").innerHTML = ""; document.getElementById("notificationDynamicFields").innerHTML = "";
} }
@ -166,10 +180,10 @@ export class WorklistMainComponent implements OnInit {
HomeComponent.NOTIFICATION_DATA, HomeComponent.NOTIFICATION_DATA,
false false
); );
console.log("for next()"+ this.getPassNotificationDetails.ROW_NUM); console.log("for next()" + this.getPassNotificationDetails.ROW_NUM);
this.notificationArray=[] this.notificationArray = []
this.subordinatesleaveList=[]; this.subordinatesleaveList = [];
this.notificationArray = this.common.sharedService.getSharedData( this.notificationArray = this.common.sharedService.getSharedData(
HomeComponent.NOTIFICATION_ARR, HomeComponent.NOTIFICATION_ARR,
false false
@ -273,7 +287,7 @@ export class WorklistMainComponent implements OnInit {
} }
handleWorkListBodyResult(result, Type) { handleWorkListBodyResult(result, Type) {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pInformation = result.P_INFORMATION; this.pInformation = result.P_INFORMATION;
this.pQuestion = result.P_QUESTION; this.pQuestion = result.P_QUESTION;
@ -281,17 +295,17 @@ export class WorklistMainComponent implements OnInit {
if (result.GetEITCollectionNotificationBodyList) { if (result.GetEITCollectionNotificationBodyList) {
this.notificationBodyRes = this.notificationBodyRes =
result.GetEITCollectionNotificationBodyList; result.GetEITCollectionNotificationBodyList;
if(this.notificationBodyRes[0].Collection_Notification){ if (this.notificationBodyRes[0].Collection_Notification) {
console.log(this.notificationBodyRes[0].Collection_Notification); console.log(this.notificationBodyRes[0].Collection_Notification);
} }
} }
} else if (Type == "ABSENCE") { } else if (Type == "ABSENCE") {
if (result.GetAbsenceCollectionNotificationBodyList) { if (result.GetAbsenceCollectionNotificationBodyList) {
this.notificationBodyRes = this.notificationBodyRes =
result.GetAbsenceCollectionNotificationBodyList ; result.GetAbsenceCollectionNotificationBodyList;
if(this.notificationBodyRes[0].Collection_Notification){ if (this.notificationBodyRes[0].Collection_Notification) {
console.log(this.notificationBodyRes[0].Collection_Notification); console.log(this.notificationBodyRes[0].Collection_Notification);
} }
// getDimensions(this.notificationBodyRes) { // getDimensions(this.notificationBodyRes) {
let obj = (this.notificationBodyRes[0].Collection_Notification).filter(function (list) { let obj = (this.notificationBodyRes[0].Collection_Notification).filter(function (list) {
@ -314,7 +328,7 @@ export class WorklistMainComponent implements OnInit {
getNotificationButtons(notificationButtonsObj) { getNotificationButtons(notificationButtonsObj) {
this.notificationButtonRes=[]; this.notificationButtonRes = [];
this.worklistMainService this.worklistMainService
.getNotificationButtons(notificationButtonsObj) .getNotificationButtons(notificationButtonsObj)
.subscribe((result: NotificatonButtonResponse) => { .subscribe((result: NotificatonButtonResponse) => {
@ -331,20 +345,26 @@ export class WorklistMainComponent implements OnInit {
console.log("test" + this.notificationButtonRes.length); console.log("test" + this.notificationButtonRes.length);
for (let i = 0; i < this.notificationButtonRes.length; i++) { for (let i = 0; i < this.notificationButtonRes.length; i++) {
if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") { if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") {
this.approve_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.approveDis = true; this.approveDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") { if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") {
this.reject_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.rejectDis = true; this.rejectDis = true;
} else } else
if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") {
this.reqInfo_label = this.notificationButtonRes[i].BUTTON_LABEL;
this.requestDis = true; this.requestDis = true;
} // if result == null } else if // if result == null
else if( (this.notificationButtonRes[i].BUTTON_ACTION == "CLOSE") {
this.notificationButtonRes[i].BUTTON_ACTION != "APPROVED" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECTED" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO") this.close_label = this.notificationButtonRes[i].BUTTON_LABEL;
{ this.closeDis = true;
this.moreDisabled = false; } else if
} (this.notificationButtonRes[i].BUTTON_ACTION != "APPROVED" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECTED" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO" && this.notificationButtonRes[i].BUTTON_ACTION != "CLOSE") {
this.moreDisabled = false;
}
} // valid it } // valid it
} }
} }
@ -379,7 +399,7 @@ export class WorklistMainComponent implements OnInit {
this.nextNotfification(); this.nextNotfification();
}, 5000); }, 5000);
} }
} // valid it } // valid it
} }
@ -390,7 +410,7 @@ export class WorklistMainComponent implements OnInit {
// let itemNo = this.getPassNotificationDetails.ROW_NUM; // let itemNo = this.getPassNotificationDetails.ROW_NUM;
// itemNo += 1; // itemNo += 1;
// if (itemNo > this.notificationArray.length) { // if (itemNo > this.notificationArray.length) {
// this.common.openNotificationPage(); // this.common.openNotificationPage();
// } else { // } else {
@ -411,36 +431,36 @@ export class WorklistMainComponent implements OnInit {
public nextNotfification() { public nextNotfification() {
//let itemExist = false; //let itemExist = false;
if( document.getElementById("notificationDynamicFields") != null){ if (document.getElementById("notificationDynamicFields") != null) {
document.getElementById("notificationDynamicFields").innerHTML = ""; document.getElementById("notificationDynamicFields").innerHTML = "";
} }
let itemNo = this.getPassNotificationDetails.ROW_NUM; let itemNo = this.getPassNotificationDetails.ROW_NUM;
console.log(itemNo); console.log(itemNo);
let index = this.notificationArray.findIndex(x => x.ROW_NUM === itemNo); let index = this.notificationArray.findIndex(x => x.ROW_NUM === itemNo);
console.log(index); console.log(index);
console.log(this.notificationArray); console.log(this.notificationArray);
index += 1; index += 1;
if (index < this.notificationArray.length) { if (index < this.notificationArray.length) {
this.common.sharedService.setSharedData(this.notificationArray[index], HomeComponent.NOTIFICATION_DATA); this.common.sharedService.setSharedData(this.notificationArray[index], HomeComponent.NOTIFICATION_DATA);
if(this.notificationArray[index].REQUEST_TYPE == "PO" ){ if (this.notificationArray[index].REQUEST_TYPE == "PO") {
this.common.openWorklistMainPOPage() this.common.openWorklistMainPOPage()
}else } else
if(this.notificationArray[index].REQUEST_TYPE == "PR" ){ if (this.notificationArray[index].REQUEST_TYPE == "PR") {
this.common.openWorklistMainPRPage() this.common.openWorklistMainPRPage()
} }
else else
if(this.notificationArray[index].REQUEST_TYPE == "MO" ){ if (this.notificationArray[index].REQUEST_TYPE == "MO") {
this.common.openWorklistMainMRPage() this.common.openWorklistMainMRPage()
}else{ } else {
this.intializeNotificationDetail(); this.intializeNotificationDetail();
} }
} }
else{ else {
this.common.openNotificationPage(); this.common.openNotificationPage();
} }
} }
@ -448,7 +468,7 @@ export class WorklistMainComponent implements OnInit {
sortArray(arrayToSort: any) { sortArray(arrayToSort: any) {
return arrayToSort.sort((a: any, b: any) => return arrayToSort.sort((a: any, b: any) =>
new Date(b.BEGIN_DATE).getTime() - new Date(a.BEGIN_DATE).getTime() new Date(b.BEGIN_DATE).getTime() - new Date(a.BEGIN_DATE).getTime()
); );
} }
@ -471,7 +491,7 @@ export class WorklistMainComponent implements OnInit {
} }
this.P_RESPOND_ATTRIBUTES_TBL.push(obj); this.P_RESPOND_ATTRIBUTES_TBL.push(obj);
} }
console.log("a"+ this.P_RESPOND_ATTRIBUTES_TBL); console.log("a" + this.P_RESPOND_ATTRIBUTES_TBL);
let repUserName = this.selEmployeeID; let repUserName = this.selEmployeeID;
if (this.hideForwordEmployee && this.hideForwordEmployee.ATTRIBUTE_NAME) { if (this.hideForwordEmployee && this.hideForwordEmployee.ATTRIBUTE_NAME) {
@ -482,8 +502,8 @@ export class WorklistMainComponent implements OnInit {
this.P_RESPOND_ATTRIBUTES_TBL.push(obj); this.P_RESPOND_ATTRIBUTES_TBL.push(obj);
} }
console.log( "b"+ this.P_RESPOND_ATTRIBUTES_TBL); console.log("b" + this.P_RESPOND_ATTRIBUTES_TBL);
if ( if (
ButtonAction == "APPROVED" || ButtonAction == "APPROVED" ||
ButtonAction == "REJECTED" || ButtonAction == "REJECTED" ||
@ -503,7 +523,7 @@ export class WorklistMainComponent implements OnInit {
ButtonAction, ButtonAction,
WorklistMainComponent.PASS_ACTION_MODE WorklistMainComponent.PASS_ACTION_MODE
); );
this.common.sharedService.setSharedData( this.common.sharedService.setSharedData(
this.P_RESPOND_ATTRIBUTES_TBL, this.P_RESPOND_ATTRIBUTES_TBL,
WorklistMainComponent.PASS_RES_ATTR WorklistMainComponent.PASS_RES_ATTR
@ -534,7 +554,7 @@ export class WorklistMainComponent implements OnInit {
this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'confirmation'),
this.confirmMsg) this.confirmMsg)
// this.openApplyModal(this.WorkListActionObj); // this.openApplyModal(this.WorkListActionObj);
} }
@ -607,7 +627,7 @@ export class WorklistMainComponent implements OnInit {
this.P_RESPOND_ATTRIBUTES_TBL, this.P_RESPOND_ATTRIBUTES_TBL,
WorklistMainComponent.PASS_RES_ATTR WorklistMainComponent.PASS_RES_ATTR
); );
console.log("c"+ this.P_RESPOND_ATTRIBUTES_TBL); console.log("c" + this.P_RESPOND_ATTRIBUTES_TBL);
// this.common.openWorklistRollReplacement(); // this.common.openWorklistRollReplacement();
this.openRepRolModal(); this.openRepRolModal();
@ -640,13 +660,13 @@ export class WorklistMainComponent implements OnInit {
// submitAbsObjList: this.notificationBodyRes[0].Collection_Notification // submitAbsObjList: this.notificationBodyRes[0].Collection_Notification
// }); // });
//this.common.openConfirmAbsece(); //this.common.openConfirmAbsece();
this.dirfromNotificationPage=true, this.dirfromNotificationPage = true,
this.common.sharedService.setSharedData( this.common.sharedService.setSharedData(
this.dirfromNotificationPage, this.dirfromNotificationPage,
"dirfromNotificationPage" "dirfromNotificationPage"
); );
this.common.sharedService.setSharedData( this.common.sharedService.setSharedData(
this.notificationBodyRes[0].Collection_Notification, this.notificationBodyRes[0].Collection_Notification,
"submitAbsObjList" "submitAbsObjList"
); );
@ -706,7 +726,7 @@ export class WorklistMainComponent implements OnInit {
// this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA);
this.NotRespondAttributeList = []; this.NotRespondAttributeList = [];
result.NotificationGetRespondAttributesList; result.NotificationGetRespondAttributesList;
if ( if (
result.NotificationRespondRolesList != "" && result.NotificationRespondRolesList != "" &&
result.NotificationRespondRolesList[0].ATTRIBUTE_NAME != null && result.NotificationRespondRolesList[0].ATTRIBUTE_NAME != null &&
@ -730,7 +750,7 @@ export class WorklistMainComponent implements OnInit {
for (let i = 0; i < notificationAttr.length; i++) { for (let i = 0; i < notificationAttr.length; i++) {
if (notificationAttr[i].ATTRIBUTE_TYPE == "VARCHAR2") { if (notificationAttr[i].ATTRIBUTE_TYPE == "VARCHAR2") {
this.textArea = new TextAreaInput(notificationAttr[i].ATTRIBUTE_DISPLAY_NAME, notificationAttr[i].ATTRIBUTE_NAME, "", containerId, "", "", ""); this.textArea = new TextAreaInput(notificationAttr[i].ATTRIBUTE_DISPLAY_NAME, notificationAttr[i].ATTRIBUTE_NAME, "", containerId, "", "", "");
console.log(this.textArea ); console.log(this.textArea);
} else if (notificationAttr[i].ATTRIBUTE_TYPE == "ROLE") { } else if (notificationAttr[i].ATTRIBUTE_TYPE == "ROLE") {
} else if (notificationAttr[i].ATTRIBUTE_TYPE == "DATE") { } else if (notificationAttr[i].ATTRIBUTE_TYPE == "DATE") {
@ -784,7 +804,7 @@ export class WorklistMainComponent implements OnInit {
getAttachmentNotification(WorkListAttachObj) { getAttachmentNotification(WorkListAttachObj) {
this.attachmentRes = [] this.attachmentRes = []
console.log(" this.P_PAGE_NUM: "+ this.P_PAGE_NUM); console.log(" this.P_PAGE_NUM: " + this.P_PAGE_NUM);
this.worklistAttachService.getAttach(WorkListAttachObj). this.worklistAttachService.getAttach(WorkListAttachObj).
subscribe((result: NotificationGetAttachResponse) => { subscribe((result: NotificationGetAttachResponse) => {
@ -803,8 +823,8 @@ export class WorklistMainComponent implements OnInit {
getActionHistory(WorkListActionHistoryObj) { getActionHistory(WorkListActionHistoryObj) {
this.IsReachEnd = true; this.IsReachEnd = true;
this.actionHistoryRes =[]; this.actionHistoryRes = [];
console.log(" this.P_PAGE_NUM: "+ this.P_PAGE_NUM); console.log(" this.P_PAGE_NUM: " + this.P_PAGE_NUM);
this.worklistService.getActionHistory(WorkListActionHistoryObj). this.worklistService.getActionHistory(WorkListActionHistoryObj).
subscribe((result: WorkListActionHistoryResponse) => { subscribe((result: WorkListActionHistoryResponse) => {
this.handleWorkListActionHistoryResult(result); this.handleWorkListActionHistoryResult(result);
@ -813,7 +833,7 @@ export class WorklistMainComponent implements OnInit {
} }
handleWorkListActionHistoryResult(result) { handleWorkListActionHistoryResult(result) {
console.log( "1"+ this.IsReachEnd); console.log("1" + this.IsReachEnd);
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetActionHistoryList)) { if (this.common.hasData(result.GetActionHistoryList)) {
this.actionHistoryRes = result.GetActionHistoryList; this.actionHistoryRes = result.GetActionHistoryList;
@ -824,11 +844,11 @@ export class WorklistMainComponent implements OnInit {
let lastitem = result.GetActionHistoryList[lastItemIndex]; let lastitem = result.GetActionHistoryList[lastItemIndex];
if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) {
this.IsReachEnd = true; this.IsReachEnd = true;
console.log( "2"+ this.IsReachEnd); console.log("2" + this.IsReachEnd);
} else { } else {
this.IsReachEnd = false; this.IsReachEnd = false;
console.log( "3"+ this.IsReachEnd); console.log("3" + this.IsReachEnd);
} }
} }
@ -933,8 +953,8 @@ export class WorklistMainComponent implements OnInit {
const request = new GetSubordinatesLeavesRequest(); const request = new GetSubordinatesLeavesRequest();
request.P_DATE_FROM = "/Date(" + Date.parse(from) + '+0300'+ ")/";//new Date(from); request.P_DATE_FROM = "/Date(" + Date.parse(from) + '+0300' + ")/";//new Date(from);
request.P_DATE_TO = "/Date(" + Date.parse(to) + '+0300'+ ")/" //new Date(to); request.P_DATE_TO = "/Date(" + Date.parse(to) + '+0300' + ")/" //new Date(to);
request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp;
// ="'/Date(" + Date.parse(from) + ")'" // ="'/Date(" + Date.parse(from) + ")'"
@ -958,7 +978,7 @@ export class WorklistMainComponent implements OnInit {
} }
getsubmitterInfo(notificationSubmitterInfoObj) { getsubmitterInfo(notificationSubmitterInfoObj) {
this.submitterInfoRes=[]; this.submitterInfoRes = [];
this.worklistMainService.getSubmitterInfo(notificationSubmitterInfoObj). this.worklistMainService.getSubmitterInfo(notificationSubmitterInfoObj).
subscribe((result: WorklistsubmitterInfoResponse) => { subscribe((result: WorklistsubmitterInfoResponse) => {
this.handleSubmitterInfoResult(result); this.handleSubmitterInfoResult(result);

@ -159,10 +159,10 @@
<div class="hrTitle"> {{ts.trPK('payslip','summary-payment')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','summary-payment')}} </div>
<ion-grid class="grids"> <ion-grid class="grids">
<ion-row class="bgcolor"> <ion-row class="bgcolor">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{ts.trPK('payslip','particular')}} </label> <label class="label" for="">{{ts.trPK('payslip','particular')}} </label>
</ion-col> </ion-col>
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label">%</label> <label class="label">%</label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -171,12 +171,12 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowtable" > <ion-row class="rowtable" >
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for=""> {{ts.trPK('payslip','deductions')}} <label class="label" for=""> {{ts.trPK('payslip','deductions')}}
</label> </label>
</ion-col> </ion-col>
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_PERCENTAGE}}</label> <label class="label" for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_PERCENTAGE}}</label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -186,11 +186,11 @@
<ion-row class="rowtable"> <ion-row class="rowtable">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{ts.trPK('payslip','earnings')}} <label class="label" for="">{{ts.trPK('payslip','earnings')}}
</label> </label>
</ion-col> </ion-col>
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_PERCENTAGE}}</label> <label class="label" for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_PERCENTAGE}}</label>
</ion-col> </ion-col>
<ion-col class="colPayslips" > <ion-col class="colPayslips" >
@ -200,11 +200,11 @@
</ion-row> </ion-row>
<ion-row class="rowtable"> <ion-row class="rowtable">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label-bold" for="">{{ts.trPK('payslip','pay-Amount')}} <label class="label-bold" for="">{{ts.trPK('payslip','pay-Amount')}}
</label> </label>
</ion-col> </ion-col>
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label-bold" for="">{{GetSummaryOfPaymentList.TOTAL_PAY_PERCENTAGE}}</label> <label class="label-bold" for="">{{GetSummaryOfPaymentList.TOTAL_PAY_PERCENTAGE}}</label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -219,7 +219,7 @@
<div class="hrTitle"> {{ts.trPK('payslip','earnings')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','earnings')}} </div>
<ion-grid class="grids"> <ion-grid class="grids">
<ion-row class="bgcolor"> <ion-row class="bgcolor">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{ts.trPK('payslip','particular')}} </label> <label class="label" for="">{{ts.trPK('payslip','particular')}} </label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -228,7 +228,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowtable" *ngFor="let list of GetEarningsList" > <ion-row class="rowtable" *ngFor="let list of GetEarningsList" >
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{list.ELEMENT_NAME}}</label> <label class="label" for="">{{list.ELEMENT_NAME}}</label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -242,7 +242,7 @@
<div class="hrTitle"> {{ts.trPK('payslip','deductions')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','deductions')}} </div>
<ion-grid class="grids"> <ion-grid class="grids">
<ion-row class="bgcolor"> <ion-row class="bgcolor">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{ts.trPK('payslip','particular')}} </label> <label class="label" for="">{{ts.trPK('payslip','particular')}} </label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -251,7 +251,7 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row class="rowtable" *ngFor="let list of GetDeductionsList" > <ion-row class="rowtable" *ngFor="let list of GetDeductionsList" >
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<label class="label" for="">{{list.ELEMENT_NAME}}</label> <label class="label" for="">{{list.ELEMENT_NAME}}</label>
</ion-col> </ion-col>
<ion-col class="colPayslips"> <ion-col class="colPayslips">
@ -281,7 +281,7 @@
</ion-row> </ion-row>
<ion-row class="rowtable"> <ion-row class="rowtable">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'">
<ion-row class="col"> <ion-row class="col">
<label class="label" for="">{{ts.trPK('payslip','bank-name')}} </label> <label class="label" for="">{{ts.trPK('payslip','bank-name')}} </label>
</ion-row> </ion-row>
@ -301,7 +301,7 @@
</ion-row> </ion-row>
<ion-row class="rowtable"> <ion-row class="rowtable">
<ion-col class="colPayslip"> <ion-col [ngClass]=" direction == 'en' ? 'colPayslip' : 'colPayslip-ar'" >
<ion-row class="col"> <ion-row class="col">
<label class="label" for="">{{ts.trPK('payslip','account-no')}} <label class="label" for="">{{ts.trPK('payslip','account-no')}}
</label> </label>

@ -15,6 +15,15 @@
margin-left: 8px; margin-left: 8px;
font-size: 12px !important; font-size: 12px !important;
} }
.colPayslip-ar{
border-left: 1px solid #cac8c8;
border-bottom-left-radius: -10px !important;
padding-top: 8px;
padding-bottom: 8px;
margin-left: 8px;
font-size: 12px !important;
}
.colPayslips{ .colPayslips{
border-bottom-left-radius: -10px !important; border-bottom-left-radius: -10px !important;
padding-top: 8px; padding-top: 8px;

@ -102,6 +102,7 @@ export class TimeCardDetailsComponent implements OnInit {
this.selMenu = this.common.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); this.selMenu = this.common.sharedService.getSharedData(MenuResponse.SHARED_DATA, false);
this.menuType = this.selMenu.List_Menu.MENU_TYPE; this.menuType = this.selMenu.List_Menu.MENU_TYPE;
dayAndHoursReqObj.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; dayAndHoursReqObj.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp;
dayAndHoursReqObj.P_MENU_TYPE = this.menuType; dayAndHoursReqObj.P_MENU_TYPE = this.menuType;
dayAndHoursReqObj.P_SELECTED_RESP_ID = this.respID; dayAndHoursReqObj.P_SELECTED_RESP_ID = this.respID;

@ -959,7 +959,7 @@
}, },
"time-left": { "time-left": {
"en": "Time Left Today", "en": "Time Left Today",
"ar": "باقي الوقت لليوم" "ar": "الوقت المتبقي"
} }
}, },
"work-list": { "work-list": {
@ -1165,7 +1165,7 @@
"vacation-rule": { "vacation-rule": {
"vacationRule": { "vacationRule": {
"en": "Vacation Rule", "en": "Vacation Rule",
"ar": "قواعد الإجازات" "ar": "الإنابة بالإجازات"
}, },
"apply-for-vacation-rule": { "apply-for-vacation-rule": {
"en": "Apply for vacation Rule", "en": "Apply for vacation Rule",
@ -1969,15 +1969,15 @@
}, },
"approve": { "approve": {
"en": "Approve", "en": "Approve",
"ar": "موافق" "ar": "إعتماد"
}, },
"reject": { "reject": {
"en": "Reject", "en": "Reject",
"ar": "رفض" "ar": "رفض"
}, },
"request": { "request": {
"en": "Request", "en": "Request info",
"ar": "طلب" "ar": "طلب معلومات"
}, },
"title": { "title": {
"en": "Details", "en": "Details",
@ -2005,7 +2005,7 @@
}, },
"info": { "info": {
"en": "Info", "en": "Info",
"ar": "تفاصيل" "ar": "تفاصيل الطلب"
}, },
"notfDetails": { "notfDetails": {
"en": "Notification Details", "en": "Notification Details",
@ -2041,7 +2041,7 @@
}, },
"action": { "action": {
"en": "Action", "en": "Action",
"ar": "الحركة" "ar": "تاريخ الإجراءات"
}, },
"actionRequird": { "actionRequird": {
"en": "Action is required", "en": "Action is required",
@ -2373,9 +2373,48 @@
}, },
"Tran_Succ":{ "Tran_Succ":{
"en": "Transaction Successful", "en": "Transaction Successful",
"ar":"عملية ناجحه" "ar":"عملية ناجحة"
} },
"req_detail":{
"en": "ٌRequest Details",
"ar":"تفاصيل الطلب"
},
"job_cate":{
"en": "Job category",
"ar":"الفئة الوظيفية"
},
"category":{
"en": "Category",
"ar":"نوع العقد"
},
"job-name":{
"en": "Job Title",
"ar":"المسمى الوظيفي"
},
"emp-email": {
"en": "Employee Email Address",
"ar": "البريد الإلكتروني للموظف"
},
"org-name": {
"en": "Adminstration Name",
"ar": "إسم الإدارة"
},
"loc-name": {
"en": "Company Name",
"ar": "إسم الشركة"
},
"branch-payrol": {
"en": "Payroll Branch",
"ar": "فرع الرواتب"
},
"attach-file": {
"en": "Files",
"ar": "المرفقات"
},
"details-emp": {
"en": "Details",
"ar": "تفاصيل الموظف"
}
}, },
"payslip": { "payslip": {
"title": { "title": {
@ -2486,7 +2525,7 @@
"attendance-tracking": { "attendance-tracking": {
"title": { "title": {
"en": "Mark Attendance", "en": "Mark Attendance",
"ar": "علامة الحضور " "ar": "تسجيل الحضور والانصراف"
}, },
"check-in": { "check-in": {
"en": "Check In", "en": "Check In",
@ -2534,7 +2573,7 @@
}, },
"today-time-left": { "today-time-left": {
"en": "TODAY'S TIME LEFT", "en": "TODAY'S TIME LEFT",
"ar": "TODAY'S TIME LEFT" "ar": "الوقت المتبقي"
}, },
"shortage-hours": { "shortage-hours": {
"en": "Shortage Hours", "en": "Shortage Hours",
@ -2558,15 +2597,15 @@
}, },
"confirm-alert1": { "confirm-alert1": {
"en": "Are you sure, you want to", "en": "Are you sure, you want to",
"ar": "Are you sure, you want to" "ar": "هل انت متأكد تريد لإنصراف من العمل؟"
}, },
"confirm-alert2": { "confirm-alert2": {
"en": " check out", "en": " check out",
"ar": " check out" "ar": ""
}, },
"confirm-alert3": { "confirm-alert3": {
"en": "You didn't complete today shift", "en": "You didn't complete today shift",
"ar": "You didn't complete today shift" "ar": "وقت العمل لم ينتهي بعد"
}, },
"shift-time": { "shift-time": {
"en": "Shift Time", "en": "Shift Time",

@ -467,6 +467,10 @@ left: 66px;
.colBorder{ .colBorder{
border-right: solid 0.02cm var(--grayBG); border-right: solid 0.02cm var(--grayBG);
}
.colBorder-ar{
border-left: solid 0.02cm var(--grayBG);
} }
.dateActionHistory{ .dateActionHistory{

Loading…
Cancel
Save