jun 28 release Mohemm CS

MOHEMM-Q3-DEV-LATEST
umasoodch 4 years ago
parent d67d3fcab9
commit b510d9da7b

@ -61,8 +61,7 @@
</ion-label> </ion-label>
</ion-item> </ion-item>
<div *ngFor="let menu of menuList"> <div *ngFor="let menu of menuList">
<ion-item (click)="oepnMyRequest(menu)" *ngIf="menu.REQUEST_GROUP_NAME =='MBL_RG_01'">
<ion-item (click)="oepnMyRequest(menu)" *ngIf="menu.REQUEST_GROUP_NAME =='MBL_RG_01' && menu.MENU_TYPE =='E'">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 20px !important;" src="../assets/imgs/my-request.png" item-left> <img style= "height: 20px !important;" src="../assets/imgs/my-request.png" item-left>
</ion-thumbnail> </ion-thumbnail>
@ -184,8 +183,7 @@
</ion-label> </ion-label>
</ion-item> </ion-item>
<div *ngFor="let menu of menuList"> <div *ngFor="let menu of menuList">
<ion-item (click)="oepnMyRequest(menu)" *ngIf="menu.REQUEST_GROUP_NAME =='MBL_RG_01'">
<ion-item (click)="oepnMyRequest(menu)" *ngIf="menu.REQUEST_GROUP_NAME =='MBL_RG_01' && menu.MENU_TYPE =='E'">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 20px !important;" src="../assets/imgs/my-request.png" item-left> <img style= "height: 20px !important;" src="../assets/imgs/my-request.png" item-left>
</ion-thumbnail> </ion-thumbnail>

@ -357,7 +357,8 @@ export class AppComponent implements OnInit {
} }
oepnMyRequest(menu) { oepnMyRequest(menu) {
this.cs.sharedService.setSharedData(menu, MenuResponse.SELECTED_MENU); this.cs.sharedService.setSharedData(menu, MenuResponse.SELECTED_MENU);
this.cs.openConcurrentReport(); // this.cs.openConcurrentReport();
this.cs.openConcurrentTransactionsHome();
this.menu.toggle(); this.menu.toggle();
} }
oepnTransaction() { oepnTransaction() {

@ -1,5 +1,5 @@
<ion-content style="--background: white;"> <ion-content style="--background: white;" class="biggerPhone">
<div> <div class="rocket-image">
<img src="assets/icon/update_rocket_image.png" style="width: 100%;" /> <img src="assets/icon/update_rocket_image.png" style="width: 100%;" />
</div> </div>
<div style="text-align: center;"> <div style="text-align: center;">

@ -0,0 +1,10 @@
@media only screen and (min-width: 540px) and (max-width: 767px) {
.biggerPhone {
.rocket-image {
img {
height: 350px;
}
}
}
}

@ -34,7 +34,7 @@ export class AttendScanService {
userData: any = {}; userData: any = {};
public isFakeLocationUsed = false; public isFakeLocationUsed = false;
public isGpsRequired = false; public isGpsRequired = false;
public collection = 'HMG'; public collection = 'CS';
constructor(private device: Device, constructor(private device: Device,
private zbar: ZBar, private zbar: ZBar,

@ -145,8 +145,8 @@ export class AuthenticationService {
} else { } else {
mobileType = 'android'; mobileType = 'android';
} }
request.VersionID = 3.6; request.VersionID = 3.7;
request.Channel = 33; request.Channel = 31;
request.LanguageID = TranslatorService.getCurrentLanguageCode(); request.LanguageID = TranslatorService.getCurrentLanguageCode();
request.MobileType = mobileType; request.MobileType = mobileType;
@ -228,7 +228,7 @@ export class AuthenticationService {
public login(request: LoginRequest, onError: any, errorLabel: string): Observable<Response> { public login(request: LoginRequest, onError: any, errorLabel: string): Observable<Response> {
this.setPublicFields(request); this.setPublicFields(request);
request.P_APP_VERSION = "HMG"; request.P_APP_VERSION = "CS";
return this.con.post(AuthenticationService.login, request, onError, errorLabel); return this.con.post(AuthenticationService.login, request, onError, errorLabel);
} }
@ -485,7 +485,7 @@ export class AuthenticationService {
public checkUserAuthentication(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) public checkUserAuthentication(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string)
: Observable<CheckUserAuthenticationResponse> { : Observable<CheckUserAuthenticationResponse> {
this.setPublicFields(request); this.setPublicFields(request);
request.P_APP_VERSION = "HMG"; request.P_APP_VERSION = "CS";
return this.con.post(AuthenticationService.userChecking, request, onError, errorLabel); return this.con.post(AuthenticationService.userChecking, request, onError, errorLabel);
} }
@ -495,7 +495,7 @@ export class AuthenticationService {
return this.con.post(AuthenticationService.activationCodeURL, request, onError, errorLabel); return this.con.post(AuthenticationService.activationCodeURL, request, onError, errorLabel);
} }
public checkSMS(request: SMSCheckRequest, onError: any, errorLabel: string, fromSMS = false ) public checkSMS(request: SMSCheckRequest, onError: any, errorLabel: string, fromSMS = false)
: Observable<SMSCheckResponse> { : Observable<SMSCheckResponse> {
this.setPublicFields(request); this.setPublicFields(request);
return this.con.post(AuthenticationService.smsCheck, request, onError, errorLabel, fromSMS); return this.con.post(AuthenticationService.smsCheck, request, onError, errorLabel, fromSMS);

@ -1358,6 +1358,10 @@ export class CommonService {
this.nav.navigateForward(['/reports/transaction-list']); this.nav.navigateForward(['/reports/transaction-list']);
} }
public openConcurrentTransactionsHome() {
this.nav.navigateForward(['/reports/transactions']);
}
public openTermination() { public openTermination() {
this.nav.navigateForward(['/termination/termination-form']); this.nav.navigateForward(['/termination/termination-form']);

@ -427,6 +427,8 @@ export class HomePage implements OnInit {
if (this.menuList[i].MENU_TYPE === 'M') { if (this.menuList[i].MENU_TYPE === 'M') {
this.events.publish('myTeamFlag', 'true'); this.events.publish('myTeamFlag', 'true');
// this.common.sharedService.setSharedData('true', "myTeamFlag"); // this.common.sharedService.setSharedData('true', "myTeamFlag");
} else {
this.events.publish('myTeamFlag', 'false');
} }
} }

@ -301,15 +301,6 @@ export class HomeComponent implements OnInit {
return { AttachmentID: this.indexLastObj, FileName: res.name, Base64Data: res.data.split(",")[1], ContentType: 'image/' + attachType }; return { AttachmentID: this.indexLastObj, FileName: res.name, Base64Data: res.data.split(",")[1], ContentType: 'image/' + attachType };
}); });
} catch (e) { } } catch (e) { }
} }
} }

@ -35,7 +35,7 @@ export class HrRequestFormComponent implements OnInit {
public searchKeySelect = 'Complaints'; public searchKeySelect = 'Complaints';
myColor: string = 'secondary'; myColor: string = 'secondary';
public showRequestDetails = false; public showRequestDetails = false;
public proID = "HMG" public proID = "CS"
public inquiry: string; public inquiry: string;
public HR: string; public HR: string;
public complaints: string; public complaints: string;

@ -100,8 +100,8 @@
</div> </div>
</div> </div>
</div> </div>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)" *ngIf="itemType !== ''"> <ion-infinite-scroll (ionInfinite)="doInfinite($event)" *ngIf="itemType !== '' && worklistLength >= 25">
<ion-infinite-scroll-content></ion-infinite-scroll-content> <ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> </ion-infinite-scroll>
</ion-content> </ion-content>

@ -80,6 +80,7 @@ export class HomeComponent implements OnInit {
public totalMR = 0; public totalMR = 0;
public totalIC = 0; public totalIC = 0;
public totalStamp = 0; public totalStamp = 0;
public worklistLength = 0;
public showChart = false; public showChart = false;
@ -423,6 +424,7 @@ export class HomeComponent implements OnInit {
} }
this.WorklistService.getWorkList(this.WorkListObj, '', '', this.isPostNoLoad).subscribe((result) => { this.WorklistService.getWorkList(this.WorkListObj, '', '', this.isPostNoLoad).subscribe((result) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.worklistLength = result.GetWorkList.length;
this.handleWorkListResult(result.GetWorkList); this.handleWorkListResult(result.GetWorkList);
} }
} }
@ -589,6 +591,7 @@ export class HomeComponent implements OnInit {
if (!this.isReachEnd && this.selectedFilter !== 'ITG') { if (!this.isReachEnd && this.selectedFilter !== 'ITG') {
this.WorklistService.getWorkList(this.WorkListObj, '', '', this.isPostNoLoad).subscribe((result) => { this.WorklistService.getWorkList(this.WorkListObj, '', '', this.isPostNoLoad).subscribe((result) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.worklistLength = result.GetWorkList.length;
this.handleWorkListResult(result.GetWorkList); this.handleWorkListResult(result.GetWorkList);
} }
}); });

@ -170,6 +170,10 @@
</ion-list> </ion-list>
<div class="square-selected" *ngIf="searchKey"><div class="profileImageDiv">
<ion-label class="employee-details sc-ion-label-ios-h sc-ion-label-ios-s ios hydrated"><span>{{searchKey}}</span></ion-label>
<div class="star-fav" ><img src="assets/imgs/close.svg" (click)="resetSelected()"></div></div></div>
<!-- <div style="font-weight: bold;" *ngIf="searchKeySelect === '4' && !isFavoriteLetterActive"> <!-- <div style="font-weight: bold;" *ngIf="searchKeySelect === '4' && !isFavoriteLetterActive">
<ion-slides [options]="slideOptsOne"> <ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index"> <ion-slide *ngFor="let filter of favLetter; let i=index">

@ -7,34 +7,42 @@
position: relative; position: relative;
bottom: 4px; bottom: 4px;
} }
ion-radio { ion-radio {
--color-checked: #269db8; --color-checked: #269db8;
} }
.center { .center {
text-align: center; text-align: center;
} }
.boldTxtNav { .boldTxtNav {
text-align: start; text-align: start;
font-weight: bold; font-weight: bold;
padding: 12px; padding: 12px;
} }
.employee-details { .employee-details {
display: inline-block; display: inline-block;
margin: 10px; margin: 10px;
} }
.empImgeRep { .empImgeRep {
display: inline-block; display: inline-block;
height: 40px; height: 40px;
width: 40px; width: 40px;
} }
.star-fav { .star-fav {
float: right; float: right;
margin: 10px; margin: 10px;
} }
.star-fav-left { .star-fav-left {
float: left; float: left;
margin: 10px 5px; margin: 10px 5px;
} }
.uk-margin { .uk-margin {
margin: 15px 15px 0px 15px; margin: 15px 15px 0px 15px;
font-weight: bold; font-weight: bold;
@ -42,9 +50,11 @@ ion-radio {
position: relative; position: relative;
top: 10px; top: 10px;
} }
.uk-padding { .uk-padding {
padding: 20px; padding: 20px;
} }
.uk-padding .employee-details { .uk-padding .employee-details {
bottom: 10px; bottom: 10px;
position: relative; position: relative;
@ -55,18 +65,22 @@ ion-radio {
border-radius: 21px; border-radius: 21px;
padding-left: 10px !important; padding-left: 10px !important;
} }
.filterInput-ar { .filterInput-ar {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
--padding-start: 10px !important; --padding-start: 10px !important;
} }
.square-container { .square-container {
width: 100%; width: 100%;
clear: both; clear: both;
} }
.square { .square {
clear: both; clear: both;
} }
.top-radio-row { .top-radio-row {
font-size: 12px; font-size: 12px;
} }
@ -104,6 +118,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
position: relative; position: relative;
top: 0; top: 0;
} }
.profileImage { .profileImage {
width: 60px !important; width: 60px !important;
} }
@ -111,9 +126,11 @@ button.item-button.button.button-md.button-clear.button-clear-md {
.activated { .activated {
border: #209a83 0.02cm solid; border: #209a83 0.02cm solid;
} }
.deactivated { .deactivated {
border: #e4e4e4 0.02cm solid; border: #e4e4e4 0.02cm solid;
} }
.repContentDiv { .repContentDiv {
text-align: center; text-align: center;
width: 85%; width: 85%;
@ -124,6 +141,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
margin-top: -9px; margin-top: -9px;
margin-right: -35px; margin-right: -35px;
} }
.selIEmpDiv { .selIEmpDiv {
text-align: right; text-align: right;
margin-bottom: -26px; margin-bottom: -26px;
@ -143,6 +161,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
margin: 8px 17px 0px 17px; margin: 8px 17px 0px 17px;
padding: 10px 2px 10px 2px; padding: 10px 2px 10px 2px;
} }
.filterInput { .filterInput {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
@ -161,6 +180,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// padding-right: 129px; // padding-right: 129px;
//margin-right: -136px; //margin-right: -136px;
} }
.filterBtn { .filterBtn {
background: var(--newgreen); background: var(--newgreen);
--background: var (--newgreen); --background: var (--newgreen);
@ -168,6 +188,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
height: 60px; height: 60px;
width: 60px; width: 60px;
} }
.filterBtn-ar { .filterBtn-ar {
// background: var(--newgreen); // background: var(--newgreen);
// --background: var (--newgreen); // --background: var (--newgreen);
@ -191,6 +212,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// padding: 8px; // padding: 8px;
width: 100%; width: 100%;
} }
.square { .square {
// width:calc(100% / 2); // width:calc(100% / 2);
width: 100%; width: 100%;
@ -223,17 +245,21 @@ button.item-button.button.button-md.button-clear.button-clear-md {
position: relative; position: relative;
bottom: 4px; bottom: 4px;
} }
ion-radio { ion-radio {
--color-checked: #269db8; --color-checked: #269db8;
} }
.center { .center {
text-align: center; text-align: center;
padding: 5px; padding: 5px;
} }
.boldTxtNav { .boldTxtNav {
font-weight: bold; font-weight: bold;
padding: 5px; padding: 5px;
} }
.employee-details { .employee-details {
display: inline-block; display: inline-block;
margin: 10px; margin: 10px;
@ -241,15 +267,18 @@ ion-radio {
white-space: nowrap; white-space: nowrap;
width: 70%; width: 70%;
} }
.empImgeRep { .empImgeRep {
display: inline-block; display: inline-block;
height: 40px; height: 40px;
width: 40px; width: 40px;
} }
.star-fav { .star-fav {
float: right; float: right;
margin: 15px 0px 0px 0px; margin: 15px 0px 0px 0px;
} }
.uk-margin { .uk-margin {
margin: 15px 15px 0px 15px; margin: 15px 15px 0px 15px;
font-weight: bold; font-weight: bold;
@ -257,9 +286,11 @@ ion-radio {
position: relative; position: relative;
top: 10px; top: 10px;
} }
.uk-padding { .uk-padding {
padding: 20px; padding: 20px;
} }
.uk-padding .employee-details { .uk-padding .employee-details {
bottom: 10px; bottom: 10px;
position: relative; position: relative;
@ -275,6 +306,7 @@ ion-radio {
padding-bottom: 25px; padding-bottom: 25px;
padding-top: 15px; padding-top: 15px;
} }
.textSearchType { .textSearchType {
padding-top: 8px; padding-top: 8px;
font-size: 12px; font-size: 12px;
@ -282,32 +314,56 @@ ion-radio {
.isFavLetterActive { .isFavLetterActive {
color: #269db8; color: #269db8;
display: block; display: block;
width: 60%; width: 60%;
float: right; float: right;
transition-duration: 0ms; transition-duration: 0ms;
height: 35px; height: 35px;
} }
.vl { .vl {
border-left: 2px solid lightgray; border-left: 2px solid lightgray;
height: 42px; height: 42px;
} }
.searchText{
.searchText {
background: transparent; background: transparent;
color: #269db8; color: #269db8;
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
} }
.letterDiv{ .letterDiv {
font-weight: bold; font-weight: bold;
width: 10%; width: 10%;
float: right; float: right;
} }
.letterDivLoop{
display: block; .letterDivLoop {
width: 60%; display: block;
float: right; width: 60%;
transition-duration: 0ms; float: right;
transition-duration: 0ms;
height: 35px; height: 35px;
}
.square-selected {
box-shadow: 5px 2px 8px #ccc;
padding: 0px 10px 0px 10px;
margin: 0px 15px;
border-radius: 10px;
position: relative;
bottom: 20px;
}
.square-selected img {
height: 20px;
width: 20px;
bottom: 3px;
position: relative;
}
.square-selected span {
white-space: normal;
} }

@ -48,7 +48,7 @@ export class WorkListReplacementItgComponent implements OnInit {
spaceBetween: 5 spaceBetween: 5
}; };
public activeSelectedLetter:string; public activeSelectedLetter: string;
constructor(public vacationRuleService: VacationRuleServiceService, constructor(public vacationRuleService: VacationRuleServiceService,
public ts: TranslatorService, public ts: TranslatorService,
@ -368,7 +368,7 @@ export class WorkListReplacementItgComponent implements OnInit {
this.selectedLetter(this.activeSelectedLetter); this.selectedLetter(this.activeSelectedLetter);
} else { } else {
this.favLetter.forEach((obj, index) => { this.favLetter.forEach((obj, index) => {
if(this.activeSelectedLetter) {} if (this.activeSelectedLetter) { }
if (index === 0) { if (index === 0) {
// this.selectedLetter(obj); // this.selectedLetter(obj);
this.favIsActive.push(true); this.favIsActive.push(true);
@ -446,7 +446,7 @@ export class WorkListReplacementItgComponent implements OnInit {
if (letter === el) { if (letter === el) {
this.favIsActive[index] = true; this.favIsActive[index] = true;
this.activeSelectedLetter = el; this.activeSelectedLetter = el;
this.worklistService.getFavoriteByLetter(letter,() => { this.worklistService.getFavoriteByLetter(letter, () => {
}).subscribe((result) => { }).subscribe((result) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
this.cs.stopLoading(); this.cs.stopLoading();
@ -466,4 +466,10 @@ export class WorkListReplacementItgComponent implements OnInit {
returnIsActiveFunction(i) { returnIsActiveFunction(i) {
return this.favIsActive[i]; return this.favIsActive[i];
} }
resetSelected() {
this.searchKey = '';
this.userSelected = false;
}
} }

@ -90,7 +90,7 @@
<ion-row> <ion-row>
<ion-col size="7"> <ion-col size="7">
<div *ngIf="isFilter" style="height: 0px;"> <div *ngIf="isFilter" style="height: 0px;">
<ion-searchbar style="padding-top: 1px;" class="filterClass" mode='md' (ionInput)="filterList($event)" placeholder="Filter"> <ion-searchbar [(ngModel)]="inputSearch" style="padding-top: 1px;" class="filterClass" mode='md' (ionInput)="filterList($event)" placeholder="Filter">
</ion-searchbar> </ion-searchbar>
</div> </div>
<ion-input *ngIf="!isFilter" class='replacmentSearchBar' clearInput="true" <ion-input *ngIf="!isFilter" class='replacmentSearchBar' clearInput="true"
@ -125,7 +125,12 @@
</ion-row> </ion-row>
</ion-grid> </ion-grid>
</ion-list> </ion-list>
<div class="square-selected" *ngIf="inputSearch"><div class="profileImageDiv">
<ion-label class="employee-details sc-ion-label-ios-h sc-ion-label-ios-s ios hydrated"><span>{{inputSearch}}</span></ion-label>
<div class="star-fav" ><img src="assets/imgs/close.svg" (click)="resetSelected()"></div></div></div>
<div class="letterDiv" *ngIf="searchBy === '4' && !isFavoriteLetterActive && !userSelected"> <div class="letterDiv" *ngIf="searchBy === '4' && !isFavoriteLetterActive && !userSelected">
<!-- <ion-slides [options]="slideOptsOne"> <!-- <ion-slides [options]="slideOptsOne">
<ion-slide *ngFor="let filter of favLetter; let i=index"> --> <ion-slide *ngFor="let filter of favLetter; let i=index"> -->

@ -31,6 +31,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
position: relative; position: relative;
top: 0; top: 0;
} }
.profileImage { .profileImage {
width: 60px !important; width: 60px !important;
} }
@ -38,9 +39,11 @@ button.item-button.button.button-md.button-clear.button-clear-md {
.activated { .activated {
border: #209a83 0.02cm solid; border: #209a83 0.02cm solid;
} }
.deactivated { .deactivated {
border: #e4e4e4 0.02cm solid; border: #e4e4e4 0.02cm solid;
} }
.repContentDiv { .repContentDiv {
text-align: center; text-align: center;
width: 85%; width: 85%;
@ -51,6 +54,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
margin-top: -9px; margin-top: -9px;
margin-right: -35px; margin-right: -35px;
} }
.selIEmpDiv { .selIEmpDiv {
text-align: right; text-align: right;
margin-bottom: -26px; margin-bottom: -26px;
@ -70,6 +74,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
margin: 8px 17px 0px 17px; margin: 8px 17px 0px 17px;
padding: 10px 2px 10px 2px; padding: 10px 2px 10px 2px;
} }
.filterInput { .filterInput {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
@ -88,6 +93,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// padding-right: 129px; // padding-right: 129px;
//margin-right: -136px; //margin-right: -136px;
} }
.filterBtn { .filterBtn {
background: var(--newgreen); background: var(--newgreen);
--background: var (--newgreen); --background: var (--newgreen);
@ -95,6 +101,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
height: 60px; height: 60px;
width: 60px; width: 60px;
} }
.filterBtn-ar { .filterBtn-ar {
// background: var(--newgreen); // background: var(--newgreen);
// --background: var (--newgreen); // --background: var (--newgreen);
@ -118,6 +125,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// padding: 8px; // padding: 8px;
width: 100%; width: 100%;
} }
.square { .square {
// width:calc(100% / 2); // width:calc(100% / 2);
width: 100%; width: 100%;
@ -150,18 +158,22 @@ button.item-button.button.button-md.button-clear.button-clear-md {
position: relative; position: relative;
bottom: 4px; bottom: 4px;
} }
ion-radio { ion-radio {
--color-checked: #269db8; --color-checked: #269db8;
} }
.center { .center {
text-align: center; text-align: center;
padding: 5px; padding: 5px;
} }
.boldTxtNav { .boldTxtNav {
text-align: start; text-align: start;
font-weight: bold; font-weight: bold;
padding: 12px; padding: 12px;
} }
.employee-details { .employee-details {
display: inline-block; display: inline-block;
margin: 10px; margin: 10px;
@ -169,15 +181,18 @@ ion-radio {
white-space: nowrap; white-space: nowrap;
width: 70%; width: 70%;
} }
.empImgeRep { .empImgeRep {
display: inline-block; display: inline-block;
height: 40px; height: 40px;
width: 40px; width: 40px;
} }
.star-fav { .star-fav {
float: right; float: right;
margin: 15px 0px 0px 0px; margin: 15px 0px 0px 0px;
} }
.uk-margin { .uk-margin {
margin: 15px 15px 0px 15px; margin: 15px 15px 0px 15px;
font-weight: bold; font-weight: bold;
@ -185,9 +200,11 @@ ion-radio {
position: relative; position: relative;
top: 10px; top: 10px;
} }
.uk-padding { .uk-padding {
padding: 20px; padding: 20px;
} }
.uk-padding .employee-details { .uk-padding .employee-details {
bottom: 10px; bottom: 10px;
position: relative; position: relative;
@ -197,57 +214,86 @@ ion-radio {
float: left; float: left;
margin: 10px 5px; margin: 10px 5px;
} }
.top-radio-row { .top-radio-row {
font-size: 12px; font-size: 12px;
display: block; display: block;
padding-bottom: 25px; padding-bottom: 25px;
padding-top: 15px; padding-top: 15px;
} }
.textSearchType { .textSearchType {
padding-top: 8px; padding-top: 8px;
font-size: 12px; font-size: 12px;
} }
.isFavLetterActive { .isFavLetterActive {
// background: #269db8; // background: #269db8;
// width: 55px; // width: 55px;
// border-radius: 60px; // border-radius: 60px;
color: #269db8; color: #269db8;
display: block; display: block;
width: 60%; width: 60%;
float: right; float: right;
transition-duration: 0ms; transition-duration: 0ms;
height: 35px; height: 35px;
} }
.vl { .vl {
border-left: 2px solid lightgray; border-left: 2px solid lightgray;
height: 42px; height: 42px;
} }
.clearText{
.clearText {
background: transparent; background: transparent;
color: #D55D5C; color: #D55D5C;
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
} }
.searchText{
.searchText {
background: transparent; background: transparent;
color: #269db8; color: #269db8;
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
} }
.filterClass input{
.filterClass input {
box-shadow: none !important; box-shadow: none !important;
-webkit-box-shadow: none !important; -webkit-box-shadow: none !important;
} }
.letterDiv{ .letterDiv {
font-weight: bold; font-weight: bold;
width: 10%; width: 10%;
float: right; float: right;
} }
.letterDivLoop{
display: block; .letterDivLoop {
width: 60%; display: block;
float: right; width: 60%;
transition-duration: 0ms; float: right;
transition-duration: 0ms;
height: 35px; height: 35px;
}
.square-selected {
box-shadow: 5px 2px 8px #ccc;
padding: 0px 10px 0px 10px;
margin: 0px 15px;
border-radius: 10px;
position: relative;
bottom: 20px;
}
.square-selected img {
height: 20px;
width: 20px;
bottom: 3px;
position: relative;
}
.square-selected span {
white-space: normal;
} }

@ -682,4 +682,10 @@ export class WorkListReplacementRollComponent implements OnInit {
clearSearchInput() { clearSearchInput() {
this.inputSearch = ''; this.inputSearch = '';
} }
resetSelected() {
this.inputSearch = '';
this.userSelected = false;
}
} }

@ -414,7 +414,7 @@
<ion-tabs> <ion-tabs>
<ion-tab-bar class="tabBar" slot="bottom" style="height: 100% !important;"> <ion-tab-bar class="tabBar" slot="bottom" style="height: 100% !important;">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')"> <ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVED')">
<img src="../assets/imgs/mohemm-action/Approve.png"> <img src="../assets/imgs/mohemm-action/Approve.png">
<ion-label class="action-btn"> {{approve_label}}</ion-label> <ion-label class="action-btn"> {{approve_label}}</ion-label>
@ -426,7 +426,7 @@
</ion-tab-button> </ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')"> <ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECTED')">
<img src="../assets/imgs/mohemm-action/Reject.png"> <img src="../assets/imgs/mohemm-action/Reject.png">
<ion-label class="action-btn"> {{reject_label}}</ion-label> <ion-label class="action-btn"> {{reject_label}}</ion-label>
</ion-tab-button> </ion-tab-button>

@ -497,16 +497,16 @@ export class WorklistMainIcComponent implements OnInit {
checkRequestType(index) { checkRequestType(index) {
if (this.notificationArray[index].REQUEST_TYPE === 'PO') { if (this.notificationArray[index].REQUEST_TYPE === 'PO') {
this.intializeNotificationDetail(); 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 if (this.notificationArray[index].REQUEST_TYPE === 'ITEM_CREATION') {
this.intializeNotificationDetail();
} else {
this.common.openWorklistMainPage(); this.common.openWorklistMainPage();
} }
} }
actionButton(action) { actionButton(action) {
@ -544,8 +544,8 @@ export class WorklistMainIcComponent implements OnInit {
// } // }
if ( if (
ButtonAction == "APPROVE" || ButtonAction == "APPROVED" ||
ButtonAction == "REJECT" || ButtonAction == "REJECTED" ||
ButtonAction == "DEL" || ButtonAction == "DEL" ||
ButtonAction == "CLOSE" ButtonAction == "CLOSE"
) { ) {
@ -560,10 +560,10 @@ export class WorklistMainIcComponent implements OnInit {
// this.WorkListActionObj, // this.WorkListActionObj,
// WorklistMainPRComponent.PASS_NOTIFICATION_INFO // WorklistMainPRComponent.PASS_NOTIFICATION_INFO
// ); // );
if (ButtonAction == "APPROVE") { if (ButtonAction == "APPROVED") {
this.confirmMsg = this.ts.trPK('worklistMain', 'approveMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'approveMsg')
} }
else if (ButtonAction == "REJECT") { else if (ButtonAction == "REJECTED") {
this.confirmMsg = this.ts.trPK('worklistMain', 'rejectMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'rejectMsg')
} }
@ -653,7 +653,8 @@ export class WorklistMainIcComponent implements OnInit {
ButtonAction == "TRANSFER" || ButtonAction == "TRANSFER" ||
ButtonAction == "TRANSFER_INFO" || ButtonAction == "TRANSFER_INFO" ||
ButtonAction == "APPROVE_AND_FORWARD" || ButtonAction == "APPROVE_AND_FORWARD" ||
ButtonAction == "FORWARD" ButtonAction == "FORWARD" ||
ButtonAction == "RETURNED"
) { ) {

@ -317,12 +317,12 @@
<ion-row> <ion-row>
<ion-col class="rowBorder" style="background: #269db8;"> <ion-col class="rowBorder" style="background: #269db8;">
<ion-label> <ion-label>
<p style="color: white;">Current</p> <p style="color: white;">{{ 'general, current' | translate}}</p>
</ion-label> </ion-label>
</ion-col> </ion-col>
<ion-col class="rowBorder" style="background: #269db8;"> <ion-col class="rowBorder" style="background: #269db8;">
<ion-label> <ion-label>
<p style="color: white;">Proposed</p> <p style="color: white;">{{ 'general, proposed' | translate}}</p>
</ion-label> </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>

@ -49,7 +49,7 @@ export class AddBasicDetailsComponent implements OnInit {
private hiddenInput: HiddenInput; private hiddenInput: HiddenInput;
private eitResponse: any; private eitResponse: any;
private eitColResponse: any; private eitColResponse: any;
private eitVALSettoCall: any = []; private eitVALSettoCall: any = [];
private comtransNo: number = 0; private comtransNo: number = 0;
getPassMnuEntryObj: MenuEntry; getPassMnuEntryObj: MenuEntry;
@ -65,7 +65,7 @@ export class AddBasicDetailsComponent implements OnInit {
isResubmit: boolean = false; isResubmit: boolean = false;
private updatedValues: any = []; private updatedValues: any = [];
addEITData: any; addEITData: any;
direction:string; direction: string;
public targetValue: any; public targetValue: any;
public employeeBasicDetails: any = []; public employeeBasicDetails: any = [];
public mutualBasicDetailsArray: any = []; public mutualBasicDetailsArray: any = [];
@ -135,7 +135,7 @@ export class AddBasicDetailsComponent implements OnInit {
} }
} }
ngOnInit() {} ngOnInit() { }
ngAfterViewInit() { ngAfterViewInit() {
this.getEitDffStructure(); this.getEitDffStructure();
@ -171,7 +171,7 @@ export class AddBasicDetailsComponent implements OnInit {
this.drawEitFieldsStatic(result.GetBasicDetColsStructureList); this.drawEitFieldsStatic(result.GetBasicDetColsStructureList);
} }
} }
public handleBasicDffStructureResult(result) { public handleBasicDffStructureResult(result) {
if (result.GetBasicDetDffStructureList != null) { if (result.GetBasicDetDffStructureList != null) {
this.getColumnStructure(); this.getColumnStructure();
@ -188,59 +188,59 @@ export class AddBasicDetailsComponent implements OnInit {
let defaultValText: string = ""; let defaultValText: string = "";
if (feildsList[i].DISPLAY_FLAG != "N") { if (feildsList[i].DISPLAY_FLAG != "N") {
//text , date , time //text , date , time
if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList === null) { if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList === null) {
// character // character
this.textInput = new TextInput( this.textInput = new TextInput(
feildsList[i].SEGMENT_PROMPT, feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal, defaultVal,
containerId, containerId,
defaultValText, defaultValText,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG feildsList[i].REQUIRED_FLAG
); );
} else if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList !== null) { } else if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList !== null) {
this.selectInput = new SelectInput( this.selectInput = new SelectInput(
feildsList[i].SEGMENT_PROMPT, feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal, defaultVal,
containerId, containerId,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG feildsList[i].REQUIRED_FLAG
); );
this.fillStaticDropdownList( this.fillStaticDropdownList(
feildsList[i].SEGMENT_NAME, feildsList[i].SEGMENT_NAME,
feildsList[i].ObjectValuesList, feildsList[i].ObjectValuesList,
feildsList[i].APPLICATION_COLUMN_NAME feildsList[i].APPLICATION_COLUMN_NAME
); );
} else if (feildsList[i].DATATYPE == "NUMBER") { } else if (feildsList[i].DATATYPE == "NUMBER") {
this.numberInput = new NumberInput( this.numberInput = new NumberInput(
feildsList[i].SEGMENT_PROMPT, feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal, defaultVal,
containerId, containerId,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG feildsList[i].REQUIRED_FLAG
); );
} else if (feildsList[i].DATATYPE == "DATE" && this.targetValue === 'new') { } else if (feildsList[i].DATATYPE == "DATE" && this.targetValue === 'new') {
this.dateInput = new DateInput( this.dateInput = new DateInput(
feildsList[i].SEGMENT_PROMPT, feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
"", "",
containerId, containerId,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG, feildsList[i].REQUIRED_FLAG,
this.direction this.direction
); );
} }
}
} }
}
this.fillBasicDetailsStructure(); this.fillBasicDetailsStructure();
} }
@ -251,7 +251,7 @@ export class AddBasicDetailsComponent implements OnInit {
let numbervalue: any = 0; let numbervalue: any = 0;
let dateValue: any = null; let dateValue: any = null;
let transNo: number = 1; let transNo: number = 1;
let textValue : any; let textValue: any;
for (let i = 0; i < this.eitColResponse.length; i++) { for (let i = 0; i < this.eitColResponse.length; i++) {
varcharValue = null; varcharValue = null;
@ -260,10 +260,10 @@ export class AddBasicDetailsComponent implements OnInit {
if (this.eitColResponse[i].DISPLAY_FLAG != "N") { if (this.eitColResponse[i].DISPLAY_FLAG != "N") {
if (this.eitColResponse[i].ObjectValuesList === null) { if (this.eitColResponse[i].ObjectValuesList === null) {
let elem = document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement; let elem = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement;
let elemVal = elem !== null ? (document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement).value : ''; let elemVal = elem !== null ? (document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement).value : '';
textValue = elemVal; textValue = elemVal;
if (this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") { if (this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") {
elemVal = elemVal; elemVal = elemVal;
} else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'new') { } else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'new') {
@ -272,7 +272,7 @@ export class AddBasicDetailsComponent implements OnInit {
} else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'correct') { } else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'correct') {
// date // date
elemVal = this.customiseDate(this.effectiveDate); elemVal = this.customiseDate(this.effectiveDate);
} }
if (this.targetValue === 'new') { if (this.targetValue === 'new') {
if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !elemVal) {
@ -301,11 +301,11 @@ export class AddBasicDetailsComponent implements OnInit {
} else { } else {
let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement; let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
let val = x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null; let val = x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null;
let txt = x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : null; let txt = x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : null;
varcharValue = val; varcharValue = val;
textValue = txt; textValue = txt;
if (x !== null) { if (x !== null) {
if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) { if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) {
x.classList.add("requiredClassElm"); x.classList.add("requiredClassElm");
@ -323,7 +323,7 @@ export class AddBasicDetailsComponent implements OnInit {
DATE_VALUE: dateValue DATE_VALUE: dateValue
}); });
} }
} else { } else {
let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement; let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
let val = x !== null ? x.dataset.colmText : ''; let val = x !== null ? x.dataset.colmText : '';
textValue = x !== null ? x.value : ''; textValue = x !== null ? x.value : '';
@ -815,8 +815,8 @@ export class AddBasicDetailsComponent implements OnInit {
let obj = this.handleDefaultValueResult(result); let obj = this.handleDefaultValueResult(result);
let val = obj.value; let val = obj.value;
let text = obj.text; let text = obj.text;
if (val==null){val="";} if (val == null) { val = ""; }
if (text==null){text="";} if (text == null) { text = ""; }
if (isStandardDate) { if (isStandardDate) {
console.log("isStandardDate"); console.log("isStandardDate");
elem.value = this.cs.reverseFormatDate(val); elem.value = this.cs.reverseFormatDate(val);
@ -834,7 +834,7 @@ export class AddBasicDetailsComponent implements OnInit {
if (val) { if (val) {
elem.dataset.dtvalue = val; elem.dataset.dtvalue = val;
elem.innerHTML = val; elem.innerHTML = val;
elem.value=val; elem.value = val;
} else { } else {
elem.dataset.dtvalue = ""; elem.dataset.dtvalue = "";
elem.innerHTML = ""; elem.innerHTML = "";
@ -843,11 +843,11 @@ export class AddBasicDetailsComponent implements OnInit {
if (isSelectElement) { if (isSelectElement) {
let elem = this.getSelectElementByName(segmentName); let elem = this.getSelectElementByName(segmentName);
elem = document.getElementById(elem), elem = document.getElementById(elem),
elem.value = val; elem.value = val;
} else { } else {
elem.value = val; elem.value = val;
elem.innerText = text; elem.innerText = text;
elem.setAttribute("value", val); elem.setAttribute("value", val);
} }
} }
if (isHidden || isReadOnlyList) { if (isHidden || isReadOnlyList) {
@ -1234,7 +1234,7 @@ export class AddBasicDetailsComponent implements OnInit {
} }
public customiseDate(date: any) { public customiseDate(date: any) {
let formatedDate = date.slice(0,9); let formatedDate = date.slice(0, 9);
let newDate = formatedDate.split("/").reverse(); let newDate = formatedDate.split("/").reverse();
const tmp = newDate[2]; const tmp = newDate[2];
newDate[2] = newDate[1]; newDate[2] = newDate[1];
@ -1248,7 +1248,7 @@ export class AddBasicDetailsComponent implements OnInit {
public fillBasicDetailsStructure() { public fillBasicDetailsStructure() {
this.mutualBasicDetailsArray = this.mutualBasicDetailsArray.concat(this.eitResponse, this.eitColResponse); this.mutualBasicDetailsArray = this.mutualBasicDetailsArray.concat(this.eitResponse, this.eitColResponse);
for (let i = 0; i < this.employeeBasicDetails.length; i++) { for (let i = 0; i < this.employeeBasicDetails.length; i++) {
let val: any; let val: any;
if (this.employeeBasicDetails[i].VARCHAR2_VALUE) { if (this.employeeBasicDetails[i].VARCHAR2_VALUE) {
@ -1256,13 +1256,13 @@ export class AddBasicDetailsComponent implements OnInit {
} else if (this.employeeBasicDetails[i].DATE_VALUE) { } else if (this.employeeBasicDetails[i].DATE_VALUE) {
val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE); val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE);
if (this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME === 'EFFECTIVE_DATE') { if (this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME === 'EFFECTIVE_DATE') {
this.effectiveDate = this.employeeBasicDetails[i].DATE_VALUE; this.effectiveDate = this.employeeBasicDetails[i].DATE_VALUE;
this.showEffectiveDate = this.employeeBasicDetails[i].SEGMENT_VALUE_DSP; this.showEffectiveDate = this.employeeBasicDetails[i].SEGMENT_VALUE_DSP;
} }
} else if (this.employeeBasicDetails[i].NUMBER_VALUE) { } else if (this.employeeBasicDetails[i].NUMBER_VALUE) {
val = this.employeeBasicDetails[i].NUMBER_VALUE; val = this.employeeBasicDetails[i].NUMBER_VALUE;
} }
const elem = document.getElementById( this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement; const elem = document.getElementById(this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME) as HTMLInputElement;
if (elem) { if (elem) {
if (val) { if (val) {
let feldDetails = this.mutualBasicDetailsArray.find( let feldDetails = this.mutualBasicDetailsArray.find(
@ -1367,7 +1367,7 @@ export class AddBasicDetailsComponent implements OnInit {
let numbervalue: any = 0; let numbervalue: any = 0;
let dateValue: any = null; let dateValue: any = null;
let transNo: number = 1; let transNo: number = 1;
let textValue : any; let textValue: any;
// if(this.ExtraObj.transactionNo) // if(this.ExtraObj.transactionNo)
// transNo=this.ExtraObj.transactionNo; // transNo=this.ExtraObj.transactionNo;
for (let i = 0; i < this.eitResponse.length; i++) { for (let i = 0; i < this.eitResponse.length; i++) {
@ -1413,11 +1413,11 @@ export class AddBasicDetailsComponent implements OnInit {
this.eitResponse[i].DISPLAY_FLAG != "N" this.eitResponse[i].DISPLAY_FLAG != "N"
) { ) {
//time //time
if(elemVal.length>5){ if (elemVal.length > 5) {
elemVal = elemVal.substring(11, 16); elemVal = elemVal.substring(11, 16);
}else{ } else {
elemVal = elemVal; elemVal = elemVal;
} }
} }
if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !elemVal) {
elem.classList.add("requiredClassElm"); elem.classList.add("requiredClassElm");
@ -1426,11 +1426,11 @@ export class AddBasicDetailsComponent implements OnInit {
} else { } else {
elem.classList.remove("requiredClassElm"); elem.classList.remove("requiredClassElm");
} }
// if (elemVal != 'null'){ // if (elemVal != 'null'){
varcharValue = elemVal; varcharValue = elemVal;
//} else{ //} else{
// elemVal = null; // elemVal = null;
// } // }
valuseArr.push({ valuseArr.push({
TRANSACTION_NUMBER: transNo, TRANSACTION_NUMBER: transNo,
NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME,
@ -1759,15 +1759,15 @@ export class AddBasicDetailsComponent implements OnInit {
P_SELECTED_RESP_ID: this.respID, P_SELECTED_RESP_ID: this.respID,
P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME, P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME,
EITTransactionTBL: allStatisDynamicValues, EITTransactionTBL: allStatisDynamicValues,
P_ACTION_TYPE: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE' P_ACTION_TYPE: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE'
}; };
console.log(this.basicRequest); console.log(this.basicRequest);
this.profileService.submitBasicDetailsTransaction(this.basicRequest).subscribe((result: any) => { this.profileService.submitBasicDetailsTransaction(this.basicRequest).subscribe((result: any) => {
this.handleBasicdetailsResult(result); this.handleBasicdetailsResult(result);
}); });
} }
} }
} }

@ -74,14 +74,10 @@ export class ConatactComponent implements OnInit {
this.setIsDeletedStatus(); this.setIsDeletedStatus();
console.log(this.phoneNumbers); console.log(this.phoneNumbers);
this.submitrequest = { this.submitrequest = {
P_MENU_TYPE: this.selMenu.List_Menu.MENU_TYPE, P_MENU_TYPE: this.selMenu.List_Menu.MENU_TYPE,
P_SELECTED_RESP_ID: this.respID, //this.selMenu.List_Menu.RESP_ID,//-999, P_SELECTED_RESP_ID: this.respID, //this.selMenu.List_Menu.RESP_ID,//-999,
P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME, P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME,
P_MBL_PHONES_TBL: this.phoneNumbers, P_MBL_PHONES_TBL: this.phoneNumbers,
}; };
this.profileService.submitPhoneTransaction(this.submitrequest, () => { }, this.ts.trPK('general', 'retry')).subscribe((response) => { this.profileService.submitPhoneTransaction(this.submitrequest, () => { }, this.ts.trPK('general', 'retry')).subscribe((response) => {
if (this.cs.validResponse(response)) { if (this.cs.validResponse(response)) {

@ -1290,9 +1290,10 @@ export class ConcurrentReportComponent implements OnInit {
return values; return values;
} }
selectTemplates() { selectTemplates() {
this.elementRef this.elementRef.nativeElement.querySelectorAll('#containerDiv')[0].innerHTML = '';
.nativeElement.querySelectorAll('#containerDiv')[0].innerHTML = ''; if (this.template) {
this.getCppDiffStructure(this.template); this.getCppDiffStructure(this.template);
}
} }
refreshStatus() { refreshStatus() {

@ -10,6 +10,7 @@ import { ConcurrentReportComponent } from './concurrent-report/concurrent-report
import { ReportServiceService } from './report-service.service'; import { ReportServiceService } from './report-service.service';
import { HmgCommonModule } from '../hmg-common/hmg-common.module'; import { HmgCommonModule } from '../hmg-common/hmg-common.module';
import { TransactionListComponent } from './transaction-list/transaction-list.component'; import { TransactionListComponent } from './transaction-list/transaction-list.component';
import { TransactionsComponent } from './transactions/transactions.component';
const routes: Routes = [ const routes: Routes = [
@ -25,6 +26,10 @@ const routes: Routes = [
path: 'transaction-list', path: 'transaction-list',
component: TransactionListComponent component: TransactionListComponent
}, },
{
path: 'transactions',
component: TransactionsComponent
},
], ],
} }
]; ];
@ -37,7 +42,7 @@ const routes: Routes = [
RouterModule.forChild(routes), RouterModule.forChild(routes),
HmgCommonModule HmgCommonModule
], ],
declarations: [ReportsPage, ConcurrentReportComponent, TransactionListComponent], declarations: [ReportsPage, ConcurrentReportComponent, TransactionListComponent, TransactionsComponent],
providers: [ReportServiceService] providers: [ReportServiceService]
}) })
export class ReportsPageModule { } export class ReportsPageModule { }

@ -1,7 +1,11 @@
<ion-content> <ion-content>
<div class="head-title"> <div class="head-title">
<app-generic-header showImage="false" showBack="true" [headerText]="'general,concurrent-report' | translate"> <app-generic-header
showImage="false"
showBack="true"
backLink="/home"
[headerText]="'general,concurrent-report' | translate">
</app-generic-header> </app-generic-header>
</div> </div>
<div class="header"></div> <div class="header"></div>

@ -0,0 +1,69 @@
<ion-content>
<div class="head-title">
<app-generic-header showImage="false" showBack="true" [headerText]="'general,concurrent-report' | translate">
</app-generic-header>
</div>
<div class="header"></div>
<div class="bottom"></div>
<div class="main-container">
<ion-item>
<ion-label>{{ 'worklist,template-name' | translate}}</ion-label>
<ion-select [(ngModel)]="template" (ionChange)="selectTemplates()" [placeholder]="'general,select' | translate"
[okText]="'general,ok' | translate" [cancelText]="'general,cancel' | translate" class="concorrent-select large-ion-select">
<ion-select-option *ngFor="let program of programList" [value]="program">
{{ program.USER_CONCURRENT_PROGRAM_NAME}}</ion-select-option></ion-select>
</ion-item>
<div *ngIf="transactionList && transactionList.length>0" class="transaction-list">
<ion-card *ngFor="let transaction of transactionList">
<div [ngClass]="direction =='rtl' ? 'date_ar' :'date'" >{{getDate(transaction.REQUEST_DATE)}}</div>
<ion-label class="ion-text-wrap">
<ion-text color="primary">
<div>
<p class="display-created" >{{'transaction, request-id' | translate}}</p>
<P class="inline-display">
{{transaction.REQUEST_ID}}
</P>
</div>
<p class="display-created" >{{'transaction, phase' | translate}}</p>
<p class="display-created bold padding">{{transaction.CCP_PHASE}}</p>
</ion-text>
<ion-text color="secondary">
<div class="name-container">
<p class="color-black display-inline">{{'transaction,program-name' | translate}}</p>
<p class="display-inline red">{{transaction.CONCURRENT_PROGRAM_NAME}}</p>
</div>
</ion-text>
<div class="output-container" >
<p class="color-black display-inline">{{'transaction,output' | translate}}</p>
<p class="display-inline" (click)="getCppOutput(transaction)" [ngClass]="transaction.CCP_PHASE =='Running' || transaction.CCP_PHASE =='Pending'? 'disabled-icon' : '' " ><ion-icon name="download" class="download"></ion-icon></p>
<p class="display-inline" (click)="refresh()" *ngIf="transaction.CCP_PHASE =='Running' || transaction.CCP_PHASE =='Pending'"><ion-icon name="refresh" class="refresh" > </ion-icon></p>
</div>
</ion-label>
</ion-card>
</div>
<div class="no-dataDiv"
*ngIf="transactionList && transactionList.length ==0">
<ion-row>
<img class="empty-data" src="../assets/imgs/box.png" />
</ion-row>
<h4> {{'general, noData' | translate}}</h4>
</div>
</div>
</ion-content>
<ion-footer class="footer">
<div class="Btn">
<ion-button class="CreateBtn" color="customnavy" ion-button (click)="createTransaction()">
{{'vacation-rule, create-request' | translate}}</ion-button>
</div>
</ion-footer>

@ -0,0 +1,213 @@
.display-created {
display: inline-block;
margin: 2px;
color: #000;
}
#containerDiv {
margin-top: 20px;
}
.padding {
padding-left: 5px;
padding-right: 5px;
}
.bold {
font-weight: bold;
font-size: 16px;
}
.color-black {
color: #000;
}
.date {
position: absolute;
font-size: 14px;
padding: 10px;
right: 0;
width: 100px;
color: #969696;
}
.date_ar {
position: absolute;
font-size: 14px;
padding: 10px;
left: 0;
width: 100px;
color: #969696;
}
.transaction-list {
margin-top: 20px;
}
.date-container {
margin: 0px 20px;
}
.label {
font-size: 16px;
// margin-left: 15px;
color: #a2a5a6 !important;
display: block;
overflow: hidden;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
/* font-size: inherit; */
// text-overflow: ellipsis;
// white-space: nowrap;
white-space: normal;
// padding-top: 10px;
padding: 5px 0px;
padding-left: 10px !important;
margin: 10px auto;
:root[dir="ltr"] {
font-family: var(--fontFamilySemiBoldEN) !important;
}
:root[dir="rtl"] {
font-family: var(--fontFamilyIOSAR) !important;
font-weight: bold;
}
}
.Field-en {
border-radius: 30px;
border: 1px solid #a2a5a6 !important;
margin-bottom: 15px;
padding-left: 20px !important;
padding-top: 6px !important;
color: #999999 !important;
}
.Field-ar {
border-radius: 30px;
border: 1px solid #a2a5a6 !important;
margin-bottom: 20px;
padding-right: 20px !important;
padding-top: 6px !important;
color: #999999 !important;
}
select {
width: 300px !important;
border: none !important;
}
.padding_date {
padding-left: 5px !important;
}
.date-icon {
font-size: 20px;
left: -1px;
position: relative;
top: 2px;
}
ion-card {
padding: 10px;
border-radius: 11px;
box-shadow: 0px 1px 2px 1px #ccc;
}
.display-inline {
display: inline-block;
}
.red {
color: #CA3332;
font-weight: 600;
margin: 0px 5px;
overflow: hidden;
width: 90%;
white-space: nowrap;
text-overflow: ellipsis;
}
.inline-display {
display: inline-block;
font-weight: 600;
padding-left: 8px;
}
.download {
font-size: 26px;
margin: 0px 10px;
position: relative;
top: 5px;
color: #CA3332;
}
.refresh {
font-size: 22px;
margin: 0px 10px;
position: relative;
top: 5px;
color: #CA3332;
}
.disabled-icon {
pointer-events: none;
opacity: .5;
}
.output-container {
position: relative;
bottom: 10px;
}
@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,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TransactionsComponent } from './transactions.component';
describe('TransactionsComponent', () => {
let component: TransactionsComponent;
let fixture: ComponentFixture<TransactionsComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TransactionsComponent ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TransactionsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,128 @@
import { Component, ElementRef, OnInit } from '@angular/core';
import { FileOpener } from '@ionic-native/file-opener/ngx';
import { File } from '@ionic-native/file/ngx';
import { Platform } from '@ionic/angular';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { ReportServiceService } from '../report-service.service';
@Component({
selector: 'app-transactions',
templateUrl: './transactions.component.html',
styleUrls: ['./transactions.component.scss'],
})
export class TransactionsComponent implements OnInit {
transactionList: any = [];
selectedMenu: any;
template: any;
direction: any;
programList: any = [];
constructor(public cs: CommonService, private elementRef: ElementRef, public reports: ReportServiceService, public ts: TranslatorService, private platform: Platform, private file: File, private opener: FileOpener,
) { }
ngOnInit() {
this.selectedMenu = this.cs.sharedService.getSharedData(MenuResponse.SELECTED_MENU, false);
// this.transactionList = this.cs.sharedService.getSharedData(ReportServiceService.TRANSACTION_LIST, false);
//this.template = this.cs.sharedService.getSharedData(ReportServiceService.TEMPLATE, false);
this.direction = TranslatorService.getCurrentDirection();
this.getConcurrentProgram();
}
getDate(date) {
return this.cs.evaluteDate(date);
}
getCppOutput(transaction) {
var request: any = {
P_REQUEST_ID: transaction['REQUEST_ID']
};
this.cs.startLoading();
this.reports.getCppOutput(request, {}, this.ts.trPK('general', 'retry')).subscribe((result: any) => {
this.saveAndOpenPdf(result.GetCcpOutputList['P_OUTPUT_FILE'], 'report.pdf');
console.log(result);
this.cs.stopLoading();
});
}
// saveAndOpenPdf(pdf: string, filename: string) {
// const linkSource = `data:application/pdf;base64,${pdf}`;
// const downloadLink = document.createElement("a");
// const fileName = "report.pdf";
// downloadLink.href = linkSource;
// downloadLink.download = fileName;
// downloadLink.click();
// }
saveAndOpenPdf(pdf: string, filename: string) {
const writeDirectory = this.platform.is('ios') ? this.file.dataDirectory : this.file.externalDataDirectory;
this.file.writeFile(writeDirectory, filename, this.convertBase64ToBlob(pdf, 'data:application/pdf;base64'), { replace: true })
.then(() => {
this.opener.open(writeDirectory + filename, 'application/pdf')
.catch(() => {
console.log('Error opening pdf file');
});
})
.catch(() => {
console.error('Error writing pdf file');
});
}
convertBase64ToBlob(b64Data, contentType): Blob {
contentType = contentType || '';
const sliceSize = 512;
b64Data = b64Data.replace(/^[^,]+,/, '');
b64Data = b64Data.replace(/\s/g, '');
const byteCharacters = window.atob(b64Data);
const byteArrays = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
const slice = byteCharacters.slice(offset, offset + sliceSize);
const byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
return new Blob(byteArrays, { type: contentType });
}
refresh() {
// var request: any = {
// P_REQUEST_ID: transaction['REQUEST_ID']
// };
this.cs.startLoading();
var request: any = {};
request.P_MENU_TYPE = this.selectedMenu.MENU_TYPE;
request.P_SELECTED_RESP_ID = -999;
request.P_FUNCTION_NAME = this.selectedMenu.FUNCTION_NAME;
request.P_DESC_FLEX_NAME = this.template.CONCURRENT_PROGRAM_NAME;
this.reports.getTransaction(request, {}, this.ts.trPK('general', 'retry')).subscribe((result: any) => {
this.cs.stopLoading();
this.transactionList = result['GetCcpTransactionsList_New'];
});
}
getConcurrentProgram() {
this.cs.startLoading();
this.reports.getConcurrentProgram({
P_REQUEST_GROUP_ID: this.selectedMenu.REQUEST_GROUP_ID
}, () => { }, this.ts.trPK('general', 'retry')).subscribe((response) => {
this.cs.stopLoading();
this.programList = response.GetConcurrentProgramsList;
})
}
selectTemplates() {
// this.elementRef
// .nativeElement.querySelectorAll('#containerDiv')[0].innerHTML = '';
if (this.template) {
this.refresh();
}
}
createTransaction() {
this.cs.openConcurrentReport();
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -249,6 +249,14 @@
} }
}, },
"general": { "general": {
"current": {
"en": "Current",
"ar": "تيار"
},
"proposed": {
"en": "Proposed",
"ar": "مقترح"
},
"fav-showData": { "fav-showData": {
"en": "Please select an alphabet to see your favourites", "en": "Please select an alphabet to see your favourites",
"ar": "الرجاء تحديد الأبجدية لرؤية المفضلة لديك" "ar": "الرجاء تحديد الأبجدية لرؤية المفضلة لديك"

Loading…
Cancel
Save