Merge branch 'MOHEMM-Q2-DEV' of https://gitlab.com/haroon6138/mohemmionic5 into sultan26April
@ -0,0 +1,58 @@
|
||||
<app-generic-header
|
||||
showBack="true"
|
||||
[headerText]="'login,announcement' | translate">
|
||||
</app-generic-header>
|
||||
|
||||
<ion-content style="--background:#F4F4F4;">
|
||||
<ion-searchbar (ionInput)="filterList($event)" style="--background: white"></ion-searchbar>
|
||||
<ion-list style="background: #f4f4f4;">
|
||||
<div *ngFor="let item of arrList; let i = index"
|
||||
[ngClass]="i>0 && !item.Open ? 'class-dev-close': 'class-dev-open'"
|
||||
style="background: white; margin: 20px; padding: 0px;">
|
||||
<ion-card *ngIf="i === 0 && !item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
|
||||
<img [src]="item.img" class="image-center">
|
||||
<ion-item>
|
||||
<ion-label>
|
||||
<h2 class="text-style">{{item.title}}</h2>
|
||||
<p class="text-style">{{item.body}}</p>
|
||||
<p class="text-style">{{item.date}}</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-card>
|
||||
|
||||
<ion-card *ngIf="i === 0 && item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
|
||||
<ion-card-header style="background: transparent;">
|
||||
<ion-card-title style="font-size: 20px; margin: 5px;">{{item.title}} <br>
|
||||
<p style="font-size: 12px; color: gray;">{{item.date}}</p>
|
||||
</ion-card-title>
|
||||
<img [src]="item.img" class="image-center">
|
||||
</ion-card-header>
|
||||
<ion-card-content>
|
||||
<p>{{item.body}}</p>
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
|
||||
<ion-item *ngIf="i > 0 && !item.isOpen" (click)="toggleAnnouncement(item)" lines='none'
|
||||
style="border: 1px solid lightgray; border-radius: 30px; height: 100px;">
|
||||
<img [src]="item.img" style="width: 30%;">
|
||||
<ion-label style="margin: 5px;">
|
||||
<h2>{{item.title}}</h2>
|
||||
<p>{{item.body}}</p>
|
||||
<p>{{item.date}}</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
|
||||
<ion-card *ngIf="i > 0 && item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
|
||||
<ion-card-header style="background: transparent;">
|
||||
<ion-card-title style="font-size: 20px; margin: 5px;">{{item.title}} <br>
|
||||
<p style="font-size: 12px; color: gray;">{{item.date}}</p>
|
||||
</ion-card-title>
|
||||
<img [src]="item.img" class="image-center">
|
||||
</ion-card-header>
|
||||
<ion-card-content>
|
||||
<p>{{item.body}}</p>
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
</div>
|
||||
</ion-list>
|
||||
</ion-content>
|
||||
@ -0,0 +1,22 @@
|
||||
.image-center{
|
||||
width: 50%;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.text-style{
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.class-dev-close{
|
||||
border: 1px solid lightgray;
|
||||
border-radius: 30px;
|
||||
}
|
||||
.class-dev-open{}
|
||||
|
||||
.class-item-open{
|
||||
border: 1px solid lightgray;
|
||||
border-radius: 30px;
|
||||
height: 100px;
|
||||
}
|
||||
.class-item-close{}
|
||||
@ -0,0 +1,27 @@
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { AnnouncementComponent } from './announcement.component';
|
||||
|
||||
describe('AnnouncementComponent', () => {
|
||||
let component: AnnouncementComponent;
|
||||
let fixture: ComponentFixture<AnnouncementComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ AnnouncementComponent ],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AnnouncementComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,62 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { detachEmbeddedView } from '@angular/core/src/view';
|
||||
|
||||
@Component({
|
||||
selector: 'app-announcement',
|
||||
templateUrl: './announcement.component.html',
|
||||
styleUrls: ['./announcement.component.scss'],
|
||||
})
|
||||
export class AnnouncementComponent implements OnInit {
|
||||
dt = new Date().toJSON().slice(0,10).replace(/-/g,'/');
|
||||
public arr =[
|
||||
{
|
||||
title:"Basic Microsoft Excel Cource",
|
||||
body:" is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
|
||||
img:"../assets/imgs/HMG.png",
|
||||
date: this.dt,
|
||||
isopen: true
|
||||
},
|
||||
{
|
||||
title:"External Visit",
|
||||
body:"It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).",
|
||||
img:"../assets/imgs/M.png",
|
||||
date: this.dt,
|
||||
isopen: false
|
||||
},
|
||||
{
|
||||
title:"Maintenance Activity",
|
||||
body:"The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from 'de Finibus Bonorum et Malorum' by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.",
|
||||
img:"../assets/imgs/M.png",
|
||||
date: this.dt,
|
||||
isopen: false
|
||||
},
|
||||
];
|
||||
public arrList = [];
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
this.arrList = this.arr;
|
||||
}
|
||||
|
||||
filterList(event) {
|
||||
const val = event.target.value;
|
||||
if (val === '') {
|
||||
this.arrList = this.arr;
|
||||
}
|
||||
this.arrList = this.arr.filter((item) => {
|
||||
return (item.title.toLowerCase().indexOf(val.toLowerCase()) > -1);
|
||||
});
|
||||
}
|
||||
|
||||
toggleAnnouncement(item){
|
||||
this.arrList.forEach(element => {
|
||||
if(element.title === item.title){
|
||||
element.isOpen = !element.isOpen;
|
||||
}else{
|
||||
element.isOpen = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
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 { HmgCommonModule } from '../hmg-common/hmg-common.module';
|
||||
|
||||
import { BackendIntegrationsPage } from './backend-integrations.page';
|
||||
import { AnnouncementComponent } from './announcement/announcement.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: BackendIntegrationsPage,
|
||||
children: [
|
||||
{
|
||||
path: 'announcement',
|
||||
component: AnnouncementComponent
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
HmgCommonModule,
|
||||
RouterModule.forChild(routes)
|
||||
],
|
||||
declarations: [BackendIntegrationsPage, AnnouncementComponent]
|
||||
})
|
||||
export class BackendIntegrationsPageModule {}
|
||||
@ -0,0 +1,3 @@
|
||||
<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 { BackendIntegrationsPage } from './backend-integrations.page';
|
||||
|
||||
describe('BackendIntegrationsPage', () => {
|
||||
let component: BackendIntegrationsPage;
|
||||
let fixture: ComponentFixture<BackendIntegrationsPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ BackendIntegrationsPage ],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(BackendIntegrationsPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-backend-integrations',
|
||||
templateUrl: './backend-integrations.page.html',
|
||||
styleUrls: ['./backend-integrations.page.scss'],
|
||||
})
|
||||
export class BackendIntegrationsPage implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
|
||||
|
||||
<div class="main-container" [ngStyle]="active === true ? {'color': color} : {}">
|
||||
<div class="main-container-radius" [ngStyle]="active === true ? {'color': '#ffffff'} : {'color': color}"></div>
|
||||
<span class="text-span" [ngStyle]="active === true ? {'color': '#269DB8'} : {}">{{text}}</span>
|
||||
</div>
|
||||
@ -0,0 +1,20 @@
|
||||
|
||||
|
||||
.main-container{
|
||||
width: 47px;
|
||||
position: relative;
|
||||
margin-left: 9px;
|
||||
}
|
||||
.main-container-radius{
|
||||
position: absolute;
|
||||
width: 30px;
|
||||
}
|
||||
.number-span{
|
||||
display: block;
|
||||
|
||||
}
|
||||
|
||||
.text-span{
|
||||
font-size: 13px;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { CardCalendarComponent } from './card-calendar.component';
|
||||
|
||||
describe('CardCalendarComponent', () => {
|
||||
let component: CardCalendarComponent;
|
||||
let fixture: ComponentFixture<CardCalendarComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ CardCalendarComponent ],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(CardCalendarComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,18 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-card-calendar',
|
||||
templateUrl: './card-calendar.component.html',
|
||||
styleUrls: ['./card-calendar.component.scss'],
|
||||
})
|
||||
export class CardCalendarComponent implements OnInit {
|
||||
|
||||
@Input() text: string;
|
||||
@Input() active: boolean;
|
||||
@Input() color: string;
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
||||
@ -0,0 +1,195 @@
|
||||
|
||||
|
||||
<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','HR-request')}}</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
|
||||
<ion-content>
|
||||
<div *ngIf="!showRequestDetails" class="contentBg">
|
||||
<div class="result-graph" >
|
||||
<div class="user-info">
|
||||
<div class="user-image-container">
|
||||
<div class="user-image">
|
||||
<img class="img" [src]="EmpImg ? 'data:image/png;base64,'+ EmpImg : '../assets/imgs/profile.png'" alt="Team Member Image"/>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 18px;">
|
||||
|
||||
<span class="Nametext">{{EmpName}}</span>
|
||||
<p style=" font-size: 12px; color: rgb(128, 124, 124);">{{EmpEmail}}</p>
|
||||
<!-- <span>{{EmpJob}}</span> -->
|
||||
</div>
|
||||
<div >
|
||||
<ion-row>
|
||||
<ion-col style="border-right: 1px solid rgb(221 221 221);">
|
||||
<p style="font-size: 12px; color: rgb(128, 124, 124);">{{ts.trPK('userProfile','role')}}</p>
|
||||
<span class="Boldtext">{{EmpJob}}</span>
|
||||
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<p style="font-size: 12px; color: rgb(128, 124, 124);">{{ts.trPK('userProfile','empNo')}}</p>
|
||||
|
||||
<span class="Boldtext">{{EmpNum}}</span>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="employee-information-indetail">
|
||||
<ion-row style="padding-left: 13px;">
|
||||
<ion-col>
|
||||
<p style="font-size: 16px; font-family: WorkSans-Bold; margin-top: 15px;">{{ts.trPK('userProfile','profile-details')}}</p>
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','category')}}</h2>
|
||||
<p>{{EmpCatMeaning}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','address')}}</h2>
|
||||
<p>{{EmpLocation}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','phone-no')}}</h2>
|
||||
<p>{{EmpMobile}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','busG')}}</h2>
|
||||
<p>{{EmpOrgName}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','job')}}</h2>
|
||||
<p>{{EmpJob}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','payrol')}}</h2>
|
||||
<p>{{EmpPayrol}}</p>
|
||||
</ion-col>
|
||||
|
||||
<ion-col [size]="12">
|
||||
<h2>{{ts.trPK('userProfile','position')}}</h2>
|
||||
<p>{{EmpPosition}}</p>
|
||||
|
||||
</ion-col>
|
||||
<ion-col [size]="12" style="border-bottom: none;">
|
||||
<h2>{{ts.trPK('userProfile','grade')}}</h2>
|
||||
<p>{{EmpGRADENAME}}</p>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</div>
|
||||
<div>
|
||||
<ion-button class="sendCodeBtn" (click)="createRequest()" >{{ts.trPK('userProfile','createHR-Request')}}</ion-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ///////////////////////////////////////////////////////////////////next page -->
|
||||
|
||||
<!-- <div>
|
||||
<div class="verify-code">
|
||||
<ion-row style=" margin-left: 9px; margin-bottom: 13px;">
|
||||
<ion-col style="font-size: 12px; color: rgb(128, 124, 124);">{{ts.trPK('userProfile','code-sent')}}</ion-col>
|
||||
<ion-col class="Boldtext"> {{EmpMobile}}</ion-col>
|
||||
</ion-row>
|
||||
|
||||
<ion-row dir="ltr">
|
||||
<ion-col [size]="12">
|
||||
<ion-input type="tel" maxLength="1" size="1" min="0" max="9" pattern="[0-9]{1}"
|
||||
inputmode="tel" (ionInput)="goToNextInput($event)" (ionChange)="onChange()" #ref autofocus="true">
|
||||
</ion-input>
|
||||
|
||||
<ion-input type="tel" maxLength="1" size="1" min="0" max="9" pattern="[0-9]{1}"
|
||||
inputmode="tel" (ionInput)="goToNextInput($event)" (ionChange)="onChange()"></ion-input>
|
||||
<ion-input type="tel" maxLength="1" size="1" min="0" max="9" pattern="[0-9]{1}"
|
||||
inputmode="tel" (ionInput)="goToNextInput($event)" (ionChange)="onChange()"></ion-input>
|
||||
<ion-input type="tel" maxLength="1" size="1" min="0" max="9" pattern="[0-9]{1}"
|
||||
inputmode="tel" (ionInput)="goToNextInput($event)" (ionChange)="onChange()"></ion-input>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</div>
|
||||
<div>
|
||||
<ion-button class="sendVerifyBtn" (click)="VerifyCode()" >{{ts.trPK('userProfile','verify-code')}}</ion-button>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
|
||||
|
||||
<!-- ///////////////////////////////////////////////////////////////////next page -->
|
||||
|
||||
<div *ngIf="showRequestDetails" class="result-serviceType">
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','ServiceType')}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<ion-row class="custom-radio">
|
||||
<ion-radio-group (ionChange)="showSelectedField($event)" class="radio-list">
|
||||
|
||||
<ion-radio value="HR Services" [color]="myColor">HR Services</ion-radio>
|
||||
<ion-label class="text-label" >HR Services</ion-label>
|
||||
|
||||
<ion-radio value="Complaints" [color]="myColor" >Complaints</ion-radio>
|
||||
<ion-label class="text-label">Complaints</ion-label>
|
||||
|
||||
<ion-radio value="Inquiry" [color]="myColor" >Inquiry</ion-radio>
|
||||
<ion-label class="text-label">Inquiry</ion-label>
|
||||
|
||||
</ion-radio-group>
|
||||
</ion-row>
|
||||
</div>
|
||||
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','DeptName')}}</span>
|
||||
</div>
|
||||
<div class="filed">
|
||||
<label class="selectLabel">Select Department</label>
|
||||
</div>
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','RelatedSection')}}</span>
|
||||
</div>
|
||||
<div class="filed">
|
||||
<label class="selectLabel">Select Section</label>
|
||||
</div>
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','RelatedTopic')}}</span>
|
||||
</div>
|
||||
<div class="filed">
|
||||
<label class="selectLabel">Select Topic</label>
|
||||
</div>
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','SupportingDocument')}}</span>
|
||||
</div>
|
||||
<div style="margin-left: 15px; margin-top: 12px;">
|
||||
<img (click)="uploadDocument()" src="../assets/imgs/add-photo.svg">
|
||||
</div>
|
||||
<div class="request-heading">
|
||||
<span>{{ts.trPK('userProfile','Description')}}</span>
|
||||
</div>
|
||||
<div class="filedDesc">
|
||||
<label class="labelDesc">Description</label>
|
||||
</div>
|
||||
|
||||
<ion-row style="margin-left: 5px;">
|
||||
<div class="cancelRequest">
|
||||
<ion-button (click)="cancelRequest()">Cancel
|
||||
</ion-button>
|
||||
</div>
|
||||
<div class="submitRequest">
|
||||
<ion-button (click)="submitRequest()">Submit
|
||||
</ion-button>
|
||||
</div>
|
||||
</ion-row>
|
||||
</div>
|
||||
|
||||
</ion-content>
|
||||
@ -0,0 +1,328 @@
|
||||
|
||||
|
||||
.header-toolbar-new{
|
||||
--background: #269DB8;
|
||||
}
|
||||
|
||||
.contentBg{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.contentBg:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
background: #269DB8;
|
||||
height: 140px;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1px) and (max-width:767px){
|
||||
.result-graph {
|
||||
position: relative;
|
||||
background: white;
|
||||
// margin-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
border-radius: 20px;
|
||||
z-index: 1;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 56px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
padding-top: 12px;
|
||||
}}
|
||||
|
||||
@media screen and (min-width: 768px) and (max-width:1024px){
|
||||
.result-graph {
|
||||
position: relative;
|
||||
background: white;
|
||||
// margin-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
border-radius: 20px;
|
||||
z-index: 1;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 89px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
padding-top: 114px !important;
|
||||
}}
|
||||
|
||||
.user-info{
|
||||
text-align: center;
|
||||
margin-bottom: 3px;
|
||||
.user-image-container{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
align-items: center;
|
||||
}}
|
||||
|
||||
.Boldtext{
|
||||
font-size: 13px;
|
||||
font-family: WorkSans-Bold;
|
||||
color: black !important;
|
||||
display: block !important;
|
||||
// line-height: 0px !important;
|
||||
}
|
||||
|
||||
.Nametext{
|
||||
font-size: 15px;
|
||||
font-family: WorkSans-Bold;
|
||||
color: black !important;
|
||||
display: block !important;
|
||||
// line-height: 0px !important;
|
||||
}
|
||||
|
||||
.employee-information-indetail{
|
||||
background: white;
|
||||
margin-top: 15px;
|
||||
border-radius: 20px;
|
||||
margin-bottom: 15px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
ion-col{
|
||||
padding: 15px;
|
||||
// border-bottom: 1px solid #ccc;
|
||||
}
|
||||
h2{
|
||||
font-size: 13px;
|
||||
// font-family: WorkSans-Bold;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
color: rgb(128, 124, 124);
|
||||
}
|
||||
p{
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
font-family: WorkSans-Bold;
|
||||
// margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1px) and (max-width:767px){
|
||||
.user-image{
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 95%;
|
||||
height: 100%;
|
||||
border-radius: 80px;
|
||||
/* border: 1px solid #ccc; */
|
||||
margin-top: -125px;
|
||||
|
||||
}}
|
||||
@media screen and (min-width: 768px) and (max-width:1024px){
|
||||
.user-image{
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 95%;
|
||||
height: 100%;
|
||||
border-radius: 80px;
|
||||
margin-bottom: 371px;
|
||||
}}
|
||||
|
||||
.img{
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
display: inline-flex;
|
||||
overflow: hidden;
|
||||
background: transparent;
|
||||
border-radius: 70% !important;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
.sendCodeBtn{
|
||||
--background: #269DB8;
|
||||
color: white;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
margin-left: 5px !important;
|
||||
margin-top: 15px !important;
|
||||
margin-bottom: 20px !important;
|
||||
/* border-radius: 4px; */
|
||||
height: 26px;
|
||||
/* padding: 6px 24px; */
|
||||
font-size: 15px;
|
||||
width: 322px;
|
||||
}
|
||||
|
||||
.verify-code{
|
||||
position: relative;
|
||||
background: white;
|
||||
border-radius: 20px;
|
||||
z-index: 1;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
padding: 21px 3px 34px 14px;
|
||||
margin: 25px 22px 2px 22px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// .sms_code{
|
||||
// margin: 0px;
|
||||
// text-align: center;
|
||||
// }
|
||||
|
||||
ion-input {
|
||||
margin: 0 5px;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
font-size: 32px;
|
||||
//border: solid 1px #ccc;
|
||||
border: 1px solid #ccc !important;
|
||||
//box-shadow: 0 0 5px #ccc inset;
|
||||
outline: none;
|
||||
width: 20%;
|
||||
transition: all .2s ease-in-out;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
&:focus {
|
||||
border-color:var(--ion-color-secondary) !important;
|
||||
box-shadow: 0 0 5px var(--ion-color-secondary) !important;
|
||||
}
|
||||
|
||||
&::selection {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.sendVerifyBtn{
|
||||
--background: #269DB8;
|
||||
color: white;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
margin-top: 15px !important;
|
||||
margin-bottom: 20px !important;
|
||||
/* border-radius: 4px; */
|
||||
height: 26px;
|
||||
font-size: 15px;
|
||||
width: 322px;
|
||||
margin-left: 22px;
|
||||
}
|
||||
|
||||
.custom-radio .radio-icon {
|
||||
margin: 0px;
|
||||
border-radius: 50%;
|
||||
border-width: var(--border-width);
|
||||
border-style: var(--border-style);
|
||||
border-color: #dcdcdc;
|
||||
margin-top: 6px !important;
|
||||
border-color: #d8d4d4 !important;
|
||||
margin-bottom: 18px;}
|
||||
|
||||
.text-label{
|
||||
color: black !important;
|
||||
font-size: 10px;
|
||||
margin-left: 15px;
|
||||
margin-right: 18px;
|
||||
font-family: 'WorkSans-Bold';
|
||||
}
|
||||
|
||||
.radio-list{
|
||||
background: white;
|
||||
margin-left: 18px;
|
||||
/* margin-right: 10px; */
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.result-serviceType{
|
||||
position: relative;
|
||||
background: white;
|
||||
padding-bottom: 20px;
|
||||
border-radius: 20px;
|
||||
z-index: 1;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
padding-top: 12px;
|
||||
margin: 25px 22px 2px 22px;
|
||||
padding-bottom: 241px;
|
||||
}
|
||||
|
||||
.request-heading {
|
||||
span {
|
||||
display: block;
|
||||
padding-top: 8px;
|
||||
padding-left: 15px;
|
||||
/* font-weight: bold; */
|
||||
font-size: 14px;
|
||||
font-family: 'WorkSans-Bold';
|
||||
}
|
||||
}
|
||||
|
||||
.filed{
|
||||
border-radius: 30px;
|
||||
border: 1px solid #d3d5d5 !important;
|
||||
margin: 10px;
|
||||
padding-left: 11px !important;
|
||||
padding-top: 6px !important;
|
||||
color: #636161;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.filedDesc{
|
||||
border-radius: 30px;
|
||||
border: 1px solid #d3d5d5 !important;
|
||||
margin: 10px;
|
||||
padding-left: 11px !important;
|
||||
padding-top: 6px !important;
|
||||
color: #636161;
|
||||
padding-bottom: 110px;
|
||||
}
|
||||
|
||||
.labelDesc{
|
||||
display: block;
|
||||
padding-top: 8px;
|
||||
padding-left: 15px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #adabab;
|
||||
}
|
||||
|
||||
.selectLabel{
|
||||
display: block;
|
||||
padding-top: 8px;
|
||||
padding-left: 15px;
|
||||
font-size: 14px;
|
||||
/* font-family: 'WorkSans-Bold'; */
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.cancelRequest{
|
||||
padding: 10px 0px 10px 10px;
|
||||
ion-button{
|
||||
border-radius: 7px;
|
||||
padding: 12px 25px 12px 25px;
|
||||
background: #d00a0a;
|
||||
--background: transparent;
|
||||
--box-shadow: none !important;
|
||||
height: auto;
|
||||
min-height: inherit;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.submitRequest{
|
||||
padding: 10px 10px 10px 1px;
|
||||
ion-button{
|
||||
border-radius: 7px;
|
||||
padding: 12px 25px 12px 25px;
|
||||
background: #19a163;
|
||||
--background: transparent;
|
||||
--box-shadow: none !important;
|
||||
height: auto;
|
||||
min-height: inherit;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}}
|
||||
@ -0,0 +1,27 @@
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { HRRequestComponent } from './hr-request.component';
|
||||
|
||||
describe('HRRequestComponent', () => {
|
||||
let component: HRRequestComponent;
|
||||
let fixture: ComponentFixture<HRRequestComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ HRRequestComponent ],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(HRRequestComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,131 @@
|
||||
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 { MyTeamService } from '../service/my-team.service';
|
||||
import { Location } from '@angular/common';
|
||||
import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response';
|
||||
import { LoginModel } from 'src/app/authentication/models/LoginModel';
|
||||
import { SendActivationByType } from 'src/app/authentication/models/sendActivationByType';
|
||||
|
||||
@Component({
|
||||
selector: 'app-hr-request',
|
||||
templateUrl: './hr-request.component.html',
|
||||
styleUrls: ['./hr-request.component.scss'],
|
||||
})
|
||||
export class HRRequestComponent implements OnInit {
|
||||
|
||||
public EmpName : string;
|
||||
public EmpNum : string;
|
||||
public EmpGroup : string;
|
||||
public EmpMobile : string;
|
||||
public EmpJob : string;
|
||||
public EmpOrgName : string;
|
||||
public EmpPayrol : string;
|
||||
public EmpPosition : string;
|
||||
public EmpEmail: string;
|
||||
public EmpCatMeaning:string;
|
||||
public EmpGRADENAME : string;
|
||||
public EmpLocation : string;
|
||||
public EmpImg : string;
|
||||
public userImage: any = '../assets/imgs/profile.png';
|
||||
public loginData = new LoginModel();
|
||||
public searchKeySelect = 'Complaints';
|
||||
myColor: string = 'secondary';
|
||||
public showRequestDetails = false;
|
||||
|
||||
|
||||
public direction: string;
|
||||
constructor(
|
||||
public ts: TranslatorService,
|
||||
public cs: CommonService,
|
||||
public authService: AuthenticationService,
|
||||
public sharedData: SharedDataService,
|
||||
public events: Events,
|
||||
public myTeamService: MyTeamService,
|
||||
private location: Location,
|
||||
private menu: MenuController,
|
||||
|
||||
) {
|
||||
this.direction = TranslatorService.getCurrentDirection();
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.getUserInformation();
|
||||
|
||||
}
|
||||
|
||||
goback() {
|
||||
this.location.back();
|
||||
|
||||
}
|
||||
|
||||
getUserInformation(){
|
||||
const request = {
|
||||
P_SELECTED_EMPLOYEE_NUMBER:"121816",
|
||||
P_SELECTED_RESP_ID:-999,
|
||||
P_PAGE_NUM:1,
|
||||
P_PAGE_LIMIT:1
|
||||
|
||||
};
|
||||
this.myTeamService.getUserInfo(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
|
||||
{
|
||||
this.handleUserInfoResult(result);
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
handleUserInfoResult(result){
|
||||
this.EmpName = result.MemberInformationList[0].EMPLOYEE_NAME;
|
||||
console.log("____________" + this.EmpName);
|
||||
this.EmpNum = result.MemberInformationList[0].EMPLOYEE_NUMBER;
|
||||
this.EmpGroup = result.MemberInformationList[0].BUSINESS_GROUP_NAME;
|
||||
this.EmpMobile = result.MemberInformationList[0].EMPLOYEE_MOBILE_NUMBER;
|
||||
this.EmpJob = result.MemberInformationList[0].JOB_NAME;
|
||||
this.EmpOrgName = result.MemberInformationList[0].ORGANIZATION_NAME;
|
||||
this.EmpPayrol = result.MemberInformationList[0].PAYROLL_NAME;
|
||||
this.EmpPosition = result.MemberInformationList[0].POSITION_NAME;
|
||||
this.EmpEmail = result.MemberInformationList[0].EMPLOYEE_EMAIL_ADDRESS;
|
||||
this.EmpCatMeaning = result.MemberInformationList[0].EMPLOYMENT_CATEGORY_MEANING;
|
||||
this.EmpGRADENAME = result.MemberInformationList[0].GRADE_NAME;
|
||||
this.EmpLocation = result.MemberInformationList[0].LOCATION_NAME;
|
||||
this.EmpImg = result.MemberInformationList[0].EMPLOYEE_IMAGE
|
||||
// console.log("total no "+this.EmpTotal)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// public sendActivationCode() {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
// VerifyCode(){
|
||||
|
||||
// }
|
||||
createRequest(){
|
||||
if(this.showRequestDetails){
|
||||
this.showRequestDetails = false
|
||||
|
||||
}else{
|
||||
this.showRequestDetails = true
|
||||
}}
|
||||
|
||||
|
||||
public cancelRequest() {
|
||||
this.cs.openMyRequestPage();
|
||||
this.menu.toggle();
|
||||
}
|
||||
|
||||
submitRequest(){
|
||||
|
||||
}
|
||||
|
||||
uploadDocument(){
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
|
||||
|
||||
<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>
|
||||
@ -0,0 +1,33 @@
|
||||
|
||||
|
||||
.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;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { MyRequestComponent } from './my-request.component';
|
||||
|
||||
describe('MyRequestComponent', () => {
|
||||
let component: MyRequestComponent;
|
||||
let fixture: ComponentFixture<MyRequestComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ MyRequestComponent ],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(MyRequestComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,46 @@
|
||||
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 { MyTeamService } from '../service/my-team.service';
|
||||
import { Location } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'app-my-request',
|
||||
templateUrl: './my-request.component.html',
|
||||
styleUrls: ['./my-request.component.scss'],
|
||||
})
|
||||
export class MyRequestComponent implements OnInit {
|
||||
public direction : String;
|
||||
|
||||
|
||||
constructor(
|
||||
public ts: TranslatorService,
|
||||
public cs: CommonService,
|
||||
public authService: AuthenticationService,
|
||||
public sharedData: SharedDataService,
|
||||
public events: Events,
|
||||
public myTeamService: MyTeamService,
|
||||
private location: Location,
|
||||
private menu: MenuController,
|
||||
|
||||
) {
|
||||
this.direction = TranslatorService.getCurrentLanguageName();
|
||||
}
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
goback() {
|
||||
this.location.back();
|
||||
|
||||
}
|
||||
|
||||
public openHRRequestPage() {
|
||||
this.cs.openHRRequestPage();
|
||||
this.menu.toggle();
|
||||
}
|
||||
|
||||
}
|
||||
|
After Width: | Height: | Size: 237 KiB |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
|
||||
<g id="Group_7231" data-name="Group 7231" transform="translate(-111.351 -245.557)">
|
||||
<circle id="Ellipse_152" data-name="Ellipse 152" cx="15" cy="15" r="15" transform="translate(111.351 245.557)" fill="#1fa169"/>
|
||||
<path id="Path_13" data-name="Path 13" d="M11.706,9.111c-.791-.676-1.593-1.086-2.375-.411l-.466.408c-.341.3-.976,1.681-3.429-1.141S4.443,4.71,4.785,4.416l.469-.409c.777-.677.484-1.529-.077-2.406L4.839,1.07C4.276.2,3.663-.38,2.884.3L2.463.664A3.952,3.952,0,0,0,.922,3.279C.641,5.138,1.528,7.266,3.559,9.6s4.014,3.51,5.895,3.489a3.962,3.962,0,0,0,2.8-1.161l.422-.368c.777-.675.294-1.363-.5-2.041Z" transform="translate(119.204 254.187)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 769 B |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="19.572" height="21" viewBox="0 0 19.572 21">
|
||||
<g id="phone-receiver-silhouette" transform="translate(-0.872 0)">
|
||||
<path id="Path_13" data-name="Path 13" d="M18.252,14.616c-1.269-1.085-2.556-1.742-3.809-.659l-.748.655c-.547.475-1.565,2.7-5.5-1.831S6.6,7.556,7.149,7.085L7.9,6.429c1.246-1.086.776-2.453-.123-3.86l-.543-.852C6.332.313,5.349-.609,4.1.475l-.675.59A6.339,6.339,0,0,0,.953,5.26C.5,8.242,1.924,11.656,5.182,15.4s6.439,5.63,9.456,5.6a6.356,6.356,0,0,0,4.5-1.862l.678-.591c1.246-1.083.472-2.186-.8-3.274Z" transform="translate(0 0)" fill="#259cb8"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 622 B |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="17.876" height="17.876" viewBox="0 0 17.876 17.876">
|
||||
<g id="new-page" transform="translate(-1 -1)">
|
||||
<path id="Path_14" data-name="Path 14" d="M20.7,7H7.6a.6.6,0,0,0-.6.6V20.7a.6.6,0,0,0,.6.6H20.7a.6.6,0,0,0,.6-.6V7.6A.6.6,0,0,0,20.7,7Zm-2.979,7.746H14.746v2.979H13.554V14.746H10.575V13.554h2.979V10.575h1.192v2.979h2.979Z" transform="translate(-2.425 -2.425)" fill="#fff"/>
|
||||
<path id="Path_15" data-name="Path 15" d="M15.3,3.383V1.6a.6.6,0,0,0-.6-.6H1.6a.6.6,0,0,0-.6.6V14.7a.6.6,0,0,0,.6.6H3.383V5.171A1.788,1.788,0,0,1,5.171,3.383Z" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 619 B |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="17.876" height="17.876" viewBox="0 0 17.876 17.876">
|
||||
<g id="new-page" transform="translate(-1 -1)">
|
||||
<path id="Path_14" data-name="Path 14" d="M20.7,7H7.6a.6.6,0,0,0-.6.6V20.7a.6.6,0,0,0,.6.6H20.7a.6.6,0,0,0,.6-.6V7.6A.6.6,0,0,0,20.7,7Zm-2.979,7.746H14.746v2.979H13.554V14.746H10.575V13.554h2.979V10.575h1.192v2.979h2.979Z" transform="translate(-2.425 -2.425)" fill="#fff"/>
|
||||
<path id="Path_15" data-name="Path 15" d="M15.3,3.383V1.6a.6.6,0,0,0-.6-.6H1.6a.6.6,0,0,0-.6.6V14.7a.6.6,0,0,0,.6.6H3.383V5.171A1.788,1.788,0,0,1,5.171,3.383Z" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 619 B |
@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15.663" height="17.821" viewBox="0 0 15.663 17.821">
|
||||
<g id="user_19_" data-name="user (19)" transform="translate(-31)">
|
||||
<g id="Group_7233" data-name="Group 7233" transform="translate(34.133)">
|
||||
<g id="Group_7232" data-name="Group 7232">
|
||||
<path id="Path_16" data-name="Path 16" d="M125.7,0a4.7,4.7,0,1,0,4.7,4.7A4.7,4.7,0,0,0,125.7,0Z" transform="translate(-121)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7235" data-name="Group 7235" transform="translate(31 10.442)">
|
||||
<g id="Group_7234" data-name="Group 7234">
|
||||
<path id="Path_17" data-name="Path 17" d="M44.678,302.026a6.7,6.7,0,0,0-4.8-2.026H37.787a6.7,6.7,0,0,0-4.8,2.026A6.848,6.848,0,0,0,31,306.857a.522.522,0,0,0,.522.522H46.141a.522.522,0,0,0,.522-.522A6.848,6.848,0,0,0,44.678,302.026Z" transform="translate(-31 -300)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 912 B |
@ -0,0 +1,34 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22.515" height="19.099" viewBox="0 0 22.515 19.099">
|
||||
<g id="group_2_" data-name="group (2)" transform="translate(0 -38.84)">
|
||||
<g id="Group_7238" data-name="Group 7238" transform="translate(17.523 49.151)">
|
||||
<g id="Group_7237" data-name="Group 7237" transform="translate(0 0)">
|
||||
<path id="Path_23" data-name="Path 23" d="M400.235,273.32h-1.741a4.53,4.53,0,0,1,.274,1.557v6.581a1.94,1.94,0,0,1-.112.65h2.879a1.952,1.952,0,0,0,1.95-1.95V276.57A3.254,3.254,0,0,0,400.235,273.32Z" transform="translate(-398.494 -273.32)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7240" data-name="Group 7240" transform="translate(0 49.151)">
|
||||
<g id="Group_7239" data-name="Group 7239">
|
||||
<path id="Path_24" data-name="Path 24" d="M4.717,274.878a4.529,4.529,0,0,1,.274-1.557H3.25A3.254,3.254,0,0,0,0,276.571v3.587a1.952,1.952,0,0,0,1.95,1.95H4.829a1.941,1.941,0,0,1-.112-.65Z" transform="translate(0 -273.321)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7242" data-name="Group 7242" transform="translate(6.017 47.458)">
|
||||
<g id="Group_7241" data-name="Group 7241" transform="translate(0 0)">
|
||||
<path id="Path_25" data-name="Path 25" d="M144.06,234.815h-3.981a3.254,3.254,0,0,0-3.25,3.25v6.581a.65.65,0,0,0,.65.65h9.181a.65.65,0,0,0,.65-.65v-6.581A3.254,3.254,0,0,0,144.06,234.815Z" transform="translate(-136.829 -234.815)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7244" data-name="Group 7244" transform="translate(7.349 38.84)">
|
||||
<g id="Group_7243" data-name="Group 7243" transform="translate(0 0)">
|
||||
<path id="Path_26" data-name="Path 26" d="M171.023,38.84a3.908,3.908,0,1,0,3.909,3.909A3.913,3.913,0,0,0,171.023,38.84Z" transform="translate(-167.114 -38.84)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7246" data-name="Group 7246" transform="translate(1.471 42.483)">
|
||||
<g id="Group_7245" data-name="Group 7245" transform="translate(0 0)">
|
||||
<path id="Path_27" data-name="Path 27" d="M36.366,121.689a2.922,2.922,0,1,0,2.923,2.923A2.926,2.926,0,0,0,36.366,121.689Z" transform="translate(-33.443 -121.689)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7248" data-name="Group 7248" transform="translate(15.198 42.483)">
|
||||
<g id="Group_7247" data-name="Group 7247" transform="translate(0 0)">
|
||||
<path id="Path_28" data-name="Path 28" d="M348.53,121.689a2.923,2.923,0,1,0,2.923,2.923A2.926,2.926,0,0,0,348.53,121.689Z" transform="translate(-345.607 -121.689)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12.339" height="14.601" viewBox="0 0 12.339 14.601">
|
||||
<g id="calendar_26_" data-name="calendar (26)" transform="translate(-7.31 -1.5)">
|
||||
<path id="Path_18" data-name="Path 18" d="M7.31,38.632a.993.993,0,0,0,.993.993H18.656a.993.993,0,0,0,.993-.993V30.71H7.31Zm8.545-5.813h1.61v1.61h-1.61Zm0,2.737h1.61v1.61h-1.61Zm-3.179-2.737h1.608v1.61H12.675Zm0,2.737h1.608v1.61H12.675ZM9.492,32.818H11.1v1.61H9.492Zm0,2.737H11.1v1.61H9.492Z" transform="translate(0 -23.523)" fill="#259cb8"/>
|
||||
<path id="Path_19" data-name="Path 19" d="M54.275,4.755a.175.175,0,0,0,.175-.175v-2.9a.175.175,0,1,0-.35,0v2.9A.175.175,0,0,0,54.275,4.755Z" transform="translate(-37.681)" fill="#259cb8"/>
|
||||
<path id="Path_20" data-name="Path 20" d="M18.656,9.4H17.114v1.542a.528.528,0,1,1-1.055,0V9.4H10.9v1.542a.528.528,0,1,1-1.053,0V9.4H8.3a1,1,0,0,0-.993.993V13.2H19.649V10.393a1,1,0,0,0-.993-.993Z" transform="translate(0 -6.362)" fill="#259cb8"/>
|
||||
<path id="Path_21" data-name="Path 21" d="M22.275,4.824a.175.175,0,0,0,.177-.175v-2.9a.177.177,0,0,0-.352,0v2.9a.175.175,0,0,0,.175.175Z" transform="translate(-11.911 -0.069)" fill="#259cb8"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,6 @@
|
||||
<svg id="data-management_1_" data-name="data-management (1)" xmlns="http://www.w3.org/2000/svg" width="14.455" height="14.455" viewBox="0 0 14.455 14.455">
|
||||
<path id="Path_209" data-name="Path 209" d="M271.424,0H271V6.8h6.8V6.381A6.408,6.408,0,0,0,271.424,0Z" transform="translate(-263.349)" fill="#259cb8"/>
|
||||
<path id="Path_210" data-name="Path 210" d="M78.084,276.2a6.32,6.32,0,0,0,10.529-4.775V271h-5.33Z" transform="translate(-75.879 -263.349)" fill="#259cb8"/>
|
||||
<path id="Path_211" data-name="Path 211" d="M98.924,61H98.5a6.31,6.31,0,0,0-3.7,1.2l4.128,4.128Z" transform="translate(-92.12 -59.278)" fill="#259cb8"/>
|
||||
<path id="Path_212" data-name="Path 212" d="M2.021,122.787a6.25,6.25,0,0,0-.415,8.784l4.6-4.6Z" transform="translate(0 -119.32)" fill="#259cb8"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 778 B |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16.567" height="19.604" viewBox="0 0 16.567 19.604">
|
||||
<g id="calendar_26_" data-name="calendar (26)" transform="translate(-7.31 -1.5)">
|
||||
<path id="Path_18" data-name="Path 18" d="M7.31,41.346a1.333,1.333,0,0,0,1.333,1.333h13.9a1.333,1.333,0,0,0,1.333-1.333V30.71H7.31Zm11.472-7.805h2.162V35.7H18.782Zm0,3.675h2.162v2.162H18.782Zm-4.268-3.675h2.159V35.7H14.514Zm0,3.675h2.159v2.162H14.514ZM10.24,33.541H12.4V35.7H10.24Zm0,3.675H12.4v2.162H10.24Z" transform="translate(0 -21.575)" fill="#fff"/>
|
||||
<path id="Path_19" data-name="Path 19" d="M54.335,5.87a.235.235,0,0,0,.235-.235v-3.9a.235.235,0,0,0-.47,0v3.9a.235.235,0,0,0,.235.235Z" transform="translate(-34.56)" fill="#fff"/>
|
||||
<path id="Path_20" data-name="Path 20" d="M22.544,9.4h-2.07v2.07a.708.708,0,0,1-1.417,0V9.4H12.127v2.07a.708.708,0,1,1-1.414,0V9.4H8.643A1.336,1.336,0,0,0,7.31,10.733V14.5H23.877V10.733A1.336,1.336,0,0,0,22.544,9.4Z" transform="translate(0 -5.835)" fill="#fff"/>
|
||||
<path id="Path_21" data-name="Path 21" d="M22.335,5.933a.235.235,0,0,0,.238-.235V1.8a.238.238,0,0,0-.473,0V5.7a.235.235,0,0,0,.235.235Z" transform="translate(-10.924 -0.063)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12.339" height="14.601" viewBox="0 0 12.339 14.601">
|
||||
<g id="calendar_26_" data-name="calendar (26)" transform="translate(-7.31 -1.5)">
|
||||
<path id="Path_18" data-name="Path 18" d="M7.31,38.632a.993.993,0,0,0,.993.993H18.656a.993.993,0,0,0,.993-.993V30.71H7.31Zm8.545-5.813h1.61v1.61h-1.61Zm0,2.737h1.61v1.61h-1.61Zm-3.179-2.737h1.608v1.61H12.675Zm0,2.737h1.608v1.61H12.675ZM9.492,32.818H11.1v1.61H9.492Zm0,2.737H11.1v1.61H9.492Z" transform="translate(0 -23.523)" fill="#259cb8"/>
|
||||
<path id="Path_19" data-name="Path 19" d="M54.275,4.755a.175.175,0,0,0,.175-.175v-2.9a.175.175,0,1,0-.35,0v2.9A.175.175,0,0,0,54.275,4.755Z" transform="translate(-37.681)" fill="#259cb8"/>
|
||||
<path id="Path_20" data-name="Path 20" d="M18.656,9.4H17.114v1.542a.528.528,0,1,1-1.055,0V9.4H10.9v1.542a.528.528,0,1,1-1.053,0V9.4H8.3a1,1,0,0,0-.993.993V13.2H19.649V10.393a1,1,0,0,0-.993-.993Z" transform="translate(0 -6.362)" fill="#259cb8"/>
|
||||
<path id="Path_21" data-name="Path 21" d="M22.275,4.824a.175.175,0,0,0,.177-.175v-2.9a.177.177,0,0,0-.352,0v2.9a.175.175,0,0,0,.175.175Z" transform="translate(-11.911 -0.069)" fill="#259cb8"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,6 @@
|
||||
<svg id="data-management_1_" data-name="data-management (1)" xmlns="http://www.w3.org/2000/svg" width="14.455" height="14.455" viewBox="0 0 14.455 14.455">
|
||||
<path id="Path_209" data-name="Path 209" d="M271.424,0H271V6.8h6.8V6.381A6.408,6.408,0,0,0,271.424,0Z" transform="translate(-263.349)" fill="#259cb8"/>
|
||||
<path id="Path_210" data-name="Path 210" d="M78.084,276.2a6.32,6.32,0,0,0,10.529-4.775V271h-5.33Z" transform="translate(-75.879 -263.349)" fill="#259cb8"/>
|
||||
<path id="Path_211" data-name="Path 211" d="M98.924,61H98.5a6.31,6.31,0,0,0-3.7,1.2l4.128,4.128Z" transform="translate(-92.12 -59.278)" fill="#259cb8"/>
|
||||
<path id="Path_212" data-name="Path 212" d="M2.021,122.787a6.25,6.25,0,0,0-.415,8.784l4.6-4.6Z" transform="translate(0 -119.32)" fill="#259cb8"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 778 B |