Merge branch 'sultan-q3' of https://gitlab.com/haroon6138/mohemmionic5 into sultan-q3

MOHEMM-Q3-DEV-LATEST
Sultan Khan 4 years ago
commit 7968b3e4ad

@ -52,9 +52,9 @@
<div style="height: 300px; width: 300px; transform: rotate(90deg) !important;">
<img style="width: 100px; margin-left: 20px; margin-top: 26px;" [src]='userInfo.company_logo' alt="https://hmgwebservices.com/images/Moheem/CS.jpg"/>
<h1 class='font-text-style' style="font-size: 25px !important; margin-left: 20px; margin-top: 5px; margin-bottom: 0px;">{{userInfo.name_en}}</h1>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px; ">{{userInfo.job_en}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px; ">{{jobName}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; font-size: 18px; margin-bottom: 0px;">{{userInfo.mobile}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 5px; font-size: 12px; margin-bottom: 5px;">{{userInfo.email}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 5px; font-size: 12px; margin-bottom: 5px; white-space: nowrap;">{{userInfo.email}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px;">{{userInfo.company_url}}</h5>
</div>
@ -114,7 +114,7 @@
<img style="width: 300px; margin-left: 185px; margin-top: 26px;" [alt]='userInfo.company_logo' src="../assets/icon/HMG_LOGO.png"/>
<div style="margin-top: 30px;">
<h1 class='font-text-style' style="font-size: 25px !important; margin-left: 20px; margin-top: 5px; margin-bottom: 0px;">{{userInfo.name_en}}</h1>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px; ">{{userInfo.job_en}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px; ">{{jobName}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; font-size: 18px; margin-bottom: 0px;">{{userInfo.mobile}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 5px; font-size: 12px; margin-bottom: 5px;">{{userInfo.email}}</h5>
<h5 class='font-text-style' style="margin-left: 20px; margin-top: 0px;">{{userInfo.company_url}}</h5>
@ -124,4 +124,4 @@
<div style="height: 150px; width: 300px;">
<img style="width: 140px; margin-left: 10px; margin-top: 50px;" [src]="userInfo.qr"/>
</div>
</ion-content>
</ion-content>

@ -2,6 +2,8 @@ import { Component, OnInit, Input } from '@angular/core';
import { ModalController } from '@ionic/angular';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service';
import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user';
@Component({
selector: 'app-business-card',
@ -12,15 +14,27 @@ export class BusinessCardComponent implements OnInit {
public userInfo: any;
public userJobName: any;
public jobName: any;
constructor(
public modalCtrl: ModalController,
public ts: TranslatorService,
public common: CommonService
public common: CommonService,
public authService: AuthenticationService,
) { }
ngOnInit() {
this.userInfo = JSON.parse(localStorage.getItem('bussiness-card-info'));
console.log(this.userInfo);
this.authService
.loadAuthenticatedUser()
.subscribe((user: AuthenticatedUser) => {
if (user) {
let jobTitle = user.POSITION_NAME.split('.');
if (jobTitle && jobTitle.length > 1) {
this.jobName = jobTitle[0] + " " + jobTitle[1];
}
}
});
}
@ -30,4 +44,4 @@ export class BusinessCardComponent implements OnInit {
});
}
}
}

@ -24,19 +24,54 @@
<ion-item class="item-input-login">
<img class="item-icon" src="assets/imgs/password.png" item-start />
<ion-label>{{'changePassword,newPassword' | translate}}</ion-label>
<ion-input class="login-input" required type="password"
<!-- <ion-label>{{'changePassword,newPassword' | translate}}</ion-label> -->
<ion-input class="login-input" required type="password"
placeholder="{{ts.trPK('changePassword','newPassword')}}"
[(ngModel)]="P_NEW_PASSWORD">
</ion-input>
</ion-item>
<ion-item class="item-input-login">
<img class="item-icon" src="assets/imgs/password.png" item-start />
<ion-label>{{'changePassword,confirmPassword' | translate}}</ion-label>
<!-- <ion-label>{{'changePassword,confirmPassword' | translate}}</ion-label> -->
<ion-input class="login-input" required type="password"
placeholder="{{ts.trPK('changePassword','confirmPassword')}}"
[(ngModel)]="P_Confirm_NEW_PASSWORD">
</ion-input>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" src="../assets/icon/yellow.svg" item-start />
<ion-label><p>{{recentPasswordNote.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(1)" item-start />
<ion-label><p>{{isLowerCase.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(2)" item-start />
<ion-label><p>{{isUpperCase.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(3)" item-start />
<ion-label><p>{{isHasDigit.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(4)" item-start />
<ion-label><p>{{isMinLength.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(5)" item-start />
<ion-label><p>{{isRepeatedLetter.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(6)" item-start />
<ion-label><p>{{isContainSpecialChar.text}}</p></ion-label>
</ion-item>
<ion-item lines='none'>
<img class="item-icon" [src]="checkerFuncation(7)" item-start />
<ion-label><p>{{confirmMatchNew.text}}</p></ion-label>
</ion-item>
</ion-grid>
<page-trailer [small]="true"></page-trailer>
@ -45,6 +80,8 @@
</ion-content>
<ion-footer>
<div class="centerDiv">
<ion-button class="button-login" ion-button (click)=" forgotpassword()">{{ts.trPK('login','changepassword')}}</ion-button>
<button [disabled]="disabledSubmitBtn()"
[ngClass]=" disabledSubmitBtn() ? 'disabledButton' : '' "
class="button-login" ion-button (click)="forgotpassword()">{{ts.trPK('login','changepassword')}}</button>
</div>
</ion-footer>

@ -9,7 +9,7 @@ import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.ser
import { ForgetPassword } from '../models/forget.password';
import { LoginModel } from '../models/LoginModel';
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import {LoginComponent} from "src/app/authentication/login/login.component";
import { LoginComponent } from "src/app/authentication/login/login.component";
@Component({
selector: 'app-forgot',
templateUrl: './forgot.component.html',
@ -18,10 +18,56 @@ import {LoginComponent} from "src/app/authentication/login/login.component";
export class ForgotComponent implements OnInit {
private loginData = new LoginModel();
public P_NEW_PASSWORD: string;
public P_Confirm_NEW_PASSWORD : string;
public P_USER_NAME : string;
public P_NEW_PASSWORD: string = '';
public P_Confirm_NEW_PASSWORD: string = '';
public P_USER_NAME: string;
public logo = "assets/icon/login/lock.png";
public recentPasswordNote = {
yellowImg: '../assets/icon/yellow.svg',
text: 'Do not user recent password'
};
public isLowerCase = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'At least one lowercase',
isMatch: false
};
public isUpperCase = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'At least one uppdercase',
isMatch: false
};
public isHasDigit = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'At least one nomeric',
isMatch: false
};
public isMinLength = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'Minimum 8 characters',
isMatch: false
};
public isRepeatedLetter = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'Do not add repeating letters',
isMatch: false
};
public isContainSpecialChar = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'It should contain special character',
isMatch: false
};
public confirmMatchNew = {
blankImg: '../assets/icon/blank.svg',
greenImg: '../assets/icon/green.svg',
text: 'Confirm Password does not match.',
isMatch: false
};
constructor(
public cs: CommonService,
@ -35,7 +81,7 @@ export class ForgotComponent implements OnInit {
) {
}
ngOnInit() {}
ngOnInit() { }
public onForgot() {
this.sendSMSForForgotPassword();
@ -56,7 +102,7 @@ export class ForgotComponent implements OnInit {
});
}
public forgotpassword(){
public forgotpassword() {
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
const forgetPasswordTokenResult = this.sharedData.getSharedData('checkSMSResponse', false);
let forgetPasswordTokenID = '';
@ -65,11 +111,11 @@ export class ForgotComponent implements OnInit {
}
this.loginData.P_USER_NAME = this.P_USER_NAME;
let request: any = {};
request.P_Confirm_NEW_PASSWORD=this.P_NEW_PASSWORD;
request.P_NEW_PASSWORD=this.P_Confirm_NEW_PASSWORD;
request.P_Confirm_NEW_PASSWORD = this.P_NEW_PASSWORD;
request.P_NEW_PASSWORD = this.P_Confirm_NEW_PASSWORD;
request.P_USER_NAME = data.P_USER_NAME;
request.ForgetPasswordTokenID = forgetPasswordTokenID;
request.ForgetPasswordTokenID = forgetPasswordTokenID;
this.authService.submitForgetPassword(
request,
() => {
@ -78,10 +124,98 @@ export class ForgotComponent implements OnInit {
if (this.cs.validResponse(result)) {
this.checkUserResult = result;
console.log(result);
this.cs.toastPK("changePassword","successChange");
this.cs.toastPK("changePassword", "successChange");
this.cs.openLogin();
}
});
}
checkerFuncation(val) {
if (this.P_NEW_PASSWORD === '') {
switch (val) {
case 1:
return this.isLowerCase.blankImg;
case 2:
return this.isUpperCase.blankImg;
case 3:
return this.isHasDigit.blankImg;
case 4:
return this.isMinLength.blankImg;
case 5:
return this.isRepeatedLetter.blankImg;
case 6:
return this.isContainSpecialChar.blankImg;
case 7:
return this.confirmMatchNew.blankImg;
}
} else {
switch (val) {
case 1:
if (/[a-z]/.test(this.P_NEW_PASSWORD)) {
this.isLowerCase.isMatch = true;
return this.isLowerCase.greenImg;
} else {
this.isLowerCase.isMatch = false;
return this.isLowerCase.blankImg;
}
case 2:
if (/[A-Z]/.test(this.P_NEW_PASSWORD)) {
this.isUpperCase.isMatch = true;
return this.isUpperCase.greenImg;
} else {
this.isUpperCase.isMatch = false;
return this.isUpperCase.blankImg;
}
case 3:
if (/[0-9]/.test(this.P_NEW_PASSWORD)) {
this.isHasDigit.isMatch = true;
return this.isHasDigit.greenImg;
} else {
this.isHasDigit.isMatch = false;
return this.isHasDigit.blankImg;
}
case 4:
if (this.P_NEW_PASSWORD.length >= 8) {
this.isMinLength.isMatch = true;
return this.isMinLength.greenImg;
} else {
this.isMinLength.isMatch = false;
return this.isMinLength.blankImg;
}
case 5:
if (/([a-z])\1/i.test(this.P_NEW_PASSWORD)) {
this.isRepeatedLetter.isMatch = false;
return this.isRepeatedLetter.blankImg;
} else {
this.isRepeatedLetter.isMatch = true;
return this.isRepeatedLetter.greenImg;
}
case 6:
if (/[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/.test(this.P_NEW_PASSWORD)) {
this.isContainSpecialChar.isMatch = true;
return this.isContainSpecialChar.greenImg;
} else {
this.isContainSpecialChar.isMatch = false;
return this.isContainSpecialChar.blankImg;
}
case 7:
if (this.P_NEW_PASSWORD !== this.P_Confirm_NEW_PASSWORD) {
this.confirmMatchNew.isMatch = true;
return this.confirmMatchNew.blankImg;
} else {
this.confirmMatchNew.isMatch = false;
return this.confirmMatchNew.greenImg;
}
}
}
}
disabledSubmitBtn() {
if (this.isLowerCase.isMatch && this.isUpperCase.isMatch && this.isHasDigit.isMatch && this.isMinLength.isMatch
&& this.isRepeatedLetter.isMatch && this.P_NEW_PASSWORD !== '' && this.P_NEW_PASSWORD
&& this.P_Confirm_NEW_PASSWORD && this.isContainSpecialChar) {
return false;
} else { return true; }
}
}

@ -1152,11 +1152,11 @@ export class AddCeiComponent implements OnInit {
} else {
if (
this.validateEitObj[i].APPLICATION_COLUMN_NAME ==
"PEI_OBJECT_VERSION_NUMBER"
"CEI_OBJECT_VERSION_NUMBER"
)
obj.peiObjVer = this.validateEitObj[i].NUMBER_VALUE;
else if (
this.validateEitObj[i].APPLICATION_COLUMN_NAME == "PEI_EXTRA_INFO_ID"
this.validateEitObj[i].APPLICATION_COLUMN_NAME == "CONTACT_EXTRA_INFO_ID"
)
obj.peiExtraInfoID = this.validateEitObj[i].NUMBER_VALUE;
}
@ -1349,60 +1349,60 @@ export class AddCeiComponent implements OnInit {
}
} // end for
// if (this.getPassdirfromNotifiPage) {
// let updatedObj1 = this.validateEitObj.find(
// x => x.APPLICATION_COLUMN_NAME === "PEI_ACTION"
// );
// let updatedObj2 = this.validateEitObj.find(
// x => x.APPLICATION_COLUMN_NAME === "PEI_EXTRA_INFO_ID"
// );
// let updatedObj3 = this.validateEitObj.find(
// x => x.APPLICATION_COLUMN_NAME === "PEI_OBJECT_VERSION_NUMBER"
// );
// this.updatedValues.push(updatedObj1);
// this.updatedValues.push(updatedObj2);
// this.updatedValues.push(updatedObj3);
// valuseArr = this.fillExtraInformation(
// valuseArr,
// updatedObj1.VARCHAR2_VALUE,
// updatedObj2.NUMBER_VALUE,
// updatedObj3.NUMBER_VALUE,
// transNo
// );
// } else {
// if (this.eitSubmitAction == EIT_ACTION.ADD) {
// this.updatedValues = this.fillExtraValuesUpdated(
// this.updatedValues,
// "NEW_ROW",
// -1,
// 0,
// transNo
// );
// valuseArr = this.fillExtraInformation(
// valuseArr,
// "NEW_ROW",
// -1,
// 0,
// transNo
// );
// } else if (this.eitSubmitAction == EIT_ACTION.UPDATE) {
// valuseArr = this.fillExtraInformation(
// valuseArr,
// "UPDATE_ROW",
// this.ExtraObj.peiExtraInfoID,
// this.ExtraObj.peiObjVer,
// transNo
// );
// } else if (this.eitSubmitAction == EIT_ACTION.DELETE) {
// valuseArr = this.fillExtraInformation(
// valuseArr,
// "DELETE_ROW",
// this.ExtraObj.peiExtraInfoID,
// this.ExtraObj.peiObjVer,
// transNo
// );
// }
// }
if (this.getPassdirfromNotifiPage) {
let updatedObj1 = this.validateEitObj.find(
x => x.APPLICATION_COLUMN_NAME === "PEI_ACTION"
);
let updatedObj2 = this.validateEitObj.find(
x => x.APPLICATION_COLUMN_NAME === "CONTACT_EXTRA_INFO_ID"
);
let updatedObj3 = this.validateEitObj.find(
x => x.APPLICATION_COLUMN_NAME === "CEI_OBJECT_VERSION_NUMBER"
);
this.updatedValues.push(updatedObj1);
this.updatedValues.push(updatedObj2);
this.updatedValues.push(updatedObj3);
valuseArr = this.fillExtraInformation(
valuseArr,
updatedObj1.VARCHAR2_VALUE,
updatedObj2.NUMBER_VALUE,
updatedObj3.NUMBER_VALUE,
transNo
);
} else {
if (this.eitSubmitAction == EIT_ACTION.ADD) {
this.updatedValues = this.fillExtraValuesUpdated(
this.updatedValues,
"NEW_ROW",
-1,
0,
transNo
);
valuseArr = this.fillExtraInformation(
valuseArr,
"NEW_ROW",
-1,
0,
transNo
);
} else if (this.eitSubmitAction == EIT_ACTION.UPDATE) {
valuseArr = this.fillExtraInformation(
valuseArr,
"UPDATE_ROW",
this.ExtraObj.peiExtraInfoID,
this.ExtraObj.peiObjVer,
transNo
);
} else if (this.eitSubmitAction == EIT_ACTION.DELETE) {
valuseArr = this.fillExtraInformation(
valuseArr,
"DELETE_ROW",
this.ExtraObj.peiExtraInfoID,
this.ExtraObj.peiObjVer,
transNo
);
}
}
return valuseArr;
} // end getElementsValues
@ -1429,7 +1429,7 @@ export class AddCeiComponent implements OnInit {
};
let obj2 = {
TRANSACTION_NUMBER: 1,
APPLICATION_COLUMN_NAME: "PEI_OBJECT_VERSION_NUMBER",
APPLICATION_COLUMN_NAME: "CEI_OBJECT_VERSION_NUMBER",
VARCHAR2_VALUE: null,
NUMBER_VALUE: peiObjVer,
DATATYPE: "NUMBER",
@ -1442,7 +1442,7 @@ export class AddCeiComponent implements OnInit {
SEGMENT_PROMPT: ""
};
let obj3 = {
APPLICATION_COLUMN_NAME: "PEI_EXTRA_INFO_ID",
APPLICATION_COLUMN_NAME: "CONTACT_EXTRA_INFO_ID",
DATATYPE: "NUMBER",
DATE_VALUE: null,
DESC_FLEX_CONTEXT_CODE: "",
@ -1470,22 +1470,22 @@ export class AddCeiComponent implements OnInit {
values.push({
TRANSACTION_NUMBER: transNo,
NAME: "PEI_ACTION",
VARCHAR2_VALUE: peiAction,
VARCHAR2_VALUE: 'NEW_ROW',
NUMBER_VALUE: null,
DATE_VALUE: null
});
values.push({
TRANSACTION_NUMBER: transNo,
NAME: "PEI_EXTRA_INFO_ID",
NAME: "CONTACT_EXTRA_INFO_ID",
VARCHAR2_VALUE: null,
NUMBER_VALUE: peiExtraInfoID,
NUMBER_VALUE: 0,
DATE_VALUE: null
});
values.push({
TRANSACTION_NUMBER: transNo,
NAME: "PEI_OBJECT_VERSION_NUMBER",
NAME: "CEI_OBJECT_VERSION_NUMBER",
VARCHAR2_VALUE: null,
NUMBER_VALUE: peiObjVer,
NUMBER_VALUE: 0,
DATE_VALUE: null
});
return values;

@ -1,8 +1,13 @@
<app-generic-header
showImage="false"
showBack="true"
[headerText]="'eit,cei' | translate">
</app-generic-header>
<ion-content style="--background: #f5f5f5;">
<div class="head-title">
<app-generic-header showImage="false" showBack="true" [headerText]="'eit,cei' | translate">
</app-generic-header>
</div>
<!-- <div class="head-title">
</div> -->
<div padding>
<ion-radio-group [(ngModel)]="selectedServiceType">
@ -49,9 +54,16 @@
</ion-content>
<ion-footer style="background: #f5f5f5 !important;">
<div class="centerDiv">
<ion-footer class="footer">
<div class="Btn">
<ion-button class="CreateBtn" (click)="gotoTransactionsPage()" >{{'vacation-rule, next-label' | translate}}</ion-button>
</div>
</ion-footer>
<!-- <ion-footer style="background: #f5f5f5 !important;">
<div class="centerDiv" (click)="gotoTransactionsPage()">
<ion-button ion-button style="background: #269db8 !important; --background: #269db8">
{{'vacation-rule, next-label' | translate}}</ion-button>
</div>
</ion-footer>
</ion-footer> -->

@ -0,0 +1,40 @@
@media screen and (min-width: 300px){
.CreateBtn{
--background: var(--newgreen) !important;
background: var(--newgreen) !important;
white-space: normal;
color: var(--light);
text-transform: capitalize;
min-height: 1.0cm;
--border-radius: 7px !important;
border-radius: 7px !important;
--min-height: 1.6cm !important;
width: 315px;
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
}}
@media screen and (min-width: 1px) and (max-width:290px) {
.CreateBtn{
--background: var(--newgreen) !important;
background: var(--newgreen) !important;
white-space: normal;
color: var(--light);
text-transform: capitalize;
min-height: 1.0cm;
--border-radius: 7px !important;
border-radius: 7px !important;
--min-height: 1.6cm !important;
width: 257px;
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
}}
.footer{
padding: 15px 0px;
background-color: var(--light) !important;
border: 0px !important;
box-shadow: none !important;
-webkit-box-shadow: none;
}
.Btn{
margin: auto; text-align: center; display: block;
}

@ -0,0 +1,263 @@
.footer-button {
border-radius: 2px;
padding: 0 1.1em;
min-height: 45px;
min-width: 200px;
}
.imgSize {
width: 22px;
height: 22px;
}
.Header {
font-weight: bold;
color: #1a586d !important;
font-size: 10px;
}
.tbData {
font-size: 10px;
}
.btnBack {
background: transparent;
float: right;
}
.attachmentDiv{
background: #ffffff;
height: auto;
text-align: center;
padding-top: 1px;
margin: 10px;
border-radius: 15px;
border: 1px solid grey;
}
.noDataDiv{
background: #ffffff;
height: 11%;
text-align: center;
padding-top: 1px;
border-radius: 10px;
margin: 10px;
border-radius: 5px;
}
.submitNote{
background: #ffffff;
height: 80px;
padding-top: 1px;
margin: 10px;
border-radius: 15px;
border: 1px solid grey;
}
.approvalList{
--background: #f0efef;
height: auto;
text-align: center;
padding-top: 1px;
border-radius: 10px;
margin: 10px;
border-radius: 5px;
}
/************************New Design**********************************/
.notification-list{
background: none;
background: none;
border-radius: 32px;
ion-item{
// margin-top: 5px;
// margin-bottom: 5px;
background-color: transparent;
.item-date{
width: 100%;
font-size: 16px;
font-weight: bold;
text-align: start;
padding: 0;
margin: 0;
position: absolute;
left: 0;
top: 12%;
}
ion-label , [item-end]{
white-space: normal;
font-size: 14px;
padding-top: 15%;
// :root[dir="ltr"]{
// margin-left: 10px;
// }
// :root[dir="rtl"]{
// margin-right: 10px;
// }
}
}
}
.timeline {
position: relative;
margin: 15px 0 0 0;
// border-bottom: solid 1px var(--cusgray);
}
.timeline:before {
content: '';
position: inherit !important;
top: 0;
bottom: 0;
width: 4px;
// background: #e4e4e4;
z-index: 1;
left: 35px;
/* margin-left: -10px; */
/* z-index: 1; */
}
.timeline .timeline-thumb {
border-radius: 500px;
width: 70px !important;
z-index: 2;
position: absolute;
left: 0px;
// :root[dir="ltr"]{
// left: 37px;
// }
// :root[dir="rtl"]{
// right: 37px;
// }
float: right;
top: 9px;
}
.timeline .timeline-thumb.timeline-icon {
height: 70px;
// text-align: center;
// color: white;
// border: 5px solid #CBD0D3;
// transform: scale(0.2);
}
.timeline .timeline-item {
width: 40px;
}
.timeline .timeline-stats {
position: relative;
font-size: 12px;
color: var(--darkgray);
}
.empImge{
border-radius: 50%;
width:100%;
height: 100%;
border: #dedede solid 1px;
}
.empImgeRep {
border-radius: 50% !important;
width: 80px;
height: 80px;
border: #dedede solid 1px;
}
.line{
padding-bottom:87px;
}
.attachLable{
position: absolute;
top: 0px;
z-index: 0;
background: #30b8c6;
color: #fff;
border-radius: 50%;
border: 0px;
width: 24px;
height: 24px;
text-align: center;
font-size: 5px;
}
.removeLable{
top: 0px;
z-index: 0;
background: #d8252d;
color: #fff;
border-radius: 50%;
border: 0px;
width: 20px;
height: 20px;
text-align: center;
font-size: 5px;
}
.note-modal {
// width: 90%;
// height: 50%;
// top: 20%;
// left: 5%;
// right: 5%;
// bottom: 5%;
background: rgba(0, 0, 0, 0.5) !important;
padding: 30% 10% !important;
--height: 12cm !important;
// --width: 80% !important;
--border-radius:20px;
}
.header-toolbar-new{
--background: #269DB8;
}
.title{
margin-top: -37px;
margin-left: 85px;
}
.title-ar{
margin-top: -37px;
margin-right: 101px;
}
.confirmEitOkButton{
white-space: normal !important;
text-transform: capitalize !important;
min-height: 45px !important;
min-width: 5px !important;
margin: 8px !important;
background-color: #269DB8;
width: 80% !important;
color: white!important;
border-radius: 16px !important;
}
.approvalTitle-ar{
font-weight: bold;
font-size: 16px;
text-align: right;
}
.approvalTitle{
font-weight: bold;
font-size: 16px;
text-align: left;
}

@ -142,7 +142,7 @@ export class AuthenticationService {
} else {
mobileType = 'android';
}
request.VersionID = 3.4;//3.2;
request.VersionID = 3.4;
request.Channel = 31;
request.LanguageID = TranslatorService.getCurrentLanguageCode();
request.MobileType = mobileType;

@ -55,6 +55,13 @@ export class WifiModalComponent implements OnInit {
}, 1000);
}
async getConnectedBSSID(ssid:string){
let avaialbleSSID = await this.wifiWizard2.getConnectedBSSID();
console.log(avaialbleSSID);
}
async startWifiConnection() {
const isAndroid = this.platform.is("android");
const isIOS = this.platform.is("ios");

@ -150,7 +150,7 @@
<ion-col lines="none" size="3" *ngFor="let obj of addAttachRequest">
<div class="image-container">
<div class="uploaded">
<div class="closed" (click)="deletePhoto(item)" *ngIf="!obj.attachmentId">X</div>
<div class="closed" *ngIf="!obj.attachmentId">X</div>
<img [src]="getImgContent('data:image/png;base64, ' +obj.Base64Data) " />
</div>

@ -24,7 +24,7 @@
<p-chart *ngIf="showChart && receivedITGCount" class="today-graph" type="doughnut" [data]="data" [options]="options"></p-chart>
</div>
<ion-row class="filters-row" *ngIf="showChart && receivedITGCount">
<ion-row class="filters-row">
<ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of filters; let i=index" [ngClass]="filter.disable === true ? 'disable-filter' : ''">
<app-card-filter

@ -66,7 +66,7 @@ export class HomeComponent implements OnInit {
public newWorkListResponse = [];
public showFormattedData = [];
public allFormattedData = [];
public selectedFilter = 'ALL';
public selectedFilter = 'HR';
public showSearchButton = false;
public itemType = 'HRSSA';
public receivedITGCount = false;
@ -210,6 +210,7 @@ export class HomeComponent implements OnInit {
this.previousActiveIndex = 0;
this.itemType = 'HRSSA';
this.selectedFilter = 'HR';
this.enableFilters();
this.filters[0].active = true;
this.isPostNoLoad = true;
this.resetData();
@ -229,6 +230,7 @@ export class HomeComponent implements OnInit {
if (this.common.validResponse(result)) {
this.worklistNotifications = result;
this.totalRequestCount = this.worklistNotifications.P_OPEN_NTF_NUMBER;
this.resetFiltersUI();
this.assignDataToFilters();
this.common.sharedService.setSharedData(result, 'worklistNotifications');
this.Details();
@ -282,7 +284,7 @@ export class HomeComponent implements OnInit {
this.WorkListObj.P_SEARCH_SENT_DATE = '';
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = '';
this.WorkListObj.P_PAGE_NUM = 0;
this.WorkListObj.P_PAGE_LIMIT = 5;
this.WorkListObj.P_PAGE_LIMIT = 25;
if (this.infiniteScroll) {
this.infiniteScroll.complete();
@ -525,11 +527,12 @@ export class HomeComponent implements OnInit {
this.data.datasets[0].data[2] = 0;
this.data.datasets[0].data[3] = 0;
this.data.datasets[0].data[5] = 0;
this.data.datasets[0].data[6] = 0;
});
}
openNotificationDetail(obj) {
this.common.sharedService.setSharedData(this.selectedFilter, 'selectedFilter');
this.common.sharedService.setSharedData(this.itemType, 'selectedFilter');
this.common.sharedService.setSharedData(false, 'loadWorkList');
this.common.sharedService.setSharedData(obj, HomeComponent.NOTIFICATION_DATA);
if (obj.REQUEST_TYPE === 'PR') {

@ -37,6 +37,7 @@ export class WorklistMainService {
public static getStampMSNotificationBody = "Services/ERP.svc/REST/GET_STAMP_MS_NOTIFICATION_BODY";
public static getStampNSNotificationBody = "Services/ERP.svc/REST/GET_STAMP_NS_NOTIFICATION_BODY";
public static getAddressNotificationBody = "Services/ERP.svc/REST/GET_ADDRESS_NOTIFICATION_BODY";
public static getCEINotificationBody = "Services/ERP.svc/REST/GET_CEI_NOTIFICATION_BODY";
public static getPOItemHistory = "Services/ERP.svc/REST/GET_PO_ITEM_HISTORY";
public static getMOItemHistory = "Services/ERP.svc/REST/GET_MO_ITEM_HISTORY";
public static getNotificationButtons = "Services/ERP.svc/REST/GET_NOTIFICATION_BUTTONS";
@ -102,6 +103,21 @@ export class WorklistMainService {
);
}
public getCEINotificationBody(
WorkListBodyRequest: any,
onError?: any,
errorLabel?: string
): Observable<MONotificatonBodyResponse> {
const request = WorkListBodyRequest;
this.authService.authenticateRequest(request);
return this.api.post(
WorklistMainService.getCEINotificationBody,
request,
onError,
errorLabel
);
}
public getPRNotificationBody(
WorkListBodyRequest: any,
onError?: any,

@ -273,7 +273,7 @@ export class WorkListMainItgComponent implements OnInit {
} else if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -295,7 +295,7 @@ export class WorkListMainItgComponent implements OnInit {
this.common.presentAlert(this.ts.trPK('general', 'error-itg'));
} else if (result.MessageStatus === 1) {
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = true;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -323,7 +323,7 @@ export class WorkListMainItgComponent implements OnInit {
if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -347,7 +347,7 @@ export class WorkListMainItgComponent implements OnInit {
} else if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -372,7 +372,7 @@ export class WorkListMainItgComponent implements OnInit {
} else if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -400,7 +400,7 @@ export class WorkListMainItgComponent implements OnInit {
} else if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');
@ -429,7 +429,7 @@ export class WorkListMainItgComponent implements OnInit {
} else if (result.MessageStatus === 1) {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.common.sharedService.setSharedData(true, 'loadWorkList');

@ -135,7 +135,17 @@
</ion-list>
<div style="font-weight: bold;" *ngIf="searchKeySelect === '4'">
<div style="font-weight: bold;" *ngIf="searchKeySelect === '4' && !isFavoriteLetterActive">
<ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index">
<div>
<p (click)='selectedLetter(favLetter[i])'>{{filter}}</p>
</div>
</ion-slide>
</ion-slides>
</div>
<div style="font-weight: bold;" *ngIf="searchKeySelect === '4' && isFavoriteLetterActive">
<ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index">
<div [ngClass]="returnIsActiveFunction(i)? 'isFavLetterActive':''">
@ -238,7 +248,7 @@
<!-- favorite list -->
<div [hidden]="isAnswer==true"
*ngIf="favoriteUserList.length> 0 && !userSelected && ReplacementList.length ==0 && searchKeySelect == '4'">
*ngIf="favoriteUserList.length> 0 && !userSelected && ReplacementList.length ==0 && searchKeySelect == '4' && isFavoriteLetterActive">
<div class="uk-margin">
{{'replacementRoll, favorite' | translate}}
</div>
@ -269,6 +279,21 @@
</div>
</div>
<div *ngIf="favLetter.length > 0 && searchKeySelect == '4' && favoriteUserList.length === 0">
<ion-label>
<p style="text-align: center;">
{{'general, fav-showData' | translate}}
</p>
</ion-label>
</div>
<div *ngIf="favoriteUserList.length === 0 && searchKeySelect == '4' && favLetter.length ===0">
<ion-label>
<p style="text-align: center;">
{{'general, fav-noData' | translate}}
</p>
</ion-label>
</div>
<div *ngIf='messageSuccess' class="succssfullMSG">
<ion-col size="12">
<ion-icon class="succssfullIcon" name="checkmark"></ion-icon>

@ -40,6 +40,7 @@ export class WorkListReplacementItgComponent implements OnInit {
public direction = '';
arr = [];
delegtedEmp;
isFavoriteLetterActive = false;
public slideOptsOne = {
slidesPerView: 6,
@ -341,7 +342,7 @@ export class WorkListReplacementItgComponent implements OnInit {
this.favLetter.forEach((obj, index) => {
if(this.activeSelectedLetter) {}
if (index === 0) {
this.selectedLetter(obj);
// this.selectedLetter(obj);
this.favIsActive.push(true);
} else {
this.favIsActive.push(false);
@ -412,6 +413,7 @@ export class WorkListReplacementItgComponent implements OnInit {
}
selectedLetter(el) {
this.isFavoriteLetterActive = true;
this.favLetter.forEach((letter, index) => {
if (letter === el) {
this.favIsActive[index] = true;

@ -85,7 +85,17 @@
</ion-list>
<div style="font-weight: bold;" *ngIf="searchBy === '4'">
<div style="font-weight: bold;" *ngIf="searchBy === '4' && !isFavoriteLetterActive">
<ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index">
<div>
<p (click)='selectedLetter(favLetter[i])'>{{filter}}</p>
</div>
</ion-slide>
</ion-slides>
</div>
<div style="font-weight: bold;" *ngIf="searchBy === '4' && isFavoriteLetterActive">
<ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index">
<div [ngClass]="returnIsActiveFunction(i)? 'isFavLetterActive':''">
@ -170,10 +180,18 @@
</div>
</div>
</div>
<div *ngIf="favoriteUserList.length === 0 && searchBy == '4'">
<div *ngIf="favLetter.length > 0 && searchBy == '4' && favoriteUserList.length === 0">
<ion-label>
<p style="text-align: center;">
{{'general, fav-showData' | translate}}
</p>
</ion-label>
</div>
<div *ngIf="favoriteUserList.length === 0 && searchBy == '4' && favLetter.length ===0">
<ion-label>
<p style="text-align: center;">
Sorry there is no data
{{'general, fav-noData' | translate}}
</p>
</ion-label>
</div>

@ -49,13 +49,14 @@ export class WorkListReplacementRollComponent implements OnInit {
arr = [];
favoriteUserList: any = [];
isFilter = true;
isFavoriteLetterActive = false;
public slideOptsOne = {
slidesPerView: 6,
spaceBetween: 5
};
public activeSelectedLetter:string;
public activeSelectedLetter: string;
constructor(public worklistService: WorklistService, private cs: CommonService, public ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) {
this.P_PAGE_NUM = 1;
@ -464,7 +465,7 @@ export class WorkListReplacementRollComponent implements OnInit {
// if (this.favoriteUserList.length === 0 || this.favoriteUserList === undefined) {
this.getFavruite();
// }
this.isFilter = true;
this.isFilter = true;
this.selectedType = 4;
} else if (selectValue === '2' || selectValue === '3' || selectValue === '5') {
this.isSelect = true;
@ -520,158 +521,156 @@ export class WorkListReplacementRollComponent implements OnInit {
this.favLetter = this.favLetter.filter((elem, index, self) => {
return index === self.indexOf(elem);
});
if (this.activeSelectedLetter) {
this.selectedLetter(this.activeSelectedLetter);
} else {
this.favLetter.forEach((obj, index) => {
if(this.activeSelectedLetter) {}
if (index === 0) {
this.selectedLetter(obj);
this.favIsActive.push(true);
} else {
this.favIsActive.push(false);
}
});
}
console.log(this.favLetter);
console.log(this.favIsActive);
}
this.favLetter.forEach((obj, index) => {
if (this.activeSelectedLetter) { }
if (index === 0) {
// this.selectedLetter(obj);
this.favIsActive.push(true);
} else {
this.favIsActive.push(false);
}
});
console.log(this.favLetter);
console.log(this.favIsActive);
}
});
// this.worklistService.getFavorite({}, () => {
// }).subscribe((result) => {
// if (this.cs.validResponse(result)) {
// this.cs.stopLoading();
// this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList'];
// this.listOfFav = this.favoriteUserList;
// this.favoriteUserList.forEach((obj) => {
// obj.IsFavorite = true;
// });
// }
// });
}
// this.worklistService.getFavorite({}, () => {
// }).subscribe((result) => {
// if (this.cs.validResponse(result)) {
// this.cs.stopLoading();
// this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList'];
// this.listOfFav = this.favoriteUserList;
// this.favoriteUserList.forEach((obj) => {
// obj.IsFavorite = true;
// });
// }
// });
}
saveUserFavruiteList(request, isFav: boolean) {
this.worklistService.saveFavoriteList(request, () => {
}).subscribe((result) => {
if (this.cs.validResponse(result)) {
if (isFav) {
this.cs.greenToastPK("replacementRoll", "favorite-saved");
} else {
this.cs.redToastPK("replacementRoll", "favorite-unsaved");
}
this.getFavruite();
saveUserFavruiteList(request, isFav: boolean) {
this.worklistService.saveFavoriteList(request, () => {
}).subscribe((result) => {
if (this.cs.validResponse(result)) {
if (isFav) {
this.cs.greenToastPK("replacementRoll", "favorite-saved");
} else {
this.cs.redToastPK("replacementRoll", "favorite-unsaved");
}
});
}
this.getFavruite();
}
});
}
setFavorite(selEmp) {
selEmp.EMPLOYEE_DISPLAY_NAME = selEmp.EMPLOYEE_DISPLAY_NAME ? selEmp.EMPLOYEE_DISPLAY_NAME : selEmp.NAME;
selEmp.EMPLOYEE_IMAGE = selEmp.EMPLOYEE_IMAGE ? selEmp.EMPLOYEE_IMAGE : '';
selEmp.EMAIL_ADDRESS = selEmp.EMAIL_ADDRESS ? selEmp.EMAIL_ADDRESS : '';
selEmp.IsFavorite = !selEmp.IsFavorite;
let confirmBoxhtml = `<div>
setFavorite(selEmp) {
selEmp.EMPLOYEE_DISPLAY_NAME = selEmp.EMPLOYEE_DISPLAY_NAME ? selEmp.EMPLOYEE_DISPLAY_NAME : selEmp.NAME;
selEmp.EMPLOYEE_IMAGE = selEmp.EMPLOYEE_IMAGE ? selEmp.EMPLOYEE_IMAGE : '';
selEmp.EMAIL_ADDRESS = selEmp.EMAIL_ADDRESS ? selEmp.EMAIL_ADDRESS : '';
selEmp.IsFavorite = !selEmp.IsFavorite;
let confirmBoxhtml = `<div>
<h4>Do you want to add ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` in your favorite list </h4>
<br/>
<br/>
<div class="fav-profileImageDiv"><ion-row>`;
if (selEmp.EMPLOYEE_IMAGE) {
confirmBoxhtml += '<div class="img-box"><img class="empImgeRep" src="data:image/png;base64,' + selEmp.EMPLOYEE_IMAGE + '"></div>';
}
if (!selEmp.EMPLOYEE_IMAGE) {
confirmBoxhtml += '<div class="img-box"><img class="empImgeRep" src="../assets/imgs/profile.png"></div>';
}
if (selEmp.EMPLOYEE_IMAGE) {
confirmBoxhtml += '<div class="img-box"><img class="empImgeRep" src="data:image/png;base64,' + selEmp.EMPLOYEE_IMAGE + '"></div>';
}
if (!selEmp.EMPLOYEE_IMAGE) {
confirmBoxhtml += '<div class="img-box"><img class="empImgeRep" src="../assets/imgs/profile.png"></div>';
}
confirmBoxhtml += ` <div class="name-box"><ion-label class="fav-employee-details">
confirmBoxhtml += ` <div class="name-box"><ion-label class="fav-employee-details">
<span>` + selEmp.EMPLOYEE_DISPLAY_NAME + `</span>
</ion-label>
</div></ion-row> </div>
</div>`;
const userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] === selEmp.USER_NAME)
if (userIndex === -1) {
this.cs.presentConfirmDialog(
confirmBoxhtml
, () => {
const request =
[
{
'USER_NAME': selEmp['USER_NAME'],
'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'],
'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS,
'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE,
'IsFavorite': selEmp.IsFavorite
}
];
this.saveUserFavruiteList(request, selEmp.IsFavorite);
}, () => { });
} else {
const request =
[
{
'USER_NAME': selEmp['USER_NAME'],
'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'],
'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS,
'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE,
'IsFavorite': false
}
];
this.saveUserFavruiteList(request, false);
}
const userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] === selEmp.USER_NAME)
if (userIndex === -1) {
this.cs.presentConfirmDialog(
confirmBoxhtml
, () => {
const request =
[
{
'USER_NAME': selEmp['USER_NAME'],
'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'],
'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS,
'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE,
'IsFavorite': selEmp.IsFavorite
}
];
this.saveUserFavruiteList(request, selEmp.IsFavorite);
}, () => { });
} else {
const request =
[
{
'USER_NAME': selEmp['USER_NAME'],
'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'],
'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS,
'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE,
'IsFavorite': false
}
];
this.saveUserFavruiteList(request, false);
}
}
listOfRealted: any = [];
listOfFav: any = [];
listOfRealted: any = [];
listOfFav: any = [];
filterList(event) {
const val = event.target.value;
if (this.selectedType === 1) {
if (val === '') {
this.actionHistory = this.listOfRealted;
} else {
this.actionHistory = this.listOfRealted.filter((item) => {
return (item.NAME.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
} else if (this.selectedType === 4) {
if (val === '') {
this.favoriteUserList = this.listOfFav;
} else {
this.favoriteUserList = this.listOfFav.filter((item) => {
return (item.EMPLOYEE_DISPLAY_NAME.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
filterList(event) {
const val = event.target.value;
if (this.selectedType === 1) {
if (val === '') {
this.actionHistory = this.listOfRealted;
} else {
this.actionHistory = this.listOfRealted.filter((item) => {
return (item.NAME.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
} else if (this.selectedType === 4) {
if (val === '') {
this.favoriteUserList = this.listOfFav;
} else {
return;
this.favoriteUserList = this.listOfFav.filter((item) => {
return (item.EMPLOYEE_DISPLAY_NAME.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
} else {
return;
}
}
selectedLetter(el) {
this.favLetter.forEach((letter, index) => {
if (letter === el) {
this.favIsActive[index] = true;
this.activeSelectedLetter = el;
this.worklistService.getFavoriteByLetter(letter,() => {
}).subscribe((result) => {
if (this.cs.validResponse(result)) {
this.cs.stopLoading();
this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList'];
this.listOfFav = this.favoriteUserList;
this.favoriteUserList.forEach((obj) => {
obj.IsFavorite = true;
});
}
});
} else {
this.favIsActive[index] = false;
}
});
}
selectedLetter(el) {
this.isFavoriteLetterActive = true;
this.favLetter.forEach((letter, index) => {
if (letter === el) {
this.favIsActive[index] = true;
this.activeSelectedLetter = el;
this.worklistService.getFavoriteByLetter(letter, () => {
}).subscribe((result) => {
if (this.cs.validResponse(result)) {
this.cs.stopLoading();
this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList'];
this.listOfFav = this.favoriteUserList;
this.favoriteUserList.forEach((obj) => {
obj.IsFavorite = true;
});
}
});
} else {
this.favIsActive[index] = false;
}
});
}
returnIsActiveFunction(i) {
return this.favIsActive[i];
}
returnIsActiveFunction(i) {
return this.favIsActive[i];
}
}

@ -428,7 +428,7 @@ export class WorklistMainIcComponent implements OnInit {
if (result.MessageStatus == 1) {
this.common.sharedService.setSharedData(true, 'loadWorkList');
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
// this.openNotificationsDashboard();
@ -1214,7 +1214,7 @@ export class WorklistMainIcComponent implements OnInit {
} else if (data.data.data == "Success") {
// this.openNotificationsDashboard();
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.nextNotfification();

@ -369,7 +369,7 @@ export class WorklistMainMRComponent implements OnInit {
if (result.MessageStatus == 1) {
this.common.sharedService.setSharedData(true, 'loadWorkList');
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
// this.openNotificationsDashboard();
@ -1115,7 +1115,7 @@ export class WorklistMainMRComponent implements OnInit {
} else if (data.data.data == 'Success') {
// this.openNotificationsDashboard();
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.nextNotfification();

@ -405,7 +405,7 @@ export class WorklistMainPoComponent implements OnInit {
if (result.MessageStatus == 1) {
this.common.sharedService.setSharedData(true, 'loadWorkList');
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
// this.openNotificationsDashboard();
@ -1182,7 +1182,7 @@ export class WorklistMainPoComponent implements OnInit {
if (data.data.data === 'cancel' || data.data.data === undefined) {
return;
} else if (data.data.data === 'Success') {
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
this.nextNotfification();
}, 2000);

@ -394,7 +394,7 @@ export class WorklistMainPRComponent implements OnInit {
// tslint:disable-next-line: triple-equals
if (result.MessageStatus == 1) {
this.common.sharedService.setSharedData(true, 'loadWorkList');
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
// show succsfull popup
// this.messageSuccess = true;
// setTimeout(() => {
@ -1115,7 +1115,7 @@ export class WorklistMainPRComponent implements OnInit {
} else if (data.data.data == 'Success') {
// this.openNotificationsDashboard();
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.nextNotfification();

@ -51,7 +51,8 @@
getPassNotificationDetails?.REQUEST_TYPE != 'BASIC_DETAILS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'CONTACT' &&
getPassNotificationDetails?.REQUEST_TYPE != 'PHONE_NUMBERS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION'">
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION' &&
getPassNotificationDetails?.REQUEST_TYPE != 'CEI'">
<div *ngIf="showInformation">
<p>{{'worklist, loading'| translate}} <img style="width: 3%;"
@ -299,7 +300,8 @@
getPassNotificationDetails?.REQUEST_TYPE == 'ADDRESS' ||
getPassNotificationDetails?.REQUEST_TYPE == 'CONTACT' &&
getPassNotificationDetails?.REQUEST_TYPE != 'PHONE_NUMBERS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION'">
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION' &&
getPassNotificationDetails?.REQUEST_TYPE != 'CEI'">
<div *ngIf="showInformation">
<p>{{'worklist, loading'| translate}} <img style="width: 3%;"
src="../assets/icon/progress-loading.gif" /></p>
@ -348,7 +350,8 @@
<ion-col *ngIf="getPassNotificationDetails?.REQUEST_TYPE != 'BASIC_DETAILS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'ADDRESS' &&
getPassNotificationDetails?.REQUEST_TYPE == 'PHONE_NUMBERS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION'">
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION' &&
getPassNotificationDetails?.REQUEST_TYPE != 'CEI'">
<div *ngIf="showInformation">
<p>{{'worklist, loading'| translate}} <img style="width: 3%;"
src="../assets/icon/progress-loading.gif" /></p>
@ -378,7 +381,40 @@
<ion-col *ngIf="getPassNotificationDetails?.REQUEST_TYPE != 'BASIC_DETAILS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'ADDRESS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'PHONE_NUMBERS' &&
getPassNotificationDetails?.REQUEST_TYPE == 'TERMINATION'">
getPassNotificationDetails?.REQUEST_TYPE == 'TERMINATION' &&
getPassNotificationDetails?.REQUEST_TYPE != 'CEI'">
<div *ngIf="showInformation">
<p>{{'worklist, loading'| translate}} <img style="width: 3%;"
src="../assets/icon/progress-loading.gif" /></p>
</div>
<div class="no-data-div" *ngIf="notificationBodyRes?.length === 0 && !showInformation">
<p>{{ 'general, empty' | translate}}</p>
</div>
<div *ngIf='notificationBodyRes.length > 0'>
<ion-card style="width: 91%;">
<ion-card-content>
<div>
<ion-row *ngFor="let item of notificationBodyRes;let i=index;">
<ion-col class="rowBorder" [hidden]="item.UPDATED_FLAG == 'N'">
<label class="colItemReq">{{item.SEGMENT_PROMPT}}</label>
<br />
<label>{{item.SEGMENT_VALUE_DSP}}</label>
</ion-col>
</ion-row>
</div>
</ion-card-content>
</ion-card>
</div>
</ion-col>
<!-- IF CEI -->
<ion-col *ngIf =
"getPassNotificationDetails?.REQUEST_TYPE != 'BASIC_DETAILS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'ADDRESS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'PHONE_NUMBERS' &&
getPassNotificationDetails?.REQUEST_TYPE != 'TERMINATION' &&
getPassNotificationDetails?.REQUEST_TYPE == 'CEI'">
<div *ngIf="showInformation">
<p>{{'worklist, loading'| translate}} <img style="width: 3%;"
src="../assets/icon/progress-loading.gif" /></p>

@ -148,6 +148,7 @@ export class WorklistMainComponent implements OnInit {
false
);
this.selectedFilter = this.common.sharedService.getSharedData('selectedFilter', false);
console.log(this.selectedFilter);
if (this.selEmp) { } else {
this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => {
if (user) {
@ -224,7 +225,8 @@ export class WorklistMainComponent implements OnInit {
false
);
console.log(this.selectedFilter);
if (this.selectedFilter === 'HRSSA') {
if (this.selectedFilter === 'HRSSA' || this.selectedFilter === 'STAMP') {
console.log("ENAD")
this.arr_hr_req_only = [];
this.sortRequests();
}
@ -294,6 +296,8 @@ export class WorklistMainComponent implements OnInit {
this.getPhoneNotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE === 'CONTACT') {
this.getContactNotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE === 'CEI') {
this.getCEINotification(this.WorkListBodyObj);
}
}
@ -352,6 +356,14 @@ export class WorklistMainComponent implements OnInit {
});
}
getCEINotification(notificationBodyObj) {
this.worklistMainService
.getCEINotificationBody(notificationBodyObj)
.subscribe((result: MONotificatonBodyResponse) => {
this.handleWorkListBodyResult(result, "CEI");
});
}
getPRNotificationDetails(notificationBodyObj) {
this.worklistMainService
.getPRNotificationBody(notificationBodyObj)
@ -436,6 +448,12 @@ export class WorklistMainComponent implements OnInit {
result.GetBasicDetNtfBodyList;
console.log(result);
}
} else if (Type === "CEI"){
if (result.GetCEICollectionNotificationBodyList) {
this.notificationBodyRes =
result.GetCEICollectionNotificationBodyList[0].Collection_Notification;
console.log(result.GetCEICollectionNotificationBodyList[0].Collection_Notification);
}
}
else if (Type === "STAMP_MS"){
if (result.GetStampMsNotificationBodyList) {
@ -541,7 +559,7 @@ export class WorklistMainComponent implements OnInit {
// }
// }
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
// this.openNotificationsDashboard();
@ -1124,7 +1142,7 @@ export class WorklistMainComponent implements OnInit {
return;
} else if (data.data.data == "Success") {
// this.messageSuccess = true;
this.common.greenToastPK('worklist', 'save-successfully');
this.common.greenToastPK('worklist', 'done-successfully');
setTimeout(() => {
// this.messageSuccess = false;
this.nextNotfification();
@ -1218,7 +1236,7 @@ export class WorklistMainComponent implements OnInit {
}
sortRequests() {
for (let i = 0; i < this.notificationArray.length; i++) {
if (this.notificationArray[i].ITEM_TYPE === 'HRSSA') {
if (this.notificationArray[i].ITEM_TYPE === 'HRSSA' || this.notificationArray[i].ITEM_TYPE === 'STAMP') {
this.arr_hr_req_only.push(this.notificationArray[i]);
}
}

@ -45,7 +45,7 @@
<ion-label>{{ 'general,to-date' | translate}}</ion-label>
<ion-datetime
[placeholder]="Select"
placeholder="Select"
display-format="DD/MM/YYYY"
[min]="1900"
[max]="2100"

@ -81,7 +81,7 @@ export class AddUpdateContactComponent implements OnInit {
constructor(
public modalController: ModalController,
public cs: CommonService,
private ts: TranslatorService,
public ts: TranslatorService,
private profileService: ProfileService,
public datePicker: DatePicker,
public router: ActivatedRoute

@ -1171,12 +1171,16 @@ $actionBtnSize: 36px;
// width: 89%;
// left: 10px;
width: 90%;
left: 0px;
left: 5%;
padding-left: 0px;
margin-left: 0px;
}
.card-size-info-ar{
width: 90%;
right: 2%;
right: 5%;
padding-right: 0px;
margin-left: 0px;
}
// .header-label-text-form{

@ -37,21 +37,6 @@
</ion-row>
</div>
<!-- <div>
<div *ngFor="let data of performanceData">
<ion-row class="gridvalue">
<ion-col >
<div class="performancecolor" [style.background]="data.color"></div>
<br>
<label class="label"> Your Performance In </label>
<label class="labelvalue"> {{data.value}} </label>
<label class="label"> {{data.name}} </label>
</ion-col>
</ion-row>
</div>
</div> -->
<!-- class="gridvalue" -->
<!-- ///// -->
<div>
<div *ngIf="performanceData">

@ -74,7 +74,8 @@
margin-top: 5px;
margin-bottom: 10px;
text-align: center;
margin-left: 74px;
// margin-left: 74px;
width: 100%;
}
.Text-ar{
margin: 0;
@ -167,9 +168,9 @@
}
.gauge{
transform: translate(-24px, -65px);
margin-bottom: -187px;
margin-top: -20px;
// transform: translate(-24px, -65px);
margin-bottom: -140px;
margin-top: -70px;
}
.gauge-ar{

@ -209,6 +209,14 @@
}
},
"general": {
"fav-showData": {
"en": "Please select an alphabet to see your favourites",
"ar": "الرجاء تحديد الأبجدية لرؤية المفضلة لديك"
},
"fav-noData": {
"en": "No data available for favourites",
"ar": "لا توجد بيانات متاحة للمفضلة"
},
"concurrent-report": {
"en": "Concurrent Report",
"ar": "تقرير متزامن"
@ -2619,6 +2627,10 @@
"ar": "تم حفظ التغيير بنجاح",
"en": "Your change has been saved successfully"
},
"done-successfully": {
"ar": "تم تنفيذ الإجراء الخاص بك بنجاح!",
"en": "Your action has been executed successfully!"
},
"save-error": {
"ar": "هناك شئ خاطئ، يرجى المحاولة فى وقت لاحق",
"en": "Something went wrong please try again later"

Loading…
Cancel
Save