+
@@ -77,5 +127,9 @@
+
+
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/Mohem/src/app/my-team/home/home.component.scss b/Mohem/src/app/my-team/home/home.component.scss
index ded6a0aa..13788acf 100644
--- a/Mohem/src/app/my-team/home/home.component.scss
+++ b/Mohem/src/app/my-team/home/home.component.scss
@@ -30,20 +30,37 @@ ion-content {
}
.request-heading {
span {
- text-align: center;
+ // text-align: center;
+ // display: block;
+ // padding-top: 8px;
+ // font-family: workSans-Regular;
display: block;
padding-top: 8px;
- font-family: workSans-Regular;
+ padding-left: 15px;
+ font-weight: bold;
+ font-size: 12px;
+ margin-top: 9px;
}
}
+.search-label{
+ border: 1px solid #ccc;
+ margin-left: 15px;
+ margin-right: 15px;
+ border-radius: 22px;
+ margin-top: 24px;
+ font-size: 11px;
+ color: rgb(143, 141, 141);
+}
+
.result-graph {
position: relative;
background: white;
margin-top: 20px;
- padding-bottom: 20px;
+ padding-bottom: 35px;
border-radius: 20px;
z-index: 1;
+ border: 1px solid #ccc;
}
.result-text-container {
padding: 0;
@@ -139,7 +156,7 @@ ion-content {
width: 100%;
height: 100%;
border-radius: 80px;
- border: 1px solid #ccc;
+ border: 1px solid rgb(170, 169, 169);
margin: 0px auto 6px;
}
@@ -162,3 +179,64 @@ ion-content {
}
}
}
+
+// .myClass .toggle-icon {
+// background-color: purple; // this changes the background, ie the grey stripe.
+// .toggle-inner {
+// background-color: yellow; // this changes the backgroundcolor of the toggle dot.
+// }
+// }
+
+.text-label{
+ --color: black !important;
+ font-size: 13px;
+ margin-left: 15px;
+ margin-right: 18px;
+}
+
+.radio-list{
+ background: white;
+ margin-left: 18px;
+ /* margin-right: 10px; */
+ margin-top: 12px;
+}
+
+// .selected .radio-icon {
+// border-color: #0064D9;
+// color: red;
+// }
+
+ .radio-icon{
+
+.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;}
+}
+.text{
+ font-size: 16px;
+ font-weight: bolder;
+ font-family: 'WorkSans-Bold';
+ margin-top: 27px;
+}
+
+.number{
+ width: 20px;
+ height: 20px;
+ padding-right: -10px;
+ border-radius: 100%;
+ background-color: #269DB8;
+ z-index: 9;
+ margin-top: 26px;
+}
+
+.numberEmp{
+ color: white;
+ font-size: 13px;
+ font-weight: bolder;
+ margin-left: 6px;
+}
\ No newline at end of file
diff --git a/Mohem/src/app/my-team/home/home.component.ts b/Mohem/src/app/my-team/home/home.component.ts
index edc30021..295da569 100644
--- a/Mohem/src/app/my-team/home/home.component.ts
+++ b/Mohem/src/app/my-team/home/home.component.ts
@@ -7,6 +7,7 @@ import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-respo
import { MyTeamService } from '../service/my-team.service';
import { ModalController, IonInfiniteScroll } from '@ionic/angular';
import { DetailsComponent } from '../details/details.component';
+import { Body } from '@angular/http/src/body';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
@@ -28,6 +29,8 @@ export class HomeComponent implements OnInit {
public selEmpNo: any;
public totalEmployees = 0;
public pageFirstVisit = false;
+ myColor: string = 'secondary';
+ public EmpTotal = [];
public options = {
cutoutPercentage: 80,
@@ -95,7 +98,13 @@ export class HomeComponent implements OnInit {
ngOnInit() {
this.common.sharedService.setSharedData( [], DetailsComponent.opendEmployeesARR);
this.setIntitial();
+
+ this.getSuborinatesAttStatus();
}
+ toggleColor() {
+ this.myColor = 'secondary';
+ // this.myColor = '#269DB8'
+}
// activeFilter(index: number) {
// this.previousActiveIndex = this.currentActiveIndex;
@@ -228,4 +237,36 @@ export class HomeComponent implements OnInit {
this.showEmailInput = true;
}
}
+
+
+
+ getSuborinatesAttStatus(){
+ const request = {
+ // VersionID:2.8,
+ // Channel:37,
+ // LanguageID:2,
+ // MobileType:"android",
+ // P_SESSION_ID:1142449920,
+ // MobileNumber:"0508079569",
+ // TokenID:"VHR_Token",
+ // P_USER_NAME:"111209",
+ // UserName:"111209",
+ // P_EMAIL_ADDRESS:"Faisal.AlQurashi@cloudsolutions.com.sa",
+ SearchMonth:"January",
+ SearchYear:2021
+
+ };
+ // this.myTeamService.getSuborinatesAttStatus().subscribe((result: any) =>
+ this.myTeamService.getSuborinatesAttStatus(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
+ {
+ this.handleRespondSuborinatesAttStatusResult(result);
+
+ })
+ }
+
+ handleRespondSuborinatesAttStatusResult(result){
+ // this.EmpTotal = result.GetSubordinatesAttdStatusList.length;
+ this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES;
+ console.log("total no "+this.EmpTotal)
+ }
}
diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.html b/Mohem/src/app/my-team/hr-request/hr-request.component.html
new file mode 100644
index 00000000..ed115638
--- /dev/null
+++ b/Mohem/src/app/my-team/hr-request/hr-request.component.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![Team Member Image]()
+
+
+
+
+
{{EmpName}}
+
{{EmpEmail}}
+
+
+
+
+
+ {{ts.trPK('userProfile','role')}}
+ {{EmpJob}}
+
+
+
+ {{ts.trPK('userProfile','empNo')}}
+
+ {{EmpNum}}
+
+
+
+
+
+
+
+
+ {{ts.trPK('userProfile','createHR-Request')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ts.trPK('userProfile','ServiceType')}}
+
+
+
+
+
+ HR Services
+ HR Services
+
+ Complaints
+ Complaints
+
+ Inquiry
+ Inquiry
+
+
+
+
+
+
+ {{ts.trPK('userProfile','DeptName')}}
+
+
+
+
+
+ {{ts.trPK('userProfile','RelatedSection')}}
+
+
+
+
+
+ {{ts.trPK('userProfile','RelatedTopic')}}
+
+
+
+
+
+ {{ts.trPK('userProfile','SupportingDocument')}}
+
+
+

+
+
+ {{ts.trPK('userProfile','Description')}}
+
+
+
+
+
+
+
+ Cancel
+
+
+
+ Submit
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.scss b/Mohem/src/app/my-team/hr-request/hr-request.component.scss
new file mode 100644
index 00000000..961623fc
--- /dev/null
+++ b/Mohem/src/app/my-team/hr-request/hr-request.component.scss
@@ -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;
+ }}
\ No newline at end of file
diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.spec.ts b/Mohem/src/app/my-team/hr-request/hr-request.component.spec.ts
new file mode 100644
index 00000000..0b5ad557
--- /dev/null
+++ b/Mohem/src/app/my-team/hr-request/hr-request.component.spec.ts
@@ -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;
+
+ 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();
+ });
+});
diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.ts b/Mohem/src/app/my-team/hr-request/hr-request.component.ts
new file mode 100644
index 00000000..64913439
--- /dev/null
+++ b/Mohem/src/app/my-team/hr-request/hr-request.component.ts
@@ -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(){
+
+ }
+}
diff --git a/Mohem/src/app/my-team/my-request/my-request.component.html b/Mohem/src/app/my-team/my-request/my-request.component.html
new file mode 100644
index 00000000..ff0ade4d
--- /dev/null
+++ b/Mohem/src/app/my-team/my-request/my-request.component.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+ {{ts.trPK('general','empty')}}
+
+
+
+
+
+ {{ts.trPK('userProfile','createHR-Request')}}
+
+
diff --git a/Mohem/src/app/my-team/my-request/my-request.component.scss b/Mohem/src/app/my-team/my-request/my-request.component.scss
new file mode 100644
index 00000000..d94d7212
--- /dev/null
+++ b/Mohem/src/app/my-team/my-request/my-request.component.scss
@@ -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;
+ }
\ No newline at end of file
diff --git a/Mohem/src/app/my-team/my-request/my-request.component.spec.ts b/Mohem/src/app/my-team/my-request/my-request.component.spec.ts
new file mode 100644
index 00000000..a7e6eb81
--- /dev/null
+++ b/Mohem/src/app/my-team/my-request/my-request.component.spec.ts
@@ -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;
+
+ 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();
+ });
+});
diff --git a/Mohem/src/app/my-team/my-request/my-request.component.ts b/Mohem/src/app/my-team/my-request/my-request.component.ts
new file mode 100644
index 00000000..9213d2d4
--- /dev/null
+++ b/Mohem/src/app/my-team/my-request/my-request.component.ts
@@ -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();
+}
+
+}
diff --git a/Mohem/src/app/my-team/my-team.module.ts b/Mohem/src/app/my-team/my-team.module.ts
index 784d9bbb..54b8a875 100644
--- a/Mohem/src/app/my-team/my-team.module.ts
+++ b/Mohem/src/app/my-team/my-team.module.ts
@@ -8,6 +8,9 @@ import { IonicModule } from '@ionic/angular';
import { MyTeamPage } from './my-team.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';
+
const routes: Routes = [
{
@@ -24,7 +27,16 @@ const routes: Routes = [
{
path: 'details-2',
component: DetailsComponent
+ },
+ {
+ path: 'my-request',
+ component: MyRequestComponent
+ },
+ {
+ path: 'hr-request',
+ component: HRRequestComponent
}
+
]
}
];
@@ -37,6 +49,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes)
],
- declarations: [MyTeamPage,HomeComponent,DetailsComponent]
+ declarations: [MyTeamPage,HomeComponent,DetailsComponent,MyRequestComponent,HRRequestComponent]
})
export class MyTeamPageModule {}
diff --git a/Mohem/src/app/my-team/service/my-team.service.ts b/Mohem/src/app/my-team/service/my-team.service.ts
index ebda3f1d..6adcf6bf 100644
--- a/Mohem/src/app/my-team/service/my-team.service.ts
+++ b/Mohem/src/app/my-team/service/my-team.service.ts
@@ -7,6 +7,8 @@ import { AuthenticationService } from "src/app/hmg-common/services/authenticatio
export class MyTeamService {
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';
constructor(
public con: ConnectorService,
private authService: AuthenticationService
@@ -16,4 +18,18 @@ export class MyTeamService {
this.authService.authenticateRequest(request);
return this.con.post(MyTeamService.getMyTeam, request, onError, errorLabel);
}
+
+ public getSuborinatesAttStatus(absence: any, onError?: any, errorLabel?: string){
+ const request = absence;
+ this.authService.authenticateRequest(request);
+ return this.con.post(MyTeamService.getSuborinateStatus, request, onError, errorLabel);
+ }
+
+ public getUserInfo(absence: any, onError?: any, errorLabel?: string){
+ const request = absence;
+ this.authService.authenticateRequest(request);
+ return this.con.post(MyTeamService.getUserInfo, request, onError, errorLabel);
+ }
+
+
}
diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html
index f4fa3715..15900c2a 100644
--- a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html
+++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html
@@ -30,16 +30,15 @@
-
-
- {{'vacation-rule, itemType' | translate}}
-
-
- {{x.ITEM_TYPE_DISPLAY_NAME}}
-
-
+
+
+
+
+
diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss
index 7edf7d17..c4fc2246 100644
--- a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss
+++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss
@@ -162,3 +162,72 @@ color: black !important;
// .cusprogressbar li.active:before {
// background-color: #209a83;
// }
+
+
+.label-Select{
+ color: var(--dark);
+ font-size: 15px;
+ border: none;
+ font-weight: 400;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ width: 80%;
+ // padding: 1px 0px;
+ background-color: var(--light);
+ border-bottom: var(--cusgray) solid 1px;
+ border-radius: 0px;
+ // margin-left: 20px;
+ margin-left: 34px;
+ margin-top: -10px;
+ // -webkit-appearance: none;
+ // -moz-appearance: none;
+ text-indent: 1px;
+ // text-overflow: '';
+ box-shadow: none;
+ -webkit-box-shadow:none;
+ -moz-box-shadow: none;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+
+ :root[dir="ltr"]{
+ background-image: linear-gradient(45deg, transparent 50%, #999 50%), linear-gradient(135deg, #999 50%, transparent 50%), linear-gradient(to right, #ffffff, #ffffff);
+ background-position: calc(100% - 14px) calc(1em + 2px), calc(100% - 8px) calc(1em + 2px), 100% 0;
+ background-size: 6px 6px, 6px 6px, 2.9em 2.9em;
+ background-repeat: no-repeat;
+ padding-right: 20px;
+ }
+ :root[dir="rtl"]{
+ background-image: linear-gradient(-135deg, #999 50%, transparent 50%),linear-gradient(-45deg, transparent 50%, #999 50%), linear-gradient(to right, #ffffff, #ffffff);
+ background-position: calc(1em - 10px) calc(100% - 8px), calc(1em - 4px) calc(100% - 8px), 0 100%;
+ background-size: 6px 6px, 6px 6px, 2.9em 2.9em;
+ background-repeat: no-repeat;
+ padding-left: 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;
+ 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;
+ }
+
+
+}
\ No newline at end of file
diff --git a/Mohem/src/assets/imgs/add-photo.svg b/Mohem/src/assets/imgs/add-photo.svg
new file mode 100644
index 00000000..1184176a
--- /dev/null
+++ b/Mohem/src/assets/imgs/add-photo.svg
@@ -0,0 +1,13 @@
+
diff --git a/Mohem/src/assets/imgs/call-o.svg b/Mohem/src/assets/imgs/call-o.svg
new file mode 100644
index 00000000..b5a9434a
--- /dev/null
+++ b/Mohem/src/assets/imgs/call-o.svg
@@ -0,0 +1,6 @@
+
diff --git a/Mohem/src/assets/imgs/call.svg b/Mohem/src/assets/imgs/call.svg
new file mode 100644
index 00000000..e7b1638d
--- /dev/null
+++ b/Mohem/src/assets/imgs/call.svg
@@ -0,0 +1,5 @@
+
diff --git a/Mohem/src/assets/imgs/create req.svg b/Mohem/src/assets/imgs/create req.svg
new file mode 100644
index 00000000..8cbae617
--- /dev/null
+++ b/Mohem/src/assets/imgs/create req.svg
@@ -0,0 +1,6 @@
+
diff --git a/Mohem/src/assets/imgs/create-req.svg b/Mohem/src/assets/imgs/create-req.svg
new file mode 100644
index 00000000..8cbae617
--- /dev/null
+++ b/Mohem/src/assets/imgs/create-req.svg
@@ -0,0 +1,6 @@
+
diff --git a/Mohem/src/assets/imgs/profile.svg b/Mohem/src/assets/imgs/profile.svg
new file mode 100644
index 00000000..735b72f7
--- /dev/null
+++ b/Mohem/src/assets/imgs/profile.svg
@@ -0,0 +1,14 @@
+
diff --git a/Mohem/src/assets/imgs/team-members.svg b/Mohem/src/assets/imgs/team-members.svg
new file mode 100644
index 00000000..fbfbaa33
--- /dev/null
+++ b/Mohem/src/assets/imgs/team-members.svg
@@ -0,0 +1,34 @@
+
diff --git a/Mohem/src/assets/imgs/view days.svg b/Mohem/src/assets/imgs/view days.svg
new file mode 100644
index 00000000..cdeb2c3f
--- /dev/null
+++ b/Mohem/src/assets/imgs/view days.svg
@@ -0,0 +1,8 @@
+
diff --git a/Mohem/src/assets/imgs/view stats.svg b/Mohem/src/assets/imgs/view stats.svg
new file mode 100644
index 00000000..ab5ab989
--- /dev/null
+++ b/Mohem/src/assets/imgs/view stats.svg
@@ -0,0 +1,6 @@
+
diff --git a/Mohem/src/assets/imgs/view-attendance.svg b/Mohem/src/assets/imgs/view-attendance.svg
new file mode 100644
index 00000000..f0d0087f
--- /dev/null
+++ b/Mohem/src/assets/imgs/view-attendance.svg
@@ -0,0 +1,8 @@
+
diff --git a/Mohem/src/assets/imgs/view-days.svg b/Mohem/src/assets/imgs/view-days.svg
new file mode 100644
index 00000000..cdeb2c3f
--- /dev/null
+++ b/Mohem/src/assets/imgs/view-days.svg
@@ -0,0 +1,8 @@
+
diff --git a/Mohem/src/assets/imgs/view-stats.svg b/Mohem/src/assets/imgs/view-stats.svg
new file mode 100644
index 00000000..ab5ab989
--- /dev/null
+++ b/Mohem/src/assets/imgs/view-stats.svg
@@ -0,0 +1,6 @@
+
diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json
index 35648cb8..66beb226 100644
--- a/Mohem/src/assets/localization/i18n.json
+++ b/Mohem/src/assets/localization/i18n.json
@@ -1075,6 +1075,10 @@
"en": "My Profile",
"ar": "معلوماتي"
},
+ "profile-details": {
+ "en": "Profile Details",
+ "ar": "تفاصيل الملف الشخصي"
+ },
"edit-profile": {
"en": "Edit Profile",
"ar": "تعديل المعلومات"
@@ -1123,6 +1127,10 @@
"en": "Employee Detail",
"ar": "بيانات الموظف"
},
+ "role": {
+ "en": "Role",
+ "ar": "Role"
+ },
"address": {
"en": "Address",
"ar": "العنوان"
@@ -1225,7 +1233,7 @@
},
"monthly-attendance-calendar": {
"ar": "سجل الحضور الشهري",
- "en": "Monthly Attendance Calendar"
+ "en": "Monthly Attendance"
},
"completed": {
"ar": "منجز",
@@ -1575,6 +1583,10 @@
"en": "Late",
"ar": "التأخير"
},
+ "search-by": {
+ "en": "Search By",
+ "ar": "البحث بواسطة"
+ },
"attendance-statistics": {
"en": "Attendance Statistics",
"ar": "احصائيات الحضور"
@@ -1588,7 +1600,19 @@
"ar": "عدد"
},
"team-members": {
- "en": "TEAM MEMBERS",
+ "en": "Team Members",
+ "ar": " اعضاء الفريق"
+ },
+ "view-attendence": {
+ "en": "View Attendance",
+ "ar": " عرض الحضور"
+ },
+ "profile-details": {
+ "en": "Profile Detailes",
+ "ar": " الملف الشخصي"
+ },
+ "my-team-members": {
+ "en": "My Team Members",
"ar": " اعضاء الفريق"
},
"team-stats": {
@@ -2808,7 +2832,7 @@
"ar": "ساعات التقصير"
},
"schedule": {
- "en": "Schedule",
+ "en": "Scheduled Days",
"ar": "ايام العمل"
},
"off-days": {
@@ -2819,6 +2843,14 @@
"en": "Non Analyzed",
"ar": "لايوجد تحليل"
},
+ "view-days": {
+ "en": "View Days",
+ "ar": "عرض الأيام"
+ },
+ "view-stats": {
+ "en": "View Stats",
+ "ar": "عرض الأحصائيات"
+ },
"attendance-statistics": {
"en": "Attendance Statistics",
"ar": "احصائيات الحضور"
diff --git a/Mohem/tsconfig.json b/Mohem/tsconfig.json
index 78575c42..04015caa 100644
--- a/Mohem/tsconfig.json
+++ b/Mohem/tsconfig.json
@@ -6,7 +6,7 @@
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
- "module": "commonjs",
+ "module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
@@ -24,4 +24,5 @@
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true
}
-}
\ No newline at end of file
+}
+