Merge branch 'MOHEMM-Q3-DEV' into MOHEMM-SFH-COLORS

enad-SFH
umasoodch 4 years ago
commit 2fb48dc548

@ -5,19 +5,20 @@
<ion-content padding> <ion-content padding>
<!-- <div [ngClass]=" direction === 'en' ? 'custom-text-area-element Field-en' : 'custom-text-area-element Field-ar'" > <div [ngClass]=" direction === 'en' ? 'custom-text-area-element Field-en' : 'custom-text-area-element Field-ar'" >
<label class="label" position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','absenceType')}} </label> <label class="label" position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','absenceType')}} </label>
<select class="label-Select" [(ngModel)]="absenceType" (change)="onTypeAbsenceChange()" required> <select name="selectAbsenceType" class="label-Select" #selectAbsenceType="ngModel" [(ngModel)]="absenceType" (change)="onTypeAbsenceChange()" required>
<option value="noType" selected hidden selected><p>{{ts.trPK('absenceList','selectType')}}</p></option>
<option value= "{{item.ABSENCE_ATTENDANCE_TYPE_ID}}" *ngFor="let item of absenceTypeList; let i=index;">{{item.ABSENCE_ATTENDANCE_TYPE_NAME}} </option> <option value= "{{item.ABSENCE_ATTENDANCE_TYPE_ID}}" *ngFor="let item of absenceTypeList; let i=index;">{{item.ABSENCE_ATTENDANCE_TYPE_NAME}} </option>
</select> </select>
</div> --> </div>
<ion-item class='dynamicField'> <!-- <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','absenceType')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','absenceType')}} </ion-label>
<ion-select (ionChange)="calcDay()" okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="absenceType" (ionChange)="onTypeAbsenceChange()" required> <ion-select (ionChange)="calcDay()" okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="absenceType" (ionChange)="onTypeAbsenceChange()" required>
<!-- let item of AbsenceType; let i=index; --> let item of AbsenceType; let i=index;
<ion-select-option value= "{{item.ABSENCE_ATTENDANCE_TYPE_ID}}" *ngFor="let item of absenceTypeList; let i=index;">{{item.ABSENCE_ATTENDANCE_TYPE_NAME}} </ion-select-option> <ion-select-option value= "{{item.ABSENCE_ATTENDANCE_TYPE_ID}}" *ngFor="let item of absenceTypeList; let i=index;">{{item.ABSENCE_ATTENDANCE_TYPE_NAME}} </ion-select-option>
</ion-select> </ion-select>
</ion-item> </ion-item> -->
<ion-item class='dynamicField'> <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label>

@ -51,7 +51,7 @@ export class SubmitAbsenceComponent implements OnInit {
private modalFlag: any = false; private modalFlag: any = false;
menuType: any; menuType: any;
employeeSel: any; employeeSel: any;
absenceType: any; absenceType = 'noType';
absenceTypeName: string = null; absenceTypeName: string = null;
absenceTypeList: any; absenceTypeList: any;
startDate: any; startDate: any;

@ -294,7 +294,7 @@ export class AppComponent implements OnInit {
//this.userInfo = this.cs.sharedService.getSharedData('bussiness-card-info', false); //this.userInfo = this.cs.sharedService.getSharedData('bussiness-card-info', false);
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: BusinessCardComponent, component: BusinessCardComponent,
cssClass: 'digital-id-modal-css', cssClass: 'business-card-modal-css',
componentProps: { componentProps: {
'userInfo': this.userInfo 'userInfo': this.userInfo
} }

@ -1,5 +1,5 @@
<ion-content dir="ltr" *ngIf="userInfo.company_type == 'CS'"> <ion-content dir="ltr" *ngIf="userInfo.company_type == 'CS'">
<ion-grid class="card-size"> <!-- <ion-grid class="card-size">
<ion-row> <ion-row>
<ion-col size='6'> <ion-col size='6'>
<img class="logo-img-style" [src]='userInfo.company_logo' alt="https://hmgwebservices.com/images/Moheem/CS.jpg"/> <img class="logo-img-style" [src]='userInfo.company_logo' alt="https://hmgwebservices.com/images/Moheem/CS.jpg"/>
@ -9,16 +9,11 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col size='6'> <ion-col size='12'>
<ion-label> <ion-label>
<h1 class='font-text-style' style="font-size: 20px !important; width: 200%;">{{userInfo.name_en}}</h1> <h1 class='font-text-style' style="font-size: 20px !important; width: 200%;">{{userInfo.name_en}}</h1>
</ion-label> </ion-label>
</ion-col> </ion-col>
<ion-col size='6'>
<ion-label>
<h1 class='font-text-style name-ar-style'>{{userInfo.name_ar}}</h1>
</ion-label>
</ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
@ -53,17 +48,24 @@
</ion-label> </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid> -->
</ion-content> <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; 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>
</div>
<!-- <ion-footer> <div style="height: 150px; width: 300px;">
<div class="centerDiv" style="margin-top: 20px !important;"> <img style="width: 140px; margin-left: 145px; margin-top: 26px;" [src]="userInfo.qr"/>
<ion-button class="button-login" (click)="dismiss()"><b>{{ts.trPK('general','close')}}</b></ion-button>
</div> </div>
</ion-footer> --> </ion-content>
<ion-content dir="ltr" *ngIf="userInfo.company_type != 'CS'"> <ion-content dir="ltr" *ngIf="userInfo.company_type != 'CS'">
<ion-grid class="cs-card-size"> <!-- <ion-grid class="cs-card-size">
<ion-row> <ion-row>
<ion-col style="padding-left: 315px;"> <ion-col style="padding-left: 315px;">
<img class="logo-img-hmg-style" [alt]='userInfo.company_logo' src="../assets/icon/HMG_LOGO.png"/> <img class="logo-img-hmg-style" [alt]='userInfo.company_logo' src="../assets/icon/HMG_LOGO.png"/>
@ -79,7 +81,7 @@
</ion-label> </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row class="name-div">
<ion-col> <ion-col>
<ion-label> <ion-label>
<h5 class='font-text-style'>{{userInfo.job_en}}</h5> <h5 class='font-text-style'>{{userInfo.job_en}}</h5>
@ -107,5 +109,19 @@
</ion-label> </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid> -->
<div style="height: 300px; width: 300px; transform: rotate(90deg) !important;">
<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; 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>
</div>
</div>
<div style="height: 150px; width: 300px;">
<img style="width: 140px; margin-left: 10px; margin-top: 50px;" [src]="userInfo.qr"/>
</div>
</ion-content> </ion-content>

@ -38,10 +38,9 @@
// CS // CS
.card-size{ .card-size{
transform: rotate(90deg) !important; transform: rotate(90deg) !important;
// padding: 5% !important;
// padding-right: 0px !important;
padding-right: 0px !important; padding-right: 0px !important;
padding-left: 15% !important; padding-left: 15% !important;
padding: 8% !important;
} }
.qr-style{ .qr-style{
left: 260% !important; left: 260% !important;
@ -57,6 +56,9 @@
.qr-img-hmg-style{ .qr-img-hmg-style{
left: 580px !important; left: 580px !important;
} }
.cs-card-size{
padding: 15px !important;
}
} }
@media screen and (min-width: 400px) and (min-height:700px) and (max-height: 799px){ @media screen and (min-width: 400px) and (min-height:700px) and (max-height: 799px){
@ -81,6 +83,9 @@
.qr-img-hmg-style{ .qr-img-hmg-style{
left: 495px !important; left: 495px !important;
} }
.cs-card-size{
padding: 20px !important;
}
} }
@media screen and (min-width: 325px) and (max-width:399px) and (max-height: 812px){ @media screen and (min-width: 325px) and (max-width:399px) and (max-height: 812px){
@ -103,6 +108,9 @@
.qr-img-hmg-style{ .qr-img-hmg-style{
left: 550px !important; left: 550px !important;
} }
.cs-card-size{
padding: 10px !important;
}
} }
@media screen and (min-width: 325px) and (max-width:399px) and (max-height: 700px){ @media screen and (min-width: 325px) and (max-width:399px) and (max-height: 700px){
@ -140,18 +148,25 @@
} }
// HMG // HMG
.logo-img-hmg-style{ .logo-img-hmg-style{
left: 245px !important; left: 225px !important;
} }
.qr-img-hmg-style{ .qr-img-hmg-style{
left: 430px !important; left: 430px !important;
} }
.cs-card-size{
padding:5px !important;
}
.name-div{
padding: 3px !important;
}
} }
@media screen and (min-width: 1px) and (max-width:320px) { @media screen and (min-width: 1px) and (max-width:320px) {
.card-size{ .card-size{
transform: rotate(90deg) !important; transform: rotate(90deg) !important;
position: relative; position: relative;
bottom: 3%; bottom: 10%;
left: 8%; left: 8%;
padding: 10% !important
} }
.qr-style{ .qr-style{
width: 70% !important; width: 70% !important;
@ -176,34 +191,47 @@
.logo-img-hmg-style{ .logo-img-hmg-style{
width: 380px !important; width: 380px !important;
position: fixed !important; position: fixed !important;
left: 200px !important; left: 240px !important;
height: 81px !important; height: 81px !important;
bottom: 205px !important; bottom: 175px !important;
} }
.qr-img-hmg-style{ .qr-img-hmg-style{
width: 105px !important; width: 105px !important;
margin-top: 0px !important; margin-top: 0px !important;
position: relative !important; position: relative !important;
left: 390px !important; left: 390px !important;
top: 160px !important; top: 150px !important;
} }
.cs-card-size{ .cs-card-size{
padding: 15px !important; padding: 0px !important;
padding-top: 0px !important; padding-top: 0px !important;
padding-left: 1px !important; padding-left: 1px !important;
} }
} }
@media screen and (min-width: 200px) and (max-width: 300px) and (max-height: 700px){
.font-text-style{
font-size: 11px !important;
}
.card-size{
padding: 0% !important;
left: 7% !important;
bottom: 0% !important;
position: relative;
}
}
.card-size{ .card-size{
transform: rotate(90deg); transform: rotate(90deg);
padding: 6%; padding: 18%;
} }
.qr-style{ .qr-style{
width: 70%; width: 70%;
margin-top: 0px; margin-top: 0px;
position: relative; position: relative;
left: 200%; left: 135%;
} }
.name-ar-style{ .name-ar-style{
font-size: 20px; font-size: 20px;
@ -234,5 +262,5 @@
.cs-card-size{ .cs-card-size{
transform: rotate(90deg); transform: rotate(90deg);
padding: 25px; padding: 0px;
} }

@ -795,7 +795,7 @@ export class HomePage implements OnInit {
async openBusinessCard() { async openBusinessCard() {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: BusinessCardComponent, component: BusinessCardComponent,
cssClass: 'digital-id-modal-css' cssClass: 'business-card-modal-css'
}); });
return await modal.present(); return await modal.present();
} }

@ -76,6 +76,7 @@ export class HomeComponent implements OnInit {
public totalPR = 0; public totalPR = 0;
public totalMR = 0; public totalMR = 0;
public totalIC = 0; public totalIC = 0;
public totalStamp = 0;
public showChart = false; public showChart = false;
@ -88,16 +89,17 @@ export class HomeComponent implements OnInit {
public data = { public data = {
datasets: [ datasets: [
{ {
data: [0, 0, 0, 0, 0, 0], data: [0, 0, 0, 0, 0, 0, 0],
backgroundColor: [ backgroundColor: [
'#18a169', '#18a169',
'#3cb9d5', '#3cb9d5',
'#114475', '#114475',
'#38c9b3', '#38c9b3',
'#cc3232', '#cc3232',
'#9e7e97' '#9e7e97',
'#ff9800'
], ],
borderWidth: 5 borderWidth: 6
}] }]
}; };
public filters = [ public filters = [
@ -156,6 +158,14 @@ export class HomeComponent implements OnInit {
color: '#9e7e97', color: '#9e7e97',
key: 'INVITEM', key: 'INVITEM',
disable: false disable: false
},
{
value: 0,
name: 'STAMP',
active: false,
color: '#ff9800',
key: 'STAMP',
disable: false
} }
]; ];
@ -264,6 +274,10 @@ export class HomeComponent implements OnInit {
this.data.datasets[0].data[5] = 0; this.data.datasets[0].data[5] = 0;
} }
if (this.totalStamp === 0) {
this.data.datasets[0].data[6] = 0;
}
const openNotificationsArray = this.worklistNotifications.GetOpenNotificationsList; const openNotificationsArray = this.worklistNotifications.GetOpenNotificationsList;
for (const notification of openNotificationsArray) { for (const notification of openNotificationsArray) {
@ -282,6 +296,9 @@ export class HomeComponent implements OnInit {
} else if (notification.ITEM_TYPE === 'INVITEM') { } else if (notification.ITEM_TYPE === 'INVITEM') {
this.filters[6].value = this.totalIC; this.filters[6].value = this.totalIC;
this.data.datasets[0].data[5] = notification.OPEN_NTF_NUMBER; this.data.datasets[0].data[5] = notification.OPEN_NTF_NUMBER;
} else if (notification.ITEM_TYPE === 'STAMP') {
this.filters[7].value = this.totalStamp;
this.data.datasets[0].data[6] = notification.OPEN_NTF_NUMBER;
} }
} }
// this.data.datasets[0].data[4] = this.ITGCount; // this.data.datasets[0].data[4] = this.ITGCount;
@ -440,6 +457,8 @@ export class HomeComponent implements OnInit {
this.totalMR = this.totalMR + 1; this.totalMR = this.totalMR + 1;
} else if (workList.ITEM_TYPE === 'INVITEM') { } else if (workList.ITEM_TYPE === 'INVITEM') {
this.totalIC = this.totalIC + 1; this.totalIC = this.totalIC + 1;
} else if (workList.ITEM_TYPE === 'STAMP') {
this.totalStamp = this.totalStamp + 1;
} }
} }

@ -88,6 +88,7 @@ export class WorklistMainComponent implements OnInit {
newArr: any = []; newArr: any = [];
selEmp: any; selEmp: any;
subordinatesleaveList: any = []; subordinatesleaveList: any = [];
allSubordinatesleaveList: any = [];
private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest; private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest;
submitterInfoRes: any; submitterInfoRes: any;
approveDis: boolean = false; approveDis: boolean = false;
@ -986,7 +987,14 @@ export class WorklistMainComponent implements OnInit {
public handleSubordinatesLeavesResult(result) { public handleSubordinatesLeavesResult(result) {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.SubordinatesOnLeavesList)) { if (this.common.hasData(result.SubordinatesOnLeavesList)) {
this.subordinatesleaveList = result.SubordinatesOnLeavesList; this.allSubordinatesleaveList = result.SubordinatesOnLeavesList;
// this.subordinatesleaveList.push(this.allSubordinatesleaveList.find(
// el => el.EMPLOYEE_NUMBER !== this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER));
this.allSubordinatesleaveList.forEach(element => {
if (element.EMPLOYEE_NUMBER !== this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER) {
this.subordinatesleaveList.push(element);
}
});
} }
} }
} }

@ -1806,6 +1806,10 @@
"tickets-balance": { "tickets-balance": {
"en": "Ticket Balance", "en": "Ticket Balance",
"ar": "رصيد التذاكر" "ar": "رصيد التذاكر"
},
"selectType": {
"en": "Select Type",
"ar": "اختر النوع"
} }
}, },
"accrualBalances": { "accrualBalances": {

@ -1561,6 +1561,15 @@ table.monthview-datetable th small {
position: absolute; position: absolute;
display: block; display: block;
} }
.business-card-modal-css .modal-wrapper{
height: 500px;
width: 300px;
top: 50%;
position: absolute;
display: block;
margin-top: -250px;
}
.app-update-modal-css .modal-wrapper{ .app-update-modal-css .modal-wrapper{
border-radius: 0px !important; border-radius: 0px !important;
} }

Loading…
Cancel
Save