diff --git a/Mohem/package.json b/Mohem/package.json index 96d93f1d..4bed3503 100644 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -61,8 +61,7 @@ "app": "0.1.0", "chart.js": "^2.9.3", "com-badrit-base64": "^0.2.0", - "compare-func": "^2.0.0", - "cordova-android": "8.1.0", + "cordova-android": "^8.1.0", "cordova-android-support-gradle-release": "^3.0.1", "cordova-open-native-settings": "^1.5.2", "cordova-opentok-android-permissions": "^1.0.1", @@ -101,9 +100,9 @@ "core-js": "^2.5.4", "date-fns": "^1.30.1", "es6-promise-plugin": "^4.1.0", - "ionic2-calendar": "^0.5.10", + "ionic2-calendar": "^0.5.8", "ionic4-rating": "^1.0.9", - "ng-circle-progress": "^1.6.0", + "ng-circle-progress": "^1.5.1", "ng2-file-upload": "^1.3.0", "ng2-pdf-viewer": "^5.3.2", "ngx-gauge": "^1.0.0-beta.10", @@ -145,7 +144,7 @@ "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~1.1.2", "karma-jasmine-html-reporter": "^0.2.2", - "node-sass": "^4.14.1", + "node-sass": "^4.13.1", "protractor": "^5.4.3", "ts-node": "~8.0.0", "tslint": "~5.12.0", @@ -219,8 +218,8 @@ "wifiwizard2": {} }, "platforms": [ - "ios", - "android" + "android", + "ios" ] } } \ No newline at end of file diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index 54eb3061..b4b5da86 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -23,6 +23,7 @@ const routes: Routes = [ { path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' }, { path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' }, { path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' }, + { path: 'mowadhafi', loadChildren: './mowadhafi/mowadhafi.module#MowadhafiPageModule' }, { path: 'erm-channel', loadChildren: './erm-channel/erm-channel.module#ErmChannelPageModule' }, { path: 'backend-integrations', loadChildren: './backend-integrations/backend-integrations.module#BackendIntegrationsPageModule' } diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 6d3210ed..f5ba5e91 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -131,6 +131,14 @@ {{ts.trPK('myTeam','myTeam-header')}} + + + + + + HR REQUEST + + diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 1fe02b87..817f5241 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -193,7 +193,7 @@ export class AppComponent implements OnInit { } public profile() { - this.cs.openEditProfile(); + this.cs.openProfile(); this.menu.toggle(); } diff --git a/Mohem/src/app/app.scss b/Mohem/src/app/app.scss index 2dd0d349..08bb1e93 100644 --- a/Mohem/src/app/app.scss +++ b/Mohem/src/app/app.scss @@ -30,4 +30,9 @@ } .start-badge{ right:16px; +} + +.my-custom-modal-css .modal-wrapper { + width: 90%; + height: 55%; } \ No newline at end of file diff --git a/Mohem/src/app/backend-integrations/announcement/announcement.component.ts b/Mohem/src/app/backend-integrations/announcement/announcement.component.ts index 3b4379e7..899669a0 100644 --- a/Mohem/src/app/backend-integrations/announcement/announcement.component.ts +++ b/Mohem/src/app/backend-integrations/announcement/announcement.component.ts @@ -1,5 +1,8 @@ import { Component, OnInit } from '@angular/core'; import { detachEmbeddedView } from '@angular/core/src/view'; +import { AnnouncementService } from 'src/app/hmg-common/services/announcement-services/announcement.service'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; @Component({ selector: 'app-announcement', @@ -7,8 +10,8 @@ import { detachEmbeddedView } from '@angular/core/src/view'; styleUrls: ['./announcement.component.scss'], }) export class AnnouncementComponent implements OnInit { - dt = new Date().toJSON().slice(0,10).replace(/-/g,'/'); - public arr =[ + 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.", @@ -33,10 +36,15 @@ export class AnnouncementComponent implements OnInit { ]; public arrList = []; - constructor() { } + constructor( + public announcementService: AnnouncementService, + public translate: TranslatorService, + public common: CommonService + ) { } ngOnInit() { this.arrList = this.arr; + // this.getAnnouncementListService(); } filterList(event) { @@ -59,4 +67,11 @@ export class AnnouncementComponent implements OnInit { }); } + getAnnouncementListService(){ + this.announcementService.getAnnouncementListService().subscribe((result: any) => { + if (this.common.validResponse(result)) { + } + }); + } + } diff --git a/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.spec.ts b/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.spec.ts new file mode 100644 index 00000000..4add8a78 --- /dev/null +++ b/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { AnnouncementService } from './announcement.service'; + +describe('AnnouncementService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: AnnouncementService = TestBed.get(AnnouncementService); + expect(service).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.ts b/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.ts new file mode 100644 index 00000000..0034c8ae --- /dev/null +++ b/Mohem/src/app/hmg-common/services/announcement-services/announcement.service.ts @@ -0,0 +1,30 @@ +import { Injectable } from '@angular/core'; +import { Request } from 'src/app/hmg-common/services/models/request'; +import { Observable } from 'rxjs'; +import { AuthenticationService } from '../authentication/authentication.service'; +import { ConnectorService } from '../connector/connector.service'; + +@Injectable({ + providedIn: 'root' +}) +export class AnnouncementService { + public static getAnnouncemntList = ''; + + constructor( + public authService: AuthenticationService, + public con: ConnectorService, + ) { } + + + getAnnouncementListService(onError ?: any , oerrorLable ?: any) { + const request = new Request(); + this.authService.authenticateRequest(request); + console.log(request); + return this.con.post( + AnnouncementService.getAnnouncemntList, + request, + onError, + oerrorLable + ); + } +} diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index 4c9c75ea..2e5e4aa0 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -1119,11 +1119,15 @@ export class CommonService { this.nav.navigateForward(['/my-team/details']); } public openMyRequestPage() { - this.nav.navigateForward(['/my-team/my-request']); + this.nav.navigateForward(['/mowadhafi/my-request']); } public openHRRequestPage() { - this.nav.navigateForward(['/my-team/hr-request']); + this.nav.navigateForward(['/mowadhafi/hr-request']); } + public openRequestDetailsPage() { + this.nav.navigateForward(['/mowadhafi/request-details']); + } + public openPage(link: string) { diff --git a/Mohem/src/app/hmg-common/services/connector/connector.service.ts b/Mohem/src/app/hmg-common/services/connector/connector.service.ts index 97a29e98..dae990dc 100644 --- a/Mohem/src/app/hmg-common/services/connector/connector.service.ts +++ b/Mohem/src/app/hmg-common/services/connector/connector.service.ts @@ -28,7 +28,7 @@ export class ConnectorService { public static timeOut = 120 * 1000; public static host = 'https://uat.hmgwebservices.com/'; - //public static host = 'https://hmgwebservices.com/'; + // public static host = 'https://hmgwebservices.com/'; constructor(public httpClient: HttpClient, public cs: CommonService, diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html index a41dd15d..3e705489 100644 --- a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html @@ -1,6 +1,6 @@
- + @@ -8,6 +8,7 @@ +
diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index aada661e..d9a4bb30 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -63,15 +63,22 @@ {{'general,other-services' | translate}} + - + + + + + + + diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.html b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.html similarity index 70% rename from Mohem/src/app/my-team/hr-request/hr-request.component.html rename to Mohem/src/app/mowadhafi/hr-request/hr-request.component.html index ed115638..77005a95 100644 --- a/Mohem/src/app/my-team/hr-request/hr-request.component.html +++ b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.html @@ -5,7 +5,7 @@ - {{ts.trPK('userProfile','HR-request')}} + {{ts.trPK('userProfile','createHR-Request')}} @@ -89,9 +89,11 @@
-
- {{ts.trPK('userProfile','createHR-Request')}} + +
+ {{ts.trPK('userProfile','createHR-Request')}}
+
@@ -128,7 +130,9 @@ -
+
+ +
{{ts.trPK('userProfile','ServiceType')}}
@@ -149,47 +153,64 @@
-
- {{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/mowadhafi/hr-request/hr-request.component.scss similarity index 66% rename from Mohem/src/app/my-team/hr-request/hr-request.component.scss rename to Mohem/src/app/mowadhafi/hr-request/hr-request.component.scss index 961623fc..6147cc4e 100644 --- a/Mohem/src/app/my-team/hr-request/hr-request.component.scss +++ b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.scss @@ -230,31 +230,29 @@ ion-input { font-family: 'WorkSans-Bold'; } - .radio-list{ - background: white; - margin-left: 18px; - /* margin-right: 10px; */ - margin-top: 12px; - } + // .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-radius: 25px; border: 1px solid #ccc; - padding-top: 12px; - margin: 25px 22px 2px 22px; - padding-bottom: 241px; + margin: 15px; } .request-heading { span { display: block; - padding-top: 8px; - padding-left: 15px; + margin-bottom: 15px; + // padding-top: 8px; + // padding-left: 15px; /* font-weight: bold; */ font-size: 14px; font-family: 'WorkSans-Bold'; @@ -269,15 +267,29 @@ ion-input { padding-top: 6px !important; color: #636161; padding-bottom: 15px; + padding-right: 252px; } .filedDesc{ border-radius: 30px; border: 1px solid #d3d5d5 !important; - margin: 10px; - padding-left: 11px !important; + // margin: 10px; + padding-left: 20px !important; + padding-top: 6px !important; + color: #636161; + --padding-bottom: 90px; + font-size: 13px; + text-align: start; + } + .filedDesc-ar{ + border-radius: 30px; + border: 1px solid #d3d5d5 !important; + // margin: 10px; + padding-right: 20px !important; padding-top: 6px !important; color: #636161; - padding-bottom: 110px; + --padding-bottom: 90px; + font-size: 13px; + text-align: start; } .labelDesc{ @@ -299,30 +311,120 @@ ion-input { 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; + + // .cancelRequest{ + // padding: 10px 7px 10px 0px; + // ion-button{ + // border-radius: 7px; + // padding: 12px 30px 12px 30px; + // background: #d00a0a; + // --background: transparent; + // --box-shadow: none !important; + // height: auto; + // min-height: inherit; + // font-size: 16px; + // font-weight: bold; + // margin-top: -5px; + // }} + // .submitRequest{ + // padding: 10px 7px 10px 0px; + // ion-button{ + // border-radius: 7px; + // padding: 12px 30px 12px 30px; + // background: #19a163; + // --background: transparent; + // --box-shadow: none !important; + // height: auto; + // min-height: inherit; + // font-size: 16px; + // font-weight: bold; + // margin-top: -5px; + // }} + + +.gridDiv{ + width: 100%; + height: 40px; + margin-top: 18px; + font-size: 14px; +} + +.gridCancelBtn{ + min-width: auto; + // margin: 0px; + padding: 10px; + border: 1px solid var(--cusgray); + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: 45%; + height: 100%; + border-radius: 8px; + background: #d00a0a; + color: white; + margin-left: 15px; + margin-right: 5px; + font-family: 'WorkSans-bold'; +} + +.gridSubmitBtn{ + min-width: auto; + // margin: 0px; + padding: 10px; + border: 1px solid var(--cusgray); + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: 45%; + height: 100%; + border-radius: 8px; 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 + color: white; + // margin-left: 15px; + // margin-right: 5px; + font-family: 'WorkSans-bold';} + + + .filed-container{ + margin-right: -17px; + margin-left: -25px; + } + + .labels{ + display: block; + margin-top: 15px; + padding-top: 8px; + padding-left: 15px; + font-size: 14px; + font-family: 'WorkSans-Bold'; + } + + .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 0px 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; + } + .footer2{ + padding: 15px 0px 0px 24px; + background-color: var(--light) !important; + border: 0px !important; + box-shadow: none !important; + -webkit-box-shadow: none; + } \ 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/mowadhafi/hr-request/hr-request.component.spec.ts similarity index 94% rename from Mohem/src/app/my-team/hr-request/hr-request.component.spec.ts rename to Mohem/src/app/mowadhafi/hr-request/hr-request.component.spec.ts index 0b5ad557..c5507cea 100644 --- a/Mohem/src/app/my-team/hr-request/hr-request.component.spec.ts +++ b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.spec.ts @@ -3,7 +3,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { HRRequestComponent } from './hr-request.component'; -describe('HRRequestComponent', () => { +describe('HrRequestComponent', () => { let component: HRRequestComponent; let fixture: ComponentFixture; diff --git a/Mohem/src/app/my-team/hr-request/hr-request.component.ts b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.ts similarity index 57% rename from Mohem/src/app/my-team/hr-request/hr-request.component.ts rename to Mohem/src/app/mowadhafi/hr-request/hr-request.component.ts index 64913439..2ed8bda9 100644 --- a/Mohem/src/app/my-team/hr-request/hr-request.component.ts +++ b/Mohem/src/app/mowadhafi/hr-request/hr-request.component.ts @@ -5,7 +5,7 @@ import { TranslatorService } from 'src/app/hmg-common/services/translator/transl 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 { MowadhafiService } from '../mowadhafi.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'; @@ -36,6 +36,7 @@ export class HRRequestComponent implements OnInit { public searchKeySelect = 'Complaints'; myColor: string = 'secondary'; public showRequestDetails = false; + public proID= "CS" public direction: string; @@ -45,16 +46,22 @@ export class HRRequestComponent implements OnInit { public authService: AuthenticationService, public sharedData: SharedDataService, public events: Events, - public myTeamService: MyTeamService, + public MowadhafiService: MowadhafiService, private location: Location, private menu: MenuController, ) { - this.direction = TranslatorService.getCurrentDirection(); + this.direction = TranslatorService.getCurrentLanguageName(); } ngOnInit() { this.getUserInformation(); + this.getTicketTypes(); + this.getProject(); + this.getProjectDepartments(); + this.getDepartmentSections(); + this.getSectionTopics(); + } @@ -65,13 +72,13 @@ export class HRRequestComponent implements OnInit { getUserInformation(){ const request = { - P_SELECTED_EMPLOYEE_NUMBER:"121816", + // 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.MowadhafiService.getUserInfo(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> { this.handleUserInfoResult(result); @@ -96,17 +103,91 @@ export class HRRequestComponent implements OnInit { // console.log("total no "+this.EmpTotal) } + getTicketTypes(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817" + + }; + this.MowadhafiService.getTicketTypes(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetTicketTypesResult(result); + + }) } + handlegetTicketTypesResult(result){ + + } + + + getProject(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817", + ItgProjectCode:"CS" + + }; + this.MowadhafiService.getProject(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetProjectResult(result); + + }) } + handlegetProjectResult(result){ + + } + + + getProjectDepartments(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817", + ItgProjectId:11, + + + }; + this.MowadhafiService.getProjectDepartments(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetProjectDepartmentsResult(result); + + }) } + handlegetProjectDepartmentsResult(result){ + + } + + getDepartmentSections(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817", + ItgProjectDepartmentId:1 + + }; + this.MowadhafiService.getDepartmentSections(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetDepartmentSectionsResult(result); + + }) } + handlegetDepartmentSectionsResult(result){ + + } + + getSectionTopics(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817", + ItgDepartmentSectionId:1 + + }; + this.MowadhafiService.getSectionTopics(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetSectionTopicsResult(result); + + }) } + handlegetSectionTopicsResult(result){ + + } - - - // public sendActivationCode() { - - // } - // VerifyCode(){ - // } createRequest(){ if(this.showRequestDetails){ this.showRequestDetails = false diff --git a/Mohem/src/app/mowadhafi/mowadhafi.module.ts b/Mohem/src/app/mowadhafi/mowadhafi.module.ts new file mode 100644 index 00000000..f5823cf8 --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.module.ts @@ -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 {} diff --git a/Mohem/src/app/mowadhafi/mowadhafi.page.html b/Mohem/src/app/mowadhafi/mowadhafi.page.html new file mode 100644 index 00000000..f5a9c2de --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.page.html @@ -0,0 +1,10 @@ + + + + + diff --git a/Mohem/src/app/mowadhafi/mowadhafi.page.scss b/Mohem/src/app/mowadhafi/mowadhafi.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/mowadhafi/mowadhafi.page.spec.ts b/Mohem/src/app/mowadhafi/mowadhafi.page.spec.ts new file mode 100644 index 00000000..0cbe6701 --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.page.spec.ts @@ -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; + + 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(); + }); +}); diff --git a/Mohem/src/app/mowadhafi/mowadhafi.page.ts b/Mohem/src/app/mowadhafi/mowadhafi.page.ts new file mode 100644 index 00000000..f1bfcc21 --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.page.ts @@ -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() { + } + +} diff --git a/Mohem/src/app/mowadhafi/mowadhafi.service.spec.ts b/Mohem/src/app/mowadhafi/mowadhafi.service.spec.ts new file mode 100644 index 00000000..11f58d27 --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.service.spec.ts @@ -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(); + }); +}); diff --git a/Mohem/src/app/mowadhafi/mowadhafi.service.ts b/Mohem/src/app/mowadhafi/mowadhafi.service.ts new file mode 100644 index 00000000..bfa4eba3 --- /dev/null +++ b/Mohem/src/app/mowadhafi/mowadhafi.service.ts @@ -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); + } +} diff --git a/Mohem/src/app/mowadhafi/my-request/my-request.component.html b/Mohem/src/app/mowadhafi/my-request/my-request.component.html new file mode 100644 index 00000000..b551b619 --- /dev/null +++ b/Mohem/src/app/mowadhafi/my-request/my-request.component.html @@ -0,0 +1,34 @@ + + + + + + + + {{ts.trPK('userProfile','MyHR-request')}} + + + + + +
+ + + + Complaints + {{ts.trPK('userProfile','postedDate')}} May2,2021 + + There is some Complaints + Pending + + +
+
+ +
+ {{ts.trPK('userProfile','createHR-Request')}} +
+
+ diff --git a/Mohem/src/app/mowadhafi/my-request/my-request.component.scss b/Mohem/src/app/mowadhafi/my-request/my-request.component.scss new file mode 100644 index 00000000..78a526c9 --- /dev/null +++ b/Mohem/src/app/mowadhafi/my-request/my-request.component.scss @@ -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; + } \ 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/mowadhafi/my-request/my-request.component.spec.ts similarity index 100% rename from Mohem/src/app/my-team/my-request/my-request.component.spec.ts rename to Mohem/src/app/mowadhafi/my-request/my-request.component.spec.ts diff --git a/Mohem/src/app/my-team/my-request/my-request.component.ts b/Mohem/src/app/mowadhafi/my-request/my-request.component.ts similarity index 67% rename from Mohem/src/app/my-team/my-request/my-request.component.ts rename to Mohem/src/app/mowadhafi/my-request/my-request.component.ts index 9213d2d4..d1b82775 100644 --- a/Mohem/src/app/my-team/my-request/my-request.component.ts +++ b/Mohem/src/app/mowadhafi/my-request/my-request.component.ts @@ -5,7 +5,7 @@ import { TranslatorService } from 'src/app/hmg-common/services/translator/transl 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 { MowadhafiService } from '../mowadhafi.service'; import { Location } from '@angular/common'; @Component({ @@ -23,7 +23,7 @@ public direction : String; public authService: AuthenticationService, public sharedData: SharedDataService, public events: Events, - public myTeamService: MyTeamService, + public MowadhafiService: MowadhafiService, private location: Location, private menu: MenuController, @@ -31,7 +31,9 @@ public direction : String; this.direction = TranslatorService.getCurrentLanguageName(); } - ngOnInit() {} + ngOnInit() { + this.getTicketsByEmployee(); + } goback() { this.location.back(); @@ -43,4 +45,27 @@ public direction : String; this.menu.toggle(); } +public openRequestDetailsPage() { + this.cs.openRequestDetailsPage(); + this.menu.toggle(); +} + + +getTicketsByEmployee(){ + const request = { + // TokenID:"xxx", + // EmployeeNumber:"191817", + ItgPageSize:10, + ItgPageNo:1 + + }; + this.MowadhafiService.getTicketsByEmployee(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> + { + this.handlegetTicketsByEmployeeResult(result); + + }) } + handlegetTicketsByEmployeeResult(result){ + + } + } diff --git a/Mohem/src/app/mowadhafi/request-details/request-details.component.html b/Mohem/src/app/mowadhafi/request-details/request-details.component.html new file mode 100644 index 00000000..603b60a5 --- /dev/null +++ b/Mohem/src/app/mowadhafi/request-details/request-details.component.html @@ -0,0 +1,66 @@ + + + + + + + + + + {{ts.trPK('userProfile','MyHR-request')}} + + + + + +
+ + + + Pending + {{ts.trPK('userProfile','postedDate')}} May2,2021 + + +

{{ts.trPK('userProfile','refrence')}}

+

453388

+
+ +

{{ts.trPK('userProfile','section')}}

+

Employee

+
+ +

{{ts.trPK('userProfile','topic')}}

+

Change Tiket

+
+ +

{{ts.trPK('userProfile','Description')}}

+

descriptions

+
+
+
+
+ +
+ + +
+
+
+ + Action By +
+

descriptions

+ May 16,2021 +
+
+
+
+
+
+
+ +
+ + diff --git a/Mohem/src/app/mowadhafi/request-details/request-details.component.scss b/Mohem/src/app/mowadhafi/request-details/request-details.component.scss new file mode 100644 index 00000000..06ad71a7 --- /dev/null +++ b/Mohem/src/app/mowadhafi/request-details/request-details.component.scss @@ -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; + } \ No newline at end of file diff --git a/Mohem/src/app/mowadhafi/request-details/request-details.component.spec.ts b/Mohem/src/app/mowadhafi/request-details/request-details.component.spec.ts new file mode 100644 index 00000000..8d0a3756 --- /dev/null +++ b/Mohem/src/app/mowadhafi/request-details/request-details.component.spec.ts @@ -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; + + 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(); + }); +}); diff --git a/Mohem/src/app/mowadhafi/request-details/request-details.component.ts b/Mohem/src/app/mowadhafi/request-details/request-details.component.ts new file mode 100644 index 00000000..8895bdbd --- /dev/null +++ b/Mohem/src/app/mowadhafi/request-details/request-details.component.ts @@ -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){ + + } + +} diff --git a/Mohem/src/app/my-team/details/details.component.html b/Mohem/src/app/my-team/details/details.component.html index 6a478493..a7a6a422 100644 --- a/Mohem/src/app/my-team/details/details.component.html +++ b/Mohem/src/app/my-team/details/details.component.html @@ -17,7 +17,7 @@
- Team Member Image + Team Member Image
diff --git a/Mohem/src/app/my-team/details/details.component.scss b/Mohem/src/app/my-team/details/details.component.scss index a4c35a1d..546fb604 100644 --- a/Mohem/src/app/my-team/details/details.component.scss +++ b/Mohem/src/app/my-team/details/details.component.scss @@ -232,7 +232,17 @@ ion-title{ padding: 15px; border-bottom: 1px solid #ccc; } - + .img{ + width: 100px; + height: 100px; + display: inline-flex; + overflow: hidden; + border-radius: 78% !important; + position: relative; + /* top: 34px; */ + background: transparent; + margin-left: -3px; + } ///////////////////////// Team Members css //////////////////////@extend .filters-row { 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 deleted file mode 100644 index ff0ade4d..00000000 --- a/Mohem/src/app/my-team/my-request/my-request.component.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - {{ts.trPK('userProfile','MyHR-request')}} - - - - -
- {{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 deleted file mode 100644 index d94d7212..00000000 --- a/Mohem/src/app/my-team/my-request/my-request.component.scss +++ /dev/null @@ -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; - } \ No newline at end of file diff --git a/Mohem/src/app/my-team/my-team.module.ts b/Mohem/src/app/my-team/my-team.module.ts index 0748569b..5dda2aeb 100644 --- a/Mohem/src/app/my-team/my-team.module.ts +++ b/Mohem/src/app/my-team/my-team.module.ts @@ -8,8 +8,7 @@ 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'; +import { from } from 'rxjs'; import { WorklistService } from '../notification/service/worklist.service'; @@ -29,14 +28,7 @@ const routes: Routes = [ path: 'details-2', component: DetailsComponent }, - { - path: 'my-request', - component: MyRequestComponent - }, - { - path: 'hr-request', - component: HRRequestComponent - } + ] } @@ -50,7 +42,8 @@ const routes: Routes = [ IonicModule, RouterModule.forChild(routes) ], + declarations: [MyTeamPage, HomeComponent, DetailsComponent, + ], providers: [WorklistService], - 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 6adcf6bf..31354d76 100644 --- a/Mohem/src/app/my-team/service/my-team.service.ts +++ b/Mohem/src/app/my-team/service/my-team.service.ts @@ -8,7 +8,8 @@ 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 @@ -25,11 +26,7 @@ export class MyTeamService { 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/profile/edit-profile/edit-profile.component.html b/Mohem/src/app/profile/edit-profile/edit-profile.component.html index 32b4dd9d..86ee5a08 100644 --- a/Mohem/src/app/profile/edit-profile/edit-profile.component.html +++ b/Mohem/src/app/profile/edit-profile/edit-profile.component.html @@ -1,121 +1,153 @@ + [headerText]="'userProfile, title' | translate">
- - - -
- - +
- +
- +
-

{{User_name_Emp}}

-

{{User_Job_name}}

+

{{personalInfo.EMPLOYEE_NAME}}

-
- - -
- - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - -
+ +
+
- +
+
-
- -
-

{{ts.trPK('userProfile','Years of Services')}}

-
+ + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - {{ts.trPK('userProfile','edit-profile')}} - - - - - - - - - - - {{ts.trPK('userProfile','performance-evaluation')}} - - - - - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
\ No newline at end of file diff --git a/Mohem/src/app/profile/edit-profile/edit-profile.component.scss b/Mohem/src/app/profile/edit-profile/edit-profile.component.scss index 4d784a03..85728b60 100644 --- a/Mohem/src/app/profile/edit-profile/edit-profile.component.scss +++ b/Mohem/src/app/profile/edit-profile/edit-profile.component.scss @@ -1,216 +1,130 @@ +ion-col.colBold, ion-col.colBold > label{ + font-weight:bold; +} - -.list-ios { - // margin-left: 0; - // margin-right: 0; - // margin-top: 32px; - // margin-bottom: 32px; - // background: var(--ion-item-background,var(--ion-background-color,#fff)); - margin-left: 0; - margin-right: 0; - margin-top: -15px; - margin-bottom: 32px; - border: 1px solid #d8d8d8; - background: var(--ion-item-background, var(--ion-background-color, #fff)); - border-radius: 10px; - padding-top: 60px; +.colorBG{ +--background: #f0efef; +} +.header-div{ + text-transform: capitalize; + background: #269DB8; + display: block; + position: relative; + height: 160px; + margin-bottom: 60px; } -.header-toolbar-new{ - --background: #269DB8; +// .profileCont{ +// background-color: #d9d7d7 !important; + + +.menubutton { +background: #f0ecec; +min-height: 39px; +width: 35px !important; +height: 20px; +border-radius: 50%; } -.colorBG{ - --background: #f0efef; - } - .header-div{ - text-transform: capitalize; - background: #269DB8; - display: block; + +.changeIcon{ + /* background: #c1c1c1; */ + width: 21px; + /* height: 26px; */ + border-radius: 50% !important; position: relative; - height: 113px; - margin-bottom: 60px; - } + color: #7f8c8d; + height: 35px; + +} +.changeImgBtn{ + position: absolute; + top: 80%; + left: 65%; +} +.changeImgBtn-ar{ + position: absolute; + top: 80%; + left: 66%; +} .profileImg{ width: 160px; - height: 160px; - display: -webkit-inline-box; - display: inline-flex; - overflow: hidden; - /* background: transparent; */ - border-radius: 78% !important; - position: relative; - top: 34px; - // background: white; - background: transparent; - margin-left: -3px; + height: 160px; + display: -webkit-inline-box; + display: inline-flex; + overflow: hidden; + // background: transparent; + border-radius: 69% !important; + position: relative; + top: 34px; + // background: white; + background: transparent; +} +.Text { + margin: 0; + padding: 0; + text-align: center; + font-weight: bolder; + color: black; + font-size: 16px; + margin-top: 34px; + text-align: center; } -.proTitles { - margin: 0; - padding: 0; - font-size: 16px; - text-align: center; - font-weight: bolder; - color: white; - margin-top: -33px; - } - - .Text { - margin: 0; - padding: 0; - text-align: center; - font-weight: bolder; - color: black; - font-size: 16px; - margin-top: 34px; - margin-bottom: 10px; - text-align: center; - } - - - - ion-thumbnail.menu-thumb{ - width:20px; - height:20px; - // margin-top: 5px !important; - } - - .profile{ - color: black !important; - // font-weight: bolder !important; - - } - - .gridService-en{ - margin-top: 87px; - border-radius: 10px; - margin-bottom: -49px; - margin-left: 30px; - margin-right: 30px; - } - .gridService-ar{ - margin-top: 87px; - border-radius: 10px; - margin-bottom: -49px; - margin-left: 17px; - margin-right: 17px; - } - - .columns{ - // margin: 10px; - // background: #0B4775; - // border-radius: 27px; - // padding-left: 30px; - // padding-right: 6px; - // padding-top: 19px; - // padding-bottom: 26px; - } - .columns-ar{ - // margin: 10px; - // background: #0B4775; - // border-radius: 27px; - // padding-left: 7px; - // padding-right: 3px; - // padding-top: 19px; - // padding-bottom: 26px; - } - - .service{ - font-size: 28px; - // font-weight: bolder; - color: white; - letter-spacing: 1px; - font-weight: bold; - } - .services{ - - font-size: 12px; - color: white; - } - .service-ar{ - font-size: 28px; - color: white; - letter-spacing: 1px; - font-weight: bold; - margin-right: 26px; - } - .services-ar{ - font-size: 20px; - color: white; - margin-right: 25px; - } - - .list{ - margin-left: 14px; - margin-right: 14px; - border-radius: 10px; - // background: white; - border:#bebbbb !important; - padding: 2px; - } - .p{ - color: black !important; - font-size: medium; - text-align: center; - border-bottom: rgb(190, 187, 187) solid 1px; - } - .itemline{ - border-bottom: rgb(190, 187, 187) solid 1px; - } - .itemlins{ - border-bottom: rgb(190, 187, 187) solid 1px; - margin-bottom: 209px; +.line{ + + padding-top: 0px !important; + /* margin-bottom: 0px; */ + /* margin: 0px; */ + border-right: 1px #c5c2c2 solid !important; + line-height: 10px !important; +} +.proTitles { + margin: 0; + padding: 0; + font-size: 16px; + text-align: center; + font-weight: bolder; + color: white; + margin-top: -33px; +} + + +.profileGrid{ + border: #bebbbb solid 1px; + border-radius: 9px; + padding: 0px; + margin-top: 54px; + margin-left: 10px; + margin-right: 10px; + margin-bottom: 10px; + color: black; + // font-weight: bold; + background: white; - } - .empName { - margin: 0; - padding: 0; - text-align: center; - font-weight: bolder; - color: black; - font-size: 16px; - margin-top: 38px; - - } - .empJob{ - - margin: 0; - padding: 0; - text-align: center; - color: black; - font-size: 16px; - margin-top: 4px; - - } - .arrow{ - width: 20px; - height: 22px !important; - } - .arrow-ar{ - float: left; - font-size: 25px; - color: grey; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - } - - .verticalLine { - width:1%; - height:50px; - background:white; - margin-top: 100%; - // margin-left: 10%; } -.service-row-en{ - width: 79%; - margin: -12px 0px 0px 35px; + + + +.lebl{ + + color: black; + font-size: 14px !important; + font-weight: bold !important; + padding-top: 9px; + padding-left: 5px; + } -.service-row-ar{ - width: 95%; - margin: -12px 0px 35px 0px; +.rowBolds{ + color: black !important; + font-size: 14px !important; + /* padding: 6px !important; */ + padding-bottom: 9px; + padding-left: 5px; + padding-top: 4px; + } \ No newline at end of file diff --git a/Mohem/src/app/profile/edit-profile/edit-profile.component.ts b/Mohem/src/app/profile/edit-profile/edit-profile.component.ts index 16b4fe15..c59b712d 100644 --- a/Mohem/src/app/profile/edit-profile/edit-profile.component.ts +++ b/Mohem/src/app/profile/edit-profile/edit-profile.component.ts @@ -1,14 +1,11 @@ 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 { PerformanceAppraisalResponse } from 'src/app/hmg-common/services/dashbored/performance-appraisal.response'; -import { DashboredService } from 'src/app/hmg-common/services/dashbored/dashbored.service'; -import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; +import { Events } from '@ionic/angular'; import { DomSanitizer } from '@angular/platform-browser'; -// import { DomSanitizer } from '@angular/platform-browser'; + @Component({ @@ -17,47 +14,35 @@ import { DomSanitizer } from '@angular/platform-browser'; styleUrls: ['./edit-profile.component.scss'], }) export class EditProfileComponent implements OnInit { - - - User_name_Emp: string = ''; - User_Job_name: string; - public direction: string; - private menu: MenuController; - setImage:any; - // imageSrc: any = "../assets/imgs/profile.png"; - user_image: any = '../assets/imgs/profile.png'; personalInfo: any; - appraisalArr :any =[]; - public performanceData: any=[]; - public static PERFORMANCE_DATA = 'perAppData'; - + setImage:any; + imageSrc: any = '../assets/imgs/profile.png'; + public direction: string; + // user_image: any = "../assets/imgs/profile.png"; constructor( public ts: TranslatorService, public cs: CommonService, public authService: AuthenticationService, - public DS :DashboredService, - public sharedData: SharedDataService, - public events: Events, + private events: Events, private sanitizer: DomSanitizer, - // private events: Events, - // private sanitizer: DomSanitizer, - ) - { - this.direction = TranslatorService.getCurrentDirection(); - this.events.subscribe('img-change', displayImg => { - console.log('app compont: '+displayImg); - this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); - - }); + ) { + this.direction = TranslatorService.getCurrentDirection(); + this.events.subscribe('img-change', displayImg => { + // alert("1 - profile home : "+displayImg); + //this.user_image = "data:image/png;base64"+displayImg; + this.setImage = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); + this.imageSrc = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); + + }); + } ngOnInit() { - this.getProfile(); + this.getProfile(); } - getProfile() { console.log('getProfile'); this.authService @@ -65,60 +50,27 @@ export class EditProfileComponent implements OnInit { .subscribe((user: AuthenticatedUser) => { if (user) { this.personalInfo = user; - this.User_name_Emp=this.personalInfo.EMPLOYEE_NAME; - this.User_Job_name=this.personalInfo.JOB_NAME; - if(this.cs.getUpdateImage().status){ - this.user_image =this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,'+this.cs.getUpdateImage().img); - }else{ - this.user_image = user.EMPLOYEE_IMAGE - ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE - : '../assets/imgs/profile.png'; - } console.log('name: '+ this.personalInfo.EMPLOYEE_NAME); console.log('user name: '+ user.EMPLOYEE_NAME); - console.log('name: '+ this.personalInfo.JOB_NAME); - console.log('job name: '+ user.JOB_NAME); - - }}); -} - -openEditprofile(){ - this.cs.openProfile(); -} - -openPerormance(){ - this.showPerformanceAppraisal(); - -} - -showPerformanceAppraisal(){ - this.DS.getPerformanceAppraisal(()=>{ - this.showPerformanceAppraisal(); - }).subscribe((result: PerformanceAppraisalResponse) => { - this.handlePerformanceAppraisalResult(result); - - }); -} - -private handlePerformanceAppraisalResult(result){ - if (this.cs.validResponse(result)) { - if (this.cs.hasData(result.GetPerformanceAppraisalList)) { - this.appraisalArr =result.GetPerformanceAppraisalList; - this.performanceData=[]; - - for(let i=0;i + -
-
-
- - -
- - -
-

{{personalInfo.EMPLOYEE_NAME}}

+
+
+
+ - - -
- + - -
-
- - - - - -
- - -
- - + +
+ + + + + + + + - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - + + + + - - + + + +
+
+
- - - - - - - - - - +
- - - - - - - - - + + + +

{{ts.trPK('userProfile','personal-informaion')}}

+
+
+ +

{{ts.trPK('userProfile','category')}}

+
+

part-time

+
+ +

{{ts.trPK('userProfile','address')}}

+
+

DR.Sulaiman Alhabib Medical Group

+
+ +

{{ts.trPK('userProfile','phone-no')}}

+
+

0567845661

+
+ +

{{ts.trPK('userProfile','busG')}}

+
+

CORP Cloud Solutions

+
+ +

{{ts.trPK('userProfile','payrol')}}

+
+

Cloud Solutions Payroll

+
+
+
- - - - - - - - - - - + + + + + + +

{{ts.trPK('general','basic-details')}}

+
+
- - - - - - - - - - + + + +
+
+
+ +

{{ts.trPK('general','full-name')}}

+
+

ENAD HILAL NASSER MOHAMMED

+
+ +

{{ts.trPK('general','marital-status')}}

+
+

Married

+
+ +

{{ts.trPK('general','birth_date')}}

+
+

01-FEB-1991

+
+ +

{{ts.trPK('general','civil-identity-number')}}

+
+

2093486013

+
+
- - - - - - - - - - - + + +

{{ts.trPK('general','basic-details')}}

+
- - - - - - - - - - + +

{{ts.trPK('general','effective-date')}}

+
- - - - - - - - - - - + +
-
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + + + + +

{{ts.trPK('general','other')}}

+
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+
+ + + + + + + +

{{ts.trPK('general','main-address')}}

+
+
+ + + + +
+
+ +

{{ts.trPK('general','address')}}

+
+

Riyadh

+
+ +

{{ts.trPK('general','street')}}

+
+

-

+
+ +

{{ts.trPK('general','area')}}

+
+

-

+
+ +

{{ts.trPK('general','p-o-box')}}

+
+

22617

+
+ +

{{ts.trPK('general','city')}}

+
+

Riyadh

+
+ +

{{ts.trPK('general','postal-code')}}

+
+

11416

+
+
+ + + +

{{ts.trPK('general','address')}}

+
+ + +

{{ts.trPK('general','effective-date')}}

+
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+
+ + + - -
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+
+ + +
+ +
+

{{ts.trPK('userProfile','Years of Services')}}

+
+ + + + + + + + {{ts.trPK('userProfile','edit-profile')}} + + + + + + + + + + + {{ts.trPK('userProfile','performance-evaluation')}} + + + + +
+
--> + + + + + + + Cancel + + + + Update + + + + + \ No newline at end of file diff --git a/Mohem/src/app/profile/home/home.component.scss b/Mohem/src/app/profile/home/home.component.scss index e8143682..f23b9670 100644 --- a/Mohem/src/app/profile/home/home.component.scss +++ b/Mohem/src/app/profile/home/home.component.scss @@ -1,130 +1,1041 @@ -ion-col.colBold, ion-col.colBold > label{ - font-weight:bold; +.list-ios { + // margin-left: 0; + // margin-right: 0; + // margin-top: 32px; + // margin-bottom: 32px; + // background: var(--ion-item-background,var(--ion-background-color,#fff)); + margin-left: 0; + margin-right: 0; + margin-top: -15px; + margin-bottom: 32px; + border: 1px solid #d8d8d8; + background: var(--ion-item-background, var(--ion-background-color, #fff)); + border-radius: 10px; + padding-top: 60px; } -.colorBG{ +.header-toolbar-new { + --background: #269db8; +} +.colorBG { --background: #f0efef; - } -.header-div{ - text-transform: capitalize; - background: #269DB8; +} +.header-div { + text-transform: capitalize; + background: #269db8; + display: block; + position: relative; + height: 113px; + margin-bottom: 60px; +} + +.profileImg { + width: 160px; + height: 160px; + display: -webkit-inline-box; + display: inline-flex; + overflow: hidden; + /* background: transparent; */ + border-radius: 78% !important; + position: relative; + top: 34px; + // background: white; + background: transparent; + margin-left: -3px; +} + +.proTitles { + margin: 0; + padding: 0; + font-size: 16px; + text-align: center; + font-weight: bolder; + color: white; + margin-top: -33px; +} + +.Text { + margin: 0; + padding: 0; + text-align: center; + font-weight: bolder; + color: black; + font-size: 16px; + margin-top: 34px; + margin-bottom: 10px; + text-align: center; +} + +ion-thumbnail.menu-thumb { + width: 20px; + height: 20px; + // margin-top: 5px !important; +} + +.profile { + color: black !important; + // font-weight: bolder !important; +} + +.gridService-en { + // margin-top: 87px; + // border-radius: 10px; + margin-bottom: -49px; + // margin-left: 30px; + // margin-right: 30px; +} +.gridService-ar { + // margin-top: 87px; + // border-radius: 10px; + margin-bottom: -49px; + // margin-left: 17px; + // margin-right: 17px; +} + +.columns { + // margin: 10px; + // background: #0B4775; + // border-radius: 27px; + // padding-left: 30px; + // padding-right: 6px; + // padding-top: 19px; + // padding-bottom: 26px; +} +.columns-ar { + // margin: 10px; + // background: #0B4775; + // border-radius: 27px; + // padding-left: 7px; + // padding-right: 3px; + // padding-top: 19px; + // padding-bottom: 26px; +} + +.service { + font-size: 12px; + // font-weight: bolder; + color: white; + // letter-spacing: 1px; + font-weight: bold; +} +.services { + font-size: 12px; + color: white; +} +.service-ar { + font-size: 28px; + color: white; + // letter-spacing: 1px; + font-weight: bold; + margin-right: 26px; +} +.services-ar { + font-size: 20px; + color: white; + margin-right: 25px; +} + +.list { + margin-left: 14px; + margin-right: 14px; + border-radius: 10px; + // background: white; + border: #bebbbb !important; + padding: 2px; +} +.p { + color: black !important; + font-size: medium; + text-align: center; + border-bottom: rgb(190, 187, 187) solid 1px; +} +.itemline { + border-bottom: rgb(190, 187, 187) solid 1px; +} +.itemlins { + border-bottom: rgb(190, 187, 187) solid 1px; + margin-bottom: 209px; +} +.empName { + margin: 0; + padding: 0; + text-align: center; + font-weight: bolder; + color: black; + font-size: 16px; + margin-top: 38px; +} +.empJob { + margin: 0; + padding: 0; + text-align: center; + color: black; + font-size: 16px; + margin-top: 4px; +} +.arrow { + width: 20px; + height: 22px !important; +} +.arrow-ar { + float: left; + font-size: 25px; + color: grey; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.verticalLine { + width: 1%; + height: 50px; + background: white; + margin-top: 100%; + // margin-left: 10%; +} + +.service-row-en { + width: 79%; + margin: -12px 0px 0px 35px; +} +.service-row-ar { + width: 95%; + margin: -12px 0px 35px 0px; +} + +ion-content { + --ion-background-color: whitesmoke; +} +ion-title { + color: white; + position: absolute; + top: 0; + text-align: center; + left: 15%; + right: 15%; + font-size: 0.5cm; + font-weight: bold; + height: 100%; + font-family: WorkSans-Regular; +} +.contentBg { + padding: 0px 20px; +} + +.contentBg:before { + position: absolute; + content: ""; + background: #269db8; + height: 140px; + width: 100%; + left: 0; + top: 0px; + z-index: 1; +} + +.user-info { + text-align: center; + margin-bottom: 15px; + .user-image-container { + position: relative; + width: 100%; + height: 24px; + justify-content: space-between; + display: flex; + margin: 0 auto; + align-items: center; + } + // position: relative; + // width: 80px; + // height: 80px; + // display: block; + // margin: 0 auto; + // &:before{ + // position: absolute; + // content: ""; + // width: 20px; + // height: 20px; + // border-radius: 20px; + // border: 1px solid white; + // top: 0; + // right: 0; + // background-color: red; + // z-index: 9; + // } + // &.present:before{ + // background-color: green !important; + // } +} + +@media screen and (min-width: 1px) and (max-width: 767px) { + .user-image { + position: relative; display: block; + width: 30%; + 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; - height: 160px; - margin-bottom: 60px; + display: block; + width: 30%; + height: 100%; + border-radius: 80px; + margin-bottom: 371px; } +} +h1 { + margin: 0; + padding: 0; + font-family: WorkSans-Bold; + font-size: 18px; + margin-bottom: 4px; +} +span { + font-size: 11px; + display: block; + // color: #888 +} -// .profileCont{ -// background-color: #d9d7d7 !important; +$actionBtnSize: 36px; +.user-actions { + text-align: center; + .action-button { + font-size: 11px; + font-weight: bold; + // white-space: nowrap; + // color: #888; + .action-button-icon { + width: $actionBtnSize; + height: $actionBtnSize; + border-radius: $actionBtnSize; + margin: 0 auto; + display: block; + background-color: #269db8; + line-height: $actionBtnSize; + margin-bottom: 3px; + img { + margin: 0 auto; + vertical-align: middle; + } + } + } +} +.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; + } +} +.segments-container { + border-radius: 100px; + overflow: hidden; + margin-top: 15px; + background: white; + color: black; +} -.menubutton { - background: #f0ecec; - min-height: 39px; - width: 35px !important; - height: 20px; - border-radius: 50%; -} - - .changeIcon{ - /* background: #c1c1c1; */ - width: 21px; - /* height: 26px; */ - border-radius: 50% !important; - position: relative; - color: #7f8c8d; - height: 35px; - - - } - - .changeImgBtn{ +@media screen and (min-width: 1px) and (max-width: 767px) { + .active-Segment { + width: 11%; + max-width: 11%; + min-width: 11%; + height: 30% !important; + min-height: 36px; + padding-right: -10px; + border-radius: 50% !important; + margin-right: 22px; + margin-left: 22px; + background-color: #269db8; + } +} +@media screen and (min-width: 768px) and (max-width: 1024px) { + .active-Segment { + width: 11%; + max-width: 11%; + min-width: 11%; + height: 56% !important; + min-height: 68px; + padding-right: -10px; + border-radius: 50% !important; + margin-right: 62px; + margin-left: 45px; + background: #269db8 !important; + padding-left: 17px; + } +} + +@media screen and (min-width: 1px) and (max-width: 767px) { + .normal-Segment { + width: 11%; + max-width: 11%; + min-width: 11%; + height: 30% !important; + min-height: 36px; + padding-right: -10px; + border-radius: 50% !important; + margin-right: 22px; + margin-left: 22px; + background: #414040 !important; + } +} +@media screen and (min-width: 768px) and (max-width: 1024px) { + .normal-Segment { + width: 11%; + max-width: 11%; + min-width: 11%; + height: 56% !important; + min-height: 68px; + padding-right: -10px; + border-radius: 50% !important; + margin-right: 62px; + margin-left: 45px; + background: #414040 !important; + padding-left: 17px; + } +} + +@media screen and (min-width: 1px) and (max-width: 767px) { + .imgSize { position: absolute; - top: 80%; - left: 65%; + /* right: 15px; */ + top: 0; + bottom: 0; + left: 7px; + margin: auto; + height: 18px; } - .changeImgBtn-ar{ +} +@media screen and (min-width: 768px) and (max-width: 1024px) { + .imgSize { position: absolute; - top: 80%; - left: 66%; - } -.profileImg{ - width: 160px; - height: 160px; - display: -webkit-inline-box; - display: inline-flex; - overflow: hidden; - // background: transparent; - border-radius: 69% !important; + top: 0; + bottom: 0; + left: 9px; + margin: auto; + height: 28px; + } +} + +.colum-container { + padding: 15px; + border-bottom: 1px solid #ccc; +} +.img { + width: 100px; + height: 100px; + display: inline-flex; + overflow: hidden; + border-radius: 78% !important; + position: relative; + /* top: 34px; */ + background: transparent; + margin-left: 119%; +} +.img-ar { + width: 100px; + height: 100px; + display: inline-flex; + overflow: hidden; + border-radius: 78% !important; + position: relative; + /* top: 34px; */ + background: transparent; + margin-right: 119%; +} +///////////////////////// Team Members css //////////////////////@extend + +.filters-row { + margin-top: 10px; +} + +.search-dropdown { + background: #269db8; + ion-select { + .select-text { + margin-left: -10px; + } + .select-icon { + .select-icon-inner { + opacity: 1; + color: white; + margin-top: -1px; + } + } + } +} + +.input-container { + background: white; + ion-input { + border-bottom-color: transparent; + } +} + +.search-container { + margin-top: 15px; + ion-col { + background: white; + border-radius: 12px; + padding-right: 10px; + flex: none; + ion-icon { + margin-right: 3px; + font-size: 14px; + margin-left: 3px; + vertical-align: middle; + } + span { + font-size: 12px; + vertical-align: middle; + } + } +} + +/////////////////////////////////////////////////////// Attendance /////////////////////// +.header { + // margin-top: 20px; + margin-top: 1px; +} + +.slidPrev { + margin-left: 10px; + background: transparent; +} + +.slidNext { + background: transparent; + margin-top: -1px; + margin-left: 43px; +} +.activeArrow { + height: 20px; + width: 20px; + color: #269db8; +} +.disabledArrow { + height: 20px; + width: 20px; + color: gray; +} + +.activeArrow-ar { + height: 20px; + width: 20px; + color: #269db8; + margin-right: 275px; +} +.disabledArrow-ar { + height: 20px; + width: 20px; + color: gray; + /* margin-left: 136px; */ + margin-right: -251px; +} + +@media screen and (min-width: 1px) and (max-width: 767px) { + .result-graph { position: relative; - top: 34px; - // background: white; - background: transparent; + 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; + width: 90%; + left: 5%; + } + .result-graph-ar { + 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; + width: 90%; + right: 5%; + } } - .Text { - margin: 0; - padding: 0; - text-align: center; - font-weight: bolder; - color: black; - font-size: 16px; - margin-top: 34px; - text-align: center; +@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; + width: 90%; + left: 5%; + } + + .result-graph-ar { + 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; + width: 90%; + right: 5%; + } +} +.result-graph-attendence { + position: relative; + background: white; + // margin-top: 20px; + padding-bottom: 20px; + border-radius: 20px; + z-index: 1; + margin-bottom: 10px; + margin-top: 10px; + border-radius: 20px; + border: 1px solid #ccc; +} + +.request-heading { + text-align: left; + display: block; + padding-top: 8px; + margin-bottom: 10px; + margin-left: 10px; +} +.request-heading-ar { + text-align: right; + display: block; + padding-top: 8px; + margin-bottom: 10px; + margin-right: 12px; +} + +.result-text-container { + padding: 0; + margin: 0; + position: absolute; + left: 85%; + top: 50%; + display: block; + text-align: center; + transform: translate(-50%, -50%); + h2 { + font-size: 38px; + font-family: WorkSans-Bold; + margin: 0 auto; + line-height: 36px; } + span { + width: 125px; + display: block; + margin: 0 auto; + font-size: 12px; + font-family: workSans-Regular; + } +} +.today-graph { + // width: 100%; + max-height: 4cm; + display: block; + height: 132px; + width: 264px; + margin-left: 154px; +} + +.green-label { + font-size: 12px; + margin-top: -13px; +} + +.green-amount { + font-size: 17px; + font-family: WorkSans-Bold; + margin-top: -3px; +} + +.blue-label { + font-size: 12px; + margin-top: -13px; +} - .line{ +.blue-amount { + font-size: 17px; + font-family: WorkSans-Bold; + margin-top: -4px; +} + +.labelGrid { + background-color: white !important; + border-radius: 20px !important; + height: 88px !important; + border: 1px solid #d6d4d4; + position: relative; + padding: 10px; - padding-top: 0px !important; - /* margin-bottom: 0px; */ - /* margin: 0px; */ - border-right: 1px #c5c2c2 solid !important; - line-height: 10px !important; - + label { + font-size: 9px; + line-height: 11px !important; + display: block; } - .proTitles { + h2 { + font-size: 25px; + font-weight: bold; + display: block; + text-align: right; margin: 0; - padding: 0; - font-size: 16px; - text-align: center; - font-weight: bolder; - color: white; - margin-top: -33px; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + padding: 10px; } +} +.bodyGrid { + margin-top: 7px !important; + margin-left: 15px !important; + margin-right: 15px !important; + background-color: white !important; + border-radius: 20px !important; + height: 321px !important; + border: 1px solid #d6d4d4 !important; +} - .profileGrid{ - border: #bebbbb solid 1px; - border-radius: 9px; - padding: 0px; - margin-top: 54px; - margin-left: 10px; - margin-right: 10px; - margin-bottom: 10px; - color: black; - // font-weight: bold; - background: white; +.attendance-information { + background: white; + border-radius: 20px; + padding: 9px; + font-weight: bolder; + // border-right: 1px solid rgb(221, 221, 221); + @media screen and (min-width: 300px) and (max-width: 359px) { + h2 { + padding: 0; + margin: 0; + font-size: 14px; + } + span { + font-size: 9px; + } } - + @media screen and (min-width: 360px) { + h2 { + padding: 0; + margin: 0; + font-size: 14px; + } + span { + font-size: 11px; + margin-bottom: 3px; + } + } +} + +.month-year-span { + font-size: 16px; + // font-family: WorkSans-Bold; + font-weight: bold; +} + +.green-label-container { + // border-top: 5px solid #269DB8; + // padding: 1px 0px; + // margin: 15px 0px + width: 12px; + height: 12px; + padding-right: -10px; + border-radius: 100%; + background-color: #269db8; +} + +.blue-label-container { + // border-top: 5px solid #292F42; + // padding: 1px 0px; + // margin: 15px 0px + width: 12px; + height: 12px; + padding-right: -10px; + border-radius: 100%; + background-color: #292f42; + margin-top: 30px; +} +.span-one { + // display: block; + // font-size: 12px; + // color: black; + display: block; + font-size: 12px; + color: black; + margin-left: 6px; + margin-top: -2px; + font-weight: bold; +} +.span-two { + // display: block; + // font-size: 22px; + display: block; + font-size: 12px; + color: black; + margin-left: 6px; + margin-top: -2px; + font-weight: bold; + font-family: WorkSans-Bold; +} - - .lebl{ +.spa-one { + // display: block; + // font-size: 12px; + // color: black; + display: block; + font-size: 12px; + color: black; + margin-left: 6px; + margin-top: 28px; + font-weight: bold; +} +.spa-two { + // display: block; + // font-size: 22px; + display: block; + font-size: 12px; + color: black; + margin-left: 6px; + margin-top: 28px; + font-weight: bold; + font-family: WorkSans-Bold; +} +.graph-container { + margin-left: -50px; + position: relative; + margin-right: 50px; +} +.label-container { + position: absolute; + // width: 20%; + // right: 30px; + top: 50%; + margin-top: -27px; + left: 20px; +} +.attendance-summary .attendance-information { + span { + height: 32px; + display: block; + line-height: 14px; + } + h2 { + // text-align: right; + // font-family: WorkSans-Bold; + font-weight: bolder; + font-size: 13px; + } +} - color: black; - font-size: 14px !important; - font-weight: bold !important; - padding-top: 9px; - padding-left: 5px; - +.calendar-container { + background: white; + margin-bottom: 100px; + margin-top: 10px; + border-radius: 20px; + border: 1px solid #ccc; + padding-bottom: 25px; + span { + text-align: left; + display: block; + padding-top: 8px; + margin-bottom: 10px; + margin-left: 10px; + } +} +.calendar-container-ar { + background: white; + margin-bottom: 100px; + margin-top: 20px; + border-radius: 20px; + span { + text-align: right; + display: block; + padding-top: 8px; + margin-bottom: 6px; + margin-right: 12px; } - .rowBolds{ - color: black !important; - font-size: 14px !important; - /* padding: 6px !important; */ - padding-bottom: 9px; - padding-left: 5px; - padding-top: 4px; +} + +.Boldtext { + font-size: 13px; + font-family: WorkSans-Bold; + color: black !important; + display: block !important; + // line-height: 0px !important; +} + +.attendence { + position: relative; + background: white; + border-radius: 20px; + border: 1px solid #ccc; +} + +.attendence-text { + margin-bottom: 1px; + margin-left: 10px; + font-family: WorkSans-Bold; + font-size: 16px; +} +.stats { + color: #289db8; + font-size: 9px; + margin-right: 5px; + font-family: "WorkSans-Bold"; +} + +.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; +} - } \ No newline at end of file +.numberEmp { + color: white; + font-size: 13px; + font-weight: bolder; + margin-left: 6px; +} + +.slider-container { + padding-bottom: 20px; +} + +.filters-row { + margin-top: 10px; + margin-left: 20px; +} + +.disable-filter { + pointer-events: none; + opacity: 0.3; +} + +.header-background-style-card { + padding-top: 1px; + background: #269db8; + height: 15%; +} + +.text-years { + text-align: center; + width: 58px; +} + +.grid-card { + right: 5px; + position: relative; + display: block; + z-index: 5; + width: 103%; +} + +.grid-card-ar { + left: 5px; + position: relative; + display: block; + z-index: 5; + width: 103%; +} + +.changeImgBtn { + position: absolute; + left: 60%; + bottom: 150%; +} +.changeImgBtn-ar { + position: absolute; + left: 60%; + bottom: 150%; +} +.menubutton { + background: #f0ecec; + min-height: 25px; + width: 24px !important; + height: 20px; + border-radius: 50%; +} + +.changeIcon { + bottom: 6px; + width: 10px; + border-radius: 50% !important; + position: relative; + color: #7f8c8d; + height: 35px; +} + +.card-style-details-info { + 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; + width: 90%; + left: 5%; +} + +.login-input { + border: none; +} diff --git a/Mohem/src/app/profile/home/home.component.ts b/Mohem/src/app/profile/home/home.component.ts index befdf290..805a3499 100644 --- a/Mohem/src/app/profile/home/home.component.ts +++ b/Mohem/src/app/profile/home/home.component.ts @@ -1,45 +1,68 @@ import { Component, OnInit } from '@angular/core'; +import { Platform, Events, MenuController, ModalController } 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 { Events } from '@ionic/angular'; +import { PerformanceAppraisalResponse } from 'src/app/hmg-common/services/dashbored/performance-appraisal.response'; +import { DashboredService } from 'src/app/hmg-common/services/dashbored/dashbored.service'; +import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { DomSanitizer } from '@angular/platform-browser'; +import { EditDetailProfileComponent } from '../modal/edit-detail-profile/edit-detail-profile.component'; @Component({ selector: 'app-home', templateUrl: './home.component.html', styleUrls: ['./home.component.scss'] }) export class HomeComponent implements OnInit { - personalInfo: any; - setImage:any; - imageSrc: any = '../assets/imgs/profile.png'; + + + User_name_Emp: string = ''; + User_Job_name: string; public direction: string; - // user_image: any = "../assets/imgs/profile.png"; + private menu: MenuController; + setImage: any; + // imageSrc: any = "../assets/imgs/profile.png"; + user_image: any = '../assets/imgs/profile.png'; + personalInfo: any; + appraisalArr: any = []; + public performanceData: any = []; + public static PERFORMANCE_DATA = 'perAppData'; + + public personalInfoSegment = true; + public basicDetailsSegment = false; + public addressSegment = false; + + public editBasic = false; + public editAddress = false; + constructor( public ts: TranslatorService, public cs: CommonService, public authService: AuthenticationService, - private events: Events, + public DS: DashboredService, + public sharedData: SharedDataService, + public events: Events, private sanitizer: DomSanitizer, - + public modalController: ModalController + // private events: Events, + // private sanitizer: DomSanitizer, ) { this.direction = TranslatorService.getCurrentDirection(); this.events.subscribe('img-change', displayImg => { - // alert("1 - profile home : "+displayImg); - //this.user_image = "data:image/png;base64"+displayImg; - this.setImage = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); - this.imageSrc = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); - + console.log('app compont: ' + displayImg); + this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,' + displayImg); + }); - + } ngOnInit() { this.getProfile(); } + getProfile() { console.log('getProfile'); this.authService @@ -47,28 +70,122 @@ export class HomeComponent implements OnInit { .subscribe((user: AuthenticatedUser) => { if (user) { this.personalInfo = user; - console.log('name: '+ this.personalInfo.EMPLOYEE_NAME); - console.log('user name: '+ user.EMPLOYEE_NAME); - - if(this.cs.getUpdateImage().status){ - // this.imageSrc = this.sanitizer.bypassSecurityTrustUrl("data:Image/*;base64,"+this.cs.getUpdateImage().img); - this.imageSrc =this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,'+this.cs.getUpdateImage().img); - }else{ - this.imageSrc = user.EMPLOYEE_IMAGE - ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE - : this.imageSrc; - console.log('2-'+user); - } - } - else { - console.log('3-'+user); + this.User_name_Emp = this.personalInfo.EMPLOYEE_NAME; + this.User_Job_name = this.personalInfo.JOB_NAME; + if (this.cs.getUpdateImage().status) { + this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img); + } else { + this.user_image = user.EMPLOYEE_IMAGE + ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE + : '../assets/imgs/profile.png'; + } + console.log(user); + console.log(this.personalInfo); + console.log('name: ' + this.personalInfo.EMPLOYEE_NAME); + console.log('user name: ' + user.EMPLOYEE_NAME); + console.log('name: ' + this.personalInfo.JOB_NAME); + console.log('job name: ' + user.JOB_NAME); + + } }); } + openEditprofile() { + this.cs.openProfile(); + } + + openPerormance() { + this.showPerformanceAppraisal(); + + } + + showPerformanceAppraisal() { + this.DS.getPerformanceAppraisal(() => { + this.showPerformanceAppraisal(); + }).subscribe((result: PerformanceAppraisalResponse) => { + this.handlePerformanceAppraisalResult(result); - public ChangeImage() { - this.cs.openChangeImagePage(); + }); + } + + private handlePerformanceAppraisalResult(result) { + if (this.cs.validResponse(result)) { + if (this.cs.hasData(result.GetPerformanceAppraisalList)) { + this.appraisalArr = result.GetPerformanceAppraisalList; + this.performanceData = []; + + for (let i = 0; i < this.appraisalArr.length; i++) { + this.performanceData.push({ name: this.appraisalArr[i].APPRAISAL_YEAR, value: parseInt(this.appraisalArr[i].APPRAISAL_SCORE).toFixed() }); + } + console.log('PerformanceAppraisalResponse'); + this.sharedData.setSharedData(this.performanceData, PerformanceAppraisalResponse.PERFORMANCE_DATA); + //localStorage.setItem("performanceData", this.performanceData) + this.cs.openPerformanceevaluation(); + } else { + let msg: string = this.ts.trPK("userProfile", "no-appraisal"); + this.cs.presentAlert(msg); + + } + } + } + + selectedSegment(segmentData){ + switch (segmentData){ + case "personal": + this.personalInfoSegment = true; + this.basicDetailsSegment = false; + this.addressSegment = false; + this.editBasic = false; + this.editAddress = false; + break; + case "basic": + this.personalInfoSegment = false; + this.basicDetailsSegment = true; + this.addressSegment = false; + this.editBasic = false; + this.editAddress = false; + break; + case "address": + this.personalInfoSegment = false; + this.basicDetailsSegment = false; + this.addressSegment = true; + this.editBasic = false; + this.editAddress = false; + break; + } + } + + allowEdit(allowVal){ + switch(allowVal){ + case 1: + this.editBasic = true; + break; + case 2: + this.editAddress = true; + break; + } + } + + disableEdit(disableVal){ + switch(disableVal){ + case 1: + this.editBasic = false; + break; + case 2: + this.editAddress = false; + break; + } + + } + + + async presentModal() { + const modal = await this.modalController.create({ + component: EditDetailProfileComponent, + cssClass: 'my-custom-modal-css' + }); + return await modal.present(); } } diff --git a/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.html b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.html new file mode 100644 index 00000000..b6dbd408 --- /dev/null +++ b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.html @@ -0,0 +1,39 @@ + + +

+ {{ts.trPK('general','type-of-change')}}

+
+ + + + + + +

{{ts.trPK('general','correct-or-complete')}}

+ +
+ + + +

{{ts.trPK('general','new-info')}}

+
+ +
+ +
+
+ + + + + + {{ts.trPK('userProfile','cancel-text')}} + + + + {{ts.trPK('general','next')}} + + + + +
\ No newline at end of file diff --git a/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.scss b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.scss new file mode 100644 index 00000000..38c1b5ac --- /dev/null +++ b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.scss @@ -0,0 +1,3 @@ +ion-label{ + white-space: normal; +} \ No newline at end of file diff --git a/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.spec.ts b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.spec.ts new file mode 100644 index 00000000..588a31d3 --- /dev/null +++ b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditDetailProfileComponent } from './edit-detail-profile.component'; + +describe('EditDetailProfileComponent', () => { + let component: EditDetailProfileComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EditDetailProfileComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditDetailProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.ts b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.ts new file mode 100644 index 00000000..13dc6ec2 --- /dev/null +++ b/Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.ts @@ -0,0 +1,30 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-edit-detail-profile', + templateUrl: './edit-detail-profile.component.html', + styleUrls: ['./edit-detail-profile.component.scss'], +}) +export class EditDetailProfileComponent implements OnInit { + + + constructor( + public modalController: ModalController, + public ts: TranslatorService, + ) { } + + colorRadio = "#269db8" + + ngOnInit() {} + + dismiss() { + // using the injected ModalController this page + // can "dismiss" itself and optionally pass back data + this.modalController.dismiss({ + 'dismissed': true + }); + } + +} diff --git a/Mohem/src/app/profile/profile.module.ts b/Mohem/src/app/profile/profile.module.ts index c1bd6191..c77c723e 100644 --- a/Mohem/src/app/profile/profile.module.ts +++ b/Mohem/src/app/profile/profile.module.ts @@ -15,6 +15,7 @@ import {EditProfileComponent} from './edit-profile/edit-profile.component'; import {ProfileImageComponent} from './profile-image/profile-image.component' import {PerformanceEvaluationComponent} from './performance-evaluation/performance-evaluation.component' import { from } from 'rxjs'; +import { EditDetailProfileComponent } from './modal/edit-detail-profile/edit-detail-profile.component'; const routes: Routes = [ { @@ -70,9 +71,9 @@ const routes: Routes = [ IonicModule, HmgCommonModule, NgxChartsModule, - RouterModule.forChild(routes) ], - declarations: [ProfilePage , HomeComponent,ProfileImageComponent,EditProfileComponent,PerformanceEvaluationComponent] + declarations: [ProfilePage ,EditDetailProfileComponent, HomeComponent,ProfileImageComponent,EditProfileComponent,PerformanceEvaluationComponent], + entryComponents:[EditDetailProfileComponent] }) export class ProfilePageModule {} diff --git a/Mohem/src/assets/icon/home/announcementIntegration.png b/Mohem/src/assets/icon/home/announcementIntegration.png new file mode 100644 index 00000000..f80dd054 Binary files /dev/null and b/Mohem/src/assets/icon/home/announcementIntegration.png differ diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 12f7fd6e..d2741d65 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -38,8 +38,8 @@ "ar": "هل أنت متأكد من إغلاق الحساب" }, "forgot-id": { - "en": "Forgot Patient ID", - "ar": "نسيت رقم الملف" + "en": "Forgot Employee ID", + "ar": "نسيت رقم الموظف" }, "forgot-password": { "en": "Forgot Password", @@ -62,12 +62,12 @@ "ar": "كشف بالراتب" }, "forgot-your-id": { - "en": "Forgot Your Patient ID", - "ar": "هل نسيت رقم ملف المريض" + "en": "Forgot Your Employee ID", + "ar": "هل نسيت رقمك الوظيفي" }, "forgot-desc": { - "en": "Enter your mobile number to receive your patient file number via SMS", - "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" + "en": "Enter your mobile number to receive your ID number via SMS", + "ar": "أدخل رقم جوالك لاستلام الرقم الوظيفي الخاص بك عن طريق الرسائل النصية" }, "enter-email": { "en": "Please you need to enter your email", @@ -98,8 +98,8 @@ "ar": "دخول / تسجيل" }, "id-or-file": { - "en": "ID or File No", - "ar": "هوية أو رقم الملف" + "en": "Employee ID ", + "ar": "الرقم الوظيفي" }, "national-id-or-iqama": { "en": "National ID or Iqama", @@ -122,12 +122,12 @@ "ar": "الرجاء التحقق من تسجيل الدخول باستخدام أحد هذه الخيارات" }, "verify-with-fingerprint": { - "en": "Verify with fingerprint", - "ar": "تحقق باستخدام بصمة" + "en": "Verify with fingerprint", + "ar": "تحقق باستخدام بصمة الإصبع" }, "verify-with-faceid": { - "en": "Verify with face ID", - "ar": "تحقق باستخدام معرف الوجه" + "en": "Verify with face ID", + "ar": "تحقق باستخدام بصمة الوجه" }, "verify-with-sms": { "en": "Verify with SMS", @@ -142,12 +142,12 @@ "ar": ":آخر تسجيل دخول" }, "last-login-with": { - "en": "Last login using:", - "ar": "آخر تسجيل دخول مع" + "en": "Last login using:", + "ar": "آخر تسجيل دخول بإستخدام" }, "biometric-support": { - "en": "It seems that your phone is supporting biometric feature, do you want login with with biometric?", - "ar": "يبدو أن هاتفك يدعم ميزة البيومترية ، هل تريد تسجيل الدخول باستخدام البيومترية؟" + "en": "It seems that your phone is supporting biometric feature, do you want login with biometric?", + "ar": "يبدو أن هاتفك يدعم ميزة البصمة ، هل تريد تسجيل الدخول باستخدام البصمة؟" }, "verify-fingerprint": { "en": "To activate fingerprint login service, please verify by using one of the following options. ", @@ -361,6 +361,10 @@ "en": "Nationality", "ar": "الجنسية" }, + "religion":{ + "en":"Religion", + "ar":"الديانة" + }, "empty": { "en": "Sorry no data avaiable", "ar": "لا يوجد بيانات" @@ -427,7 +431,7 @@ }, "other": { "en": "Other", - "ar": "أخري" + "ar": "أخرى" }, "provide-missing": { "en": "Please provide required information", @@ -666,8 +670,8 @@ "ar": "إستخدم الرقم التعريفي" }, "auth-please": { - "en": "Please Authenticated", - "ar": "عرف نفسك" + "en": "Please Authenticated", + "ar": "عرف نفسك" }, "dial-code": { "en": "Dial Code", @@ -727,7 +731,7 @@ }, "send-email-short": { "en": "Email", - "ar": "بريد" + "ar": "بريد إلكتروني" }, "hi": { "en": "HI", @@ -742,8 +746,8 @@ "ar": "تمت مزامنة البيانات بنجاح" }, "already-synced": { - "en": "Latest data already synced", - "ar": "أحدث البيانات المتزامنة بالفعل" + "en": "Latest data has already been synced", + "ar": "تمت مزامنة أحدث البيانات مسبقاً" }, "weekly": { "en": "Weekly", @@ -774,8 +778,8 @@ "ar": "الخطوات المغطاة" }, "hours-asleep": { - "en": "Time asleep in hours", - "ar": "الوقت نائم في ساعات" + "en": "Time asleep in hours", + "ar": "وقت النوم بالساعات" }, "bad": { "en": "Bad", @@ -910,8 +914,8 @@ "ar": "فشل التحقق ، يرجى زيارة أقرب مكتب استقبال في الفرع" }, "forget-wifi-connection-text": { - "en": "Invalid Wi-Fi configuration exists with 'HMG-MOHEMM', please forget the Wi-Fi from settings.", - "ar": "فشل الاتصال بشبكة 'HMG-MOHEMM' الرجاء اختيار نسيت الاتصال من اعدادت الشبكة" + "en": "Invalid Wi-Fi configuration exists with 'HMG-MOHEMM', please forget the network from settings.", + "ar": "الرجاء اختيار نسيان الشبكه من اعدادت الشبكة 'HMG-MOHEMM'فشل الاتصال بشبكة " }, "qr-text": { "en": "QR Code", @@ -943,7 +947,7 @@ }, "wifi-connect-message": { "en": "Connecting", - "ar": "توصيل" + "ar": "جاري الإتصال" }, "success-attendance": { "en": "Your attendance is marked successfully.", @@ -956,6 +960,50 @@ "appreciate-service": { "en": "We appreciate you for completing the service of", "ar": "نحن نقدر لك استكمال خدمة" + }, + "basic-details":{ + "en":"Basic Details", + "ar":"المعلومات الاساسية" + }, + "full-name":{ + "en":"Full Name", + "ar":"الاسم كامل" + }, + "marital-status":{ + "en":"Marital Status", + "ar":"الاحالة الاجتماعية" + }, + "civil-identity-number":{ + "en":"Civil identity number", + "ar":"رقم الهوية المدنية" + }, + "effective-date":{ + "en":"Effective Date", + "ar":"تاريخ الفعالية " + }, + "gender":{ + "en":"Gender", + "ar":"النوع" + }, + "education-level":{ + "en":"Education Level", + "ar":"المستوى التعليمي" + }, + "main-address":{ + "en":"Main Address", + "ar":"العنوان الرئيسي" + }, + "correct-or-complete":{ + "en":"correct or complete the current details", + "ar":"تعديل او اكمال التفاصيل الحالية" + }, + "new-info":{ + "en":"enter new Information because of a real change to the current details (e.g because of a change in marital status)", + "ar":"أدخل معلومات جديدة بسبب تغيير حقيقي في التفاصيل الحالية (على سبيل المثال بسبب تغيير في الحالة الاجتماعية)" + }, + "type-of-change":{ + "en":" Select the type of change you want to make.", + "ar":" حدد نوع التغيير الذي تريد القيام به." } }, "home": { @@ -988,8 +1036,8 @@ "ar": "طلبات قيد الانتظار" }, "missing-swipes": { - "en": "Missing Swipes", - "ar": "فقدان البصمة" + "en": "Missing Swipes", + "ar": "تسجيل بصمة حضور سابقة " }, "leave-balance": { "en": "Leave Balance", @@ -1054,8 +1102,8 @@ }, "work-list": { "open-analysis": { - "en": "Open Request Analysis", - "ar": "فتح تحليل الطلب" + "en": "Open Request Analysis", + "ar": "تحليل الطلبات المفتوحة" }, "total": { "en": "Total", @@ -1078,8 +1126,8 @@ "ar": "بحث متقدم" }, "No-data-available": { - "en": "No History Available", - "ar": "لا يوجد محفوظات متاحة" + "en": "No History Available", + "ar": "لايوجد سجل بيانات سابقة " } }, "userProfile": { @@ -1095,6 +1143,54 @@ "en": "Edit Profile", "ar": "تعديل المعلومات" }, + "ServiceType": { + "en": "Service Type", + "ar": "نوع الخدمة" + }, + "DeptName": { + "en": "Department Name", + "ar": "اسم القسم" + }, + "refrence": { + "en": "Tiket Reference", + "ar": "مرجع التذكره" + }, + "section": { + "en": "Section", + "ar": " القسم" + }, + "topic": { + "en": "Topic", + "ar": "العنوان" + }, + "postedDate": { + "en": "Posted on", + "ar": "نشر في" + }, + "RelatedSection": { + "en": "Related Section", + "ar": "قسم ذو صله" + }, + "RelatedTopic": { + "en": "Related Topic", + "ar": "عنوان ذو صله" + }, + "SupportingDocument": { + "en": "Supporting Document", + "ar": "ارفاق ملف" + }, + "Description": { + "en": "Description", + "ar": "الوصف" + }, + "MyHR-request": { + "en": "MY HR REQUEST", + "ar": "طلباتي" + }, + "createHR-Request": { + "en": "CREATE HR REQUEST", + "ar": "انشاء طلب" + }, "performance-evaluation": { "en": "Performance Evaluation", "ar": "تقييم الاداء" @@ -1149,7 +1245,7 @@ }, "payrol": { "en": "Payroll", - "ar": "المشروع" + "ar": "سجل الرواتب" }, "orgEmail": { "en": "Organization Email Address", @@ -1194,6 +1290,62 @@ "successChange": { "en": "Profile Photo changed successfully ", "ar": "تم تغيير الصورة الشخصية بنجاح" + }, + "personal-informaion":{ + "en":"Personal Informaion", + "ar":"المعلومات الشخصية" + }, + "family-name":{ + "en":"Family Name", + "ar":"اسم العائلة" + }, + "preferred-name":{ + "en":"Preferred Name", + "ar":"الاسم المفضل" + }, + "previous-family-name":{ + "en":"Previous Family Name", + "ar":"اسم العائلة السابق" + }, + "father-name":{ + "en":"Father Name<", + "ar":"اسم الاب" + }, + "grand-father-name":{ + "en":"GrandFather Name", + "ar":"اسم الجد" + }, + "arabic-first-name":{ + "en":"Arabic First Name", + "ar":"الاسم الاول بالعربي" + }, + "arabic-father-name":{ + "en":"Arabic Father Name", + "ar":"اسم الاب بالعربي" + }, + "arabic-grand-father-name":{ + "en":"Arabic GrandFather Name", + "ar":"اسم الجد بالعربي" + }, + "street":{ + "en":"Street", + "ar":"شارع" + }, + "area":{ + "en":"Area", + "ar":"المنطقة" + }, + "p-o-box":{ + "en":"P.O Box", + "ar":"صندوق البريد" + }, + "city":{ + "en":"City", + "ar":"المدينة" + }, + "postal-code":{ + "en":"Postal Code", + "ar":"الرمز البريدي" } }, "changePassword": { @@ -1263,7 +1415,7 @@ "vacation-rule": { "vacationRule": { "en": "Vacation Rule", - "ar": "الإنابة بالإجازات" + "ar": "الإنابة بالإجازات" }, "apply-for-vacation-rule": { "en": "Apply for vacation Rule", @@ -1342,8 +1494,8 @@ "ar": "التالى" }, "notification-type": { - "en": "Notification Type", - "ar": "نوع إعلام" + "en": "Notification Type", + "ar": "نوع الإشعار" }, "notification-tip": { "en": "Indicate the notification format that will activate this rule", @@ -1439,7 +1591,7 @@ }, "confirmation": { "en": "Confirmation", - "ar": "البريد الإلكتروني" + "ar": "تأكيد" }, "rule-success": { "en": "Rule created successfully", @@ -1455,11 +1607,11 @@ }, "confirm-msg-success": { "en": "Are you sure, you want to Apply for Vacation Rule?", - "ar": " تريد التقديم على قواعد الاجازات ؟, هل انت متأكد" + "ar": " هل أنت متأكد من رغبتك في التقديم على قواعد الإجازات ؟" }, "update-msg-success": { "en": "Are you sure, you want to Update this Vacation Rule?", - "ar": "تريد تحديث قواعد الاجازات ؟, هل انت متأكد" + "ar": "هل أنت متأكد من رغبتك في تحديث قاعدة الإجازات هذه ؟" } }, "absenceList": { @@ -2342,23 +2494,23 @@ "ar": "رمز" }, "itemReq": { - "en": "Items Requsted", + "en": "Requsted Items", "ar": "العناصر المطلوبة" }, "approveMsg": { - "en": "

Are you sure to Approve this request ?

", + "en": "Requsted Items", "ar": "العناصر المطلوبة" }, "rejectMsg": { - "en": "

Are you sure to Reject this request ?

", + "en": "Requsted Items", "ar": "العناصر المطلوبة" }, "delMsg": { - "en": "

Are you sure to Delete this request ?

", + "en": "Requsted Items", "ar": "العناصر المطلوبة" }, "closeMsg": { - "en": "

Are you sure to Close this request ?

", + "en": "Requsted Items", "ar": "العناصر المطلوبة" }, "Supplier": { @@ -2921,7 +3073,7 @@ }, "shift-time": { "en": "Shift Time", - "ar": "وقت التناوب" + "ar": "وقت المناوبة " }, "shift-type": { "en": "Shift Type", diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 9809f7f8..54ccb3c6 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -1585,4 +1585,4 @@ ion-segment-button { background: #fff; width: 75%; margin: auto; - } \ No newline at end of file + }