Merge branch 'Fatima-Q2-June' into MOHEMM-Q2-DEV
commit
d086e9ebff
@ -0,0 +1,46 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { Routes, RouterModule } from '@angular/router';
|
||||||
|
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { MowadhafiPage } from './mowadhafi.page';
|
||||||
|
import { HmgCommonModule } from '../hmg-common/hmg-common.module';
|
||||||
|
import {MyRequestComponent} from './my-request/my-request.component';
|
||||||
|
import {HRRequestComponent} from './hr-request/hr-request.component';
|
||||||
|
import {RequestDetailsComponent} from'./request-details/request-details.component';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: MowadhafiPage,
|
||||||
|
children:[{
|
||||||
|
path: 'my-request',
|
||||||
|
component: MyRequestComponent
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'hr-request',
|
||||||
|
component: HRRequestComponent
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'request-details',
|
||||||
|
component: RequestDetailsComponent
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
HmgCommonModule,
|
||||||
|
CommonModule,
|
||||||
|
FormsModule,
|
||||||
|
IonicModule,
|
||||||
|
RouterModule.forChild(routes)
|
||||||
|
],
|
||||||
|
declarations: [MowadhafiPage,MyRequestComponent,HRRequestComponent,RequestDetailsComponent]
|
||||||
|
})
|
||||||
|
export class MowadhafiPageModule {}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<!-- <ion-header>
|
||||||
|
<ion-toolbar>
|
||||||
|
<ion-title>mowadhafi</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<ion-router-outlet></ion-router-outlet>
|
||||||
|
</ion-content>
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { MowadhafiPage } from './mowadhafi.page';
|
||||||
|
|
||||||
|
describe('MowadhafiPage', () => {
|
||||||
|
let component: MowadhafiPage;
|
||||||
|
let fixture: ComponentFixture<MowadhafiPage>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ MowadhafiPage ],
|
||||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(MowadhafiPage);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-mowadhafi',
|
||||||
|
templateUrl: './mowadhafi.page.html',
|
||||||
|
styleUrls: ['./mowadhafi.page.scss'],
|
||||||
|
})
|
||||||
|
export class MowadhafiPage implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { MowadhafiService } from './mowadhafi.service';
|
||||||
|
|
||||||
|
describe('MowadhafiService', () => {
|
||||||
|
beforeEach(() => TestBed.configureTestingModule({}));
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
const service: MowadhafiService = TestBed.get(MowadhafiService);
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,92 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { ConnectorService } from 'src/app/hmg-common/services/connector/connector.service';
|
||||||
|
import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service";
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class MowadhafiService {
|
||||||
|
public static EMPLOYEE_SHARED_DATA = 'employee';
|
||||||
|
public static getMyTeam = 'Services/ERP.svc/REST/GET_EMPLOYEE_SUBORDINATES';
|
||||||
|
public static getSuborinateStatus = 'Services/ERP.svc/REST/GET_SUBORDINATES_ATTD_STATUS';
|
||||||
|
public static getUserInfo ='Services/ERP.svc/REST/Get_UserInformation';
|
||||||
|
public static getTicketTypes ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketTypes';
|
||||||
|
public static getProject ='Services/COCWS.svc/REST/Mohemm_ITG_GetProjects';
|
||||||
|
public static getProjectDepartments ='Services/COCWS.svc/REST/Mohemm_ITG_GetProjectDepartments';
|
||||||
|
public static getDepartmentSections ='Services/COCWS.svc/REST/Mohemm_ITG_GetDepartmentSections';
|
||||||
|
public static getSectionTopics ='Services/COCWS.svc/REST/Mohemm_ITG_GetSectionTopics';
|
||||||
|
public static getTicketsByEmployee ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketsByEmployee';
|
||||||
|
public static getTicketStatisticsByEmp ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketStatisticsByEmployee';
|
||||||
|
public static getTicketTransaction ='Services/COCWS.svc/REST/Mohemm_ITG_GetTicketTransaction';
|
||||||
|
public static getTicketDetails =' Services/COCWS.svc/REST/Mohemm_ITG_GetTicketDetails';
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public con: ConnectorService,
|
||||||
|
private authService: AuthenticationService
|
||||||
|
) { }
|
||||||
|
public getEmployeeSubordinates(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getMyTeam, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getSuborinatesAttStatus(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getSuborinateStatus, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getUserInfo(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getUserInfo, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getTicketTypes(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getTicketTypes, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getProject(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getProject, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getProjectDepartments(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getProjectDepartments, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getDepartmentSections(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getDepartmentSections, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getSectionTopics(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getSectionTopics, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
public getTicketsByEmployee(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getTicketsByEmployee, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getTicketStatisticsByEmp(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getTicketStatisticsByEmp, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getTicketTransaction(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getTicketTransaction, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getTicketDetails(absence: any, onError?: any, errorLabel?: string){
|
||||||
|
const request = absence;
|
||||||
|
this.authService.authenticateRequest(request);
|
||||||
|
return this.con.post(MowadhafiService.getTicketDetails, request, onError, errorLabel);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<ion-header>
|
||||||
|
<ion-toolbar class="header-toolbar-new" >
|
||||||
|
<ion-buttons slot="start">
|
||||||
|
<nav-buttons (backClick)="goback()" [navigate]="false"></nav-buttons>
|
||||||
|
</ion-buttons>
|
||||||
|
<ion-title style=" color:white; text-align: center;">{{ts.trPK('userProfile','MyHR-request')}}</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<!-- <div>
|
||||||
|
<ion-row [ngClass]="direction == 'en' ? 'empty-en':'empty-ar' ">{{ts.trPK('general','empty')}}</ion-row>
|
||||||
|
</div> -->
|
||||||
|
<div>
|
||||||
|
<ion-card class="result-container" (click)="openRequestDetailsPage()">
|
||||||
|
<ion-card-content>
|
||||||
|
<ion-row style="margin-left: -3px; margin-right: -9px;">
|
||||||
|
<ion-col class="text">Complaints</ion-col>
|
||||||
|
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}} May2,2021</ion-col>
|
||||||
|
</ion-row>
|
||||||
|
<ion-row>There is some Complaints</ion-row>
|
||||||
|
<ion-row style="margin-top: 5px;">Pending</ion-row>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
<ion-footer class="footer">
|
||||||
|
<div class="Btn">
|
||||||
|
<ion-button class="CreateBtn" (click)="openHRRequestPage()" >{{ts.trPK('userProfile','createHR-Request')}}</ion-button>
|
||||||
|
</div>
|
||||||
|
</ion-footer>
|
||||||
|
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.empty-en{
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 15px;
|
||||||
|
font-family: WorkSans-Bold;
|
||||||
|
margin: 50px 0px 0px 100px;
|
||||||
|
}
|
||||||
|
.empty-ar{
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 15px;
|
||||||
|
font-family: WorkSans-Bold;
|
||||||
|
margin: 50px 100px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-container{
|
||||||
|
position: relative;
|
||||||
|
background: white;
|
||||||
|
/* padding-bottom: 3px; */
|
||||||
|
border-radius: 20px;
|
||||||
|
z-index: 1;
|
||||||
|
margin: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 15px;
|
||||||
|
margin-top: -9px;
|
||||||
|
font-family: 'WorkSans-bold';
|
||||||
|
}
|
||||||
|
.date{
|
||||||
|
margin-top: -9px;
|
||||||
|
margin-right: -49px;
|
||||||
|
color: gray;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
.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,66 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ion-header>
|
||||||
|
<ion-toolbar class="header-toolbar-new">
|
||||||
|
<ion-buttons slot="start">
|
||||||
|
<nav-buttons (backClick)="goback()" [navigate]="false"></nav-buttons>
|
||||||
|
</ion-buttons>
|
||||||
|
<ion-title style=" color:white; text-align: center;">{{ts.trPK('userProfile','MyHR-request')}}</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<!-- <div>
|
||||||
|
<ion-row [ngClass]="direction == 'en' ? 'empty-en':'empty-ar' ">{{ts.trPK('general','empty')}}</ion-row>
|
||||||
|
</div> -->
|
||||||
|
<div>
|
||||||
|
<ion-card class="result-container" >
|
||||||
|
<ion-card-content>
|
||||||
|
<ion-row style="margin-left: -3px; margin-right: -9px;">
|
||||||
|
<ion-col >Pending</ion-col>
|
||||||
|
<ion-col class="date">{{ts.trPK('userProfile','postedDate')}} May2,2021</ion-col>
|
||||||
|
</ion-row>
|
||||||
|
<ion-col [size]="12">
|
||||||
|
<h2 class="labels">{{ts.trPK('userProfile','refrence')}}</h2>
|
||||||
|
<p class="text">453388</p>
|
||||||
|
</ion-col>
|
||||||
|
<ion-col [size]="12">
|
||||||
|
<h2 class="labels"> {{ts.trPK('userProfile','section')}}</h2>
|
||||||
|
<p class="text">Employee</p>
|
||||||
|
</ion-col>
|
||||||
|
<ion-col [size]="12">
|
||||||
|
<h2 class="labels"> {{ts.trPK('userProfile','topic')}}</h2>
|
||||||
|
<p class="text">Change Tiket</p>
|
||||||
|
</ion-col>
|
||||||
|
<ion-col [size]="12">
|
||||||
|
<h2 class="labels">{{ts.trPK('userProfile','Description')}}</h2>
|
||||||
|
<p class="DescrText">descriptions</p>
|
||||||
|
</ion-col>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<ion-card class="result-containerList" >
|
||||||
|
<ion-card-content>
|
||||||
|
<div style="position: relative;">
|
||||||
|
<div [ngClass]=" direction == 'en'? 'request-list-container' : 'request-list-container-ar'" >
|
||||||
|
<div>
|
||||||
|
<!-- <div *ngFor="let formattedAction of showFormattedAction; let i = index"> -->
|
||||||
|
<span [ngClass]="direction == 'en'? 'text-span':'text-span-ar'">Action By</span>
|
||||||
|
<div class="action-data">
|
||||||
|
<p >descriptions</p>
|
||||||
|
<span [ngClass]="direction == 'en'? 'date-span':'date-span-ar'">May 16,2021</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,174 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.sendCodeBtn{
|
||||||
|
--background: #269DB8;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-left: 23px !important;
|
||||||
|
margin-top: 15px !important;
|
||||||
|
margin-bottom: 20px !important;
|
||||||
|
/* border-radius: 4px; */
|
||||||
|
height: 26px;
|
||||||
|
/* padding: 6px 24px; */
|
||||||
|
font-size: 15px;
|
||||||
|
width: 322px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-en{
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 15px;
|
||||||
|
font-family: WorkSans-Bold;
|
||||||
|
margin: 50px 0px 0px 100px;
|
||||||
|
}
|
||||||
|
.empty-ar{
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 15px;
|
||||||
|
font-family: WorkSans-Bold;
|
||||||
|
margin: 50px 100px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-container{
|
||||||
|
position: relative;
|
||||||
|
background: white;
|
||||||
|
/* padding-bottom: 3px; */
|
||||||
|
border-radius: 20px;
|
||||||
|
z-index: 1;
|
||||||
|
margin: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-containerList{
|
||||||
|
position: relative;
|
||||||
|
background: white;
|
||||||
|
/* padding-bottom: 3px; */
|
||||||
|
border-radius: 20px;
|
||||||
|
z-index: 1;
|
||||||
|
margin: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 15px;
|
||||||
|
// margin-top: -9px;
|
||||||
|
font-family: 'WorkSans-bold';
|
||||||
|
}
|
||||||
|
.date{
|
||||||
|
// margin-top: -9px;
|
||||||
|
margin-right: -49px;
|
||||||
|
color: gray;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.labels{
|
||||||
|
font-size: 13px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
margin-top: -10px;
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.request-list-container {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 37px;
|
||||||
|
clear: both;
|
||||||
|
min-height: 200px;
|
||||||
|
margin-bottom: 80px;
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
.request-list-container:before{
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
width: 4px;
|
||||||
|
left: 7px;
|
||||||
|
top: 15px;
|
||||||
|
background-color: #f5f4f4;
|
||||||
|
}
|
||||||
|
.request-list-container-ar {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 60px;
|
||||||
|
clear: both;
|
||||||
|
min-height: 200px;
|
||||||
|
margin-bottom: 80px;
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
.request-list-container-ar:before{
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
width: 4px;
|
||||||
|
left: 30px;
|
||||||
|
top: 15px;
|
||||||
|
right: 6px;
|
||||||
|
background-color: #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-span {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
// margin-bottom: 10px;
|
||||||
|
font-family: 'WorkSans-bold';
|
||||||
|
}
|
||||||
|
.text-span:before{
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: -35px;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
background-color: #269db8;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-span-ar{
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
// margin-bottom: 10px;
|
||||||
|
/* margin-top: 10px; */
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
.text-span-ar:before{
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
right: -29px;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
background-color: #269db8;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-data{
|
||||||
|
background-color: white;
|
||||||
|
padding: 1px;
|
||||||
|
border-radius: 20px;
|
||||||
|
font-family: WorkSans-Regular;
|
||||||
|
// padding-left: 15px;
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
p{
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-span{
|
||||||
|
font-size: 13px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
margin-top: -10px;
|
||||||
|
color: gray;
|
||||||
|
margin-left: 178px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.date-span-ar{
|
||||||
|
font-size: 13px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
margin-top: -10px;
|
||||||
|
color: gray;
|
||||||
|
margin-right: 155px;
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { RequestDetailsComponent } from './request-details.component';
|
||||||
|
|
||||||
|
describe('RequestDetailsComponent', () => {
|
||||||
|
let component: RequestDetailsComponent;
|
||||||
|
let fixture: ComponentFixture<RequestDetailsComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ RequestDetailsComponent ],
|
||||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(RequestDetailsComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { Platform, Events, MenuController } 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';
|
||||||
|
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
|
||||||
|
import { MowadhafiService } from '../mowadhafi.service';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-request-details',
|
||||||
|
templateUrl: './request-details.component.html',
|
||||||
|
styleUrls: ['./request-details.component.scss'],
|
||||||
|
})
|
||||||
|
export class RequestDetailsComponent implements OnInit {
|
||||||
|
public direction : String;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public ts: TranslatorService,
|
||||||
|
public cs: CommonService,
|
||||||
|
public authService: AuthenticationService,
|
||||||
|
public sharedData: SharedDataService,
|
||||||
|
public events: Events,
|
||||||
|
public MowadhafiService: MowadhafiService,
|
||||||
|
private location: Location,
|
||||||
|
private menu: MenuController,
|
||||||
|
|
||||||
|
) {
|
||||||
|
this.direction = TranslatorService.getCurrentLanguageName();
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.getTicketTransaction();
|
||||||
|
this.getTicketDetails()
|
||||||
|
}
|
||||||
|
|
||||||
|
goback() {
|
||||||
|
this.location.back();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
getTicketTransaction(){
|
||||||
|
const request = {
|
||||||
|
// EmployeeNumber:"191817",
|
||||||
|
ItgTicketId:"5a10de61-c4db-4c77-e464-08d8a1beaaac",
|
||||||
|
|
||||||
|
};
|
||||||
|
this.MowadhafiService.getTicketTransaction(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
|
||||||
|
{
|
||||||
|
this.handlegetTicketTransactionResult(result);
|
||||||
|
|
||||||
|
}) }
|
||||||
|
handlegetTicketTransactionResult(result){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getTicketDetails(){
|
||||||
|
const request = {
|
||||||
|
// EmployeeNumber:"191817",
|
||||||
|
ItgTicketId:"5a10de61-c4db-4c77-e464-08d8a1beaaac",
|
||||||
|
|
||||||
|
};
|
||||||
|
this.MowadhafiService.getTicketDetails(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
|
||||||
|
{
|
||||||
|
this.handlegetTicketDetailsResult(result);
|
||||||
|
|
||||||
|
}) }
|
||||||
|
handlegetTicketDetailsResult(result){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,22 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
<ion-header>
|
|
||||||
<ion-toolbar class="header-toolbar-new">
|
|
||||||
<ion-buttons slot="start">
|
|
||||||
<nav-buttons (backClick)="goback()" [navigate]="false"></nav-buttons>
|
|
||||||
</ion-buttons>
|
|
||||||
<ion-title style=" color:white; text-align: center;">{{ts.trPK('userProfile','MyHR-request')}}</ion-title>
|
|
||||||
</ion-toolbar>
|
|
||||||
</ion-header>
|
|
||||||
|
|
||||||
<ion-content>
|
|
||||||
<div>
|
|
||||||
<ion-row [ngClass]="direction == 'en' ? 'empty-en':'empty-ar' ">{{ts.trPK('general','empty')}}</ion-row>
|
|
||||||
</div>
|
|
||||||
</ion-content>
|
|
||||||
|
|
||||||
<ion-footer>
|
|
||||||
<div>
|
|
||||||
<ion-button class="sendCodeBtn" (click)="openHRRequestPage()" >{{ts.trPK('userProfile','createHR-Request')}}</ion-button>
|
|
||||||
</div>
|
|
||||||
</ion-footer>
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
.sendCodeBtn{
|
|
||||||
--background: #269DB8;
|
|
||||||
color: white;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none;
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 12px;
|
|
||||||
margin-left: 23px !important;
|
|
||||||
margin-top: 15px !important;
|
|
||||||
margin-bottom: 20px !important;
|
|
||||||
/* border-radius: 4px; */
|
|
||||||
height: 26px;
|
|
||||||
/* padding: 6px 24px; */
|
|
||||||
font-size: 15px;
|
|
||||||
width: 322px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty-en{
|
|
||||||
color: black;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 15px;
|
|
||||||
font-family: WorkSans-Bold;
|
|
||||||
margin: 50px 0px 0px 100px;
|
|
||||||
}
|
|
||||||
.empty-ar{
|
|
||||||
color: black;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 15px;
|
|
||||||
font-family: WorkSans-Bold;
|
|
||||||
margin: 50px 100px 0px 0px;
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue