services.component.ts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. import { HttpClient } from '@angular/common/http';
  2. import { ActivatedRoute, Params, Router } from '@angular/router';
  3. import { AuthServiceService } from '../shared/auth-service.service';
  4. import { Component, OnInit, OnDestroy } from '@angular/core';
  5. import { UserService } from '../shared/user.service';
  6. import { Subscription } from 'rxjs';
  7. import { NgxSpinnerService } from 'ngx-spinner';
  8. @Component({
  9. selector: 'app-services',
  10. templateUrl: './services.component.html',
  11. styleUrls: ['./sercices.component.css']
  12. })
  13. export class ServicesComponent implements OnInit, OnDestroy {
  14. idUser: number; //id user
  15. myInnerHeight = window.innerHeight;
  16. services = [];
  17. pages = [];
  18. subscriptionUSer: Subscription;
  19. constructor(private authService: AuthServiceService,
  20. private userservice: UserService,
  21. private route: ActivatedRoute,
  22. private http: HttpClient, private router: Router,
  23. private spinner: NgxSpinnerService) { }
  24. ngOnInit() {
  25. this.spinner.show();//spinner
  26. //show / hide notification search in header
  27. this.authService.notificationLogin = true;
  28. this.authService.showSearchHeader = false;
  29. this.authService.showHeaderLogin = false;
  30. this.authService.showHeaderDashBoard = true;
  31. this.authService.showDashboardHeader = true;
  32. this.authService.internalHeader = false;
  33. console.log(this.authService.isAuthenticated());
  34. //get profile data
  35. this.userservice.getUserDataProfile();
  36. //catch id user
  37. this.subscriptionUSer = this.route.params.subscribe(
  38. (params: Params) => {
  39. this.idUser = params['id'];
  40. }
  41. );
  42. //get rules of users
  43. this.userservice.getServicesData(this.idUser).subscribe(
  44. (responce) => {
  45. this.services = responce['services'];
  46. console.log(this.services);
  47. this.spinner.hide();
  48. },
  49. (error) => {console.log(error)}
  50. );
  51. }
  52. getDataService(dataService){
  53. console.log('dataServiccce', dataService);
  54. console.log(dataService.id);
  55. console.log(this.idUser);
  56. if(dataService.id == 1) {
  57. //خدمه الصلاحيات
  58. this.userservice.getPagesPermetiotns(this.idUser, dataService.id).subscribe(
  59. (responce) => {
  60. console.log(responce);
  61. this.pages = responce['pages'];
  62. //this.pages[0].active = 1;
  63. console.log(this.pages);
  64. if(this.pages[0].id == 1) {
  65. console.log('/service/' + this.idUser + '/' + dataService.id + '/users/' + this.pages[0].id);
  66. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/users/' + this.pages[0].id]);
  67. }else if(this.pages[0].id == 2) {
  68. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/roles/' + this.pages[0].id]);
  69. } else if(this.pages[0].id == 3) {
  70. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/departments/' + this.pages[0].id]);
  71. } else if(this.pages[0].id == 4) {
  72. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/sections/' + this.pages[0].id]);
  73. } else if(this.pages[0].id == 5) {
  74. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/reports/' + this.pages[0].id]);
  75. }
  76. this.spinner.hide();
  77. },
  78. (error) => {console.log(error)}
  79. );
  80. } else if(dataService.id == 6) {
  81. //خدمه اداره المحتوي
  82. this.userservice.getPagesPermetiotns(this.idUser, dataService.id).subscribe(
  83. (responce) => {
  84. console.log(responce);
  85. this.pages = responce['pages'];
  86. console.log(this.pages);
  87. if(this.pages[0].id == 6) {
  88. console.log('/service/' + this.idUser + '/' + dataService.id + '/hospitalsList/' + this.pages[0].id);
  89. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/hospitalsList/' + this.pages[0].id]);
  90. } else if(this.pages[0].id == 10) {
  91. console.log('/service/' + this.idUser + '/' + dataService.id + '/mangementList/' + this.pages[0].id);
  92. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/mangementList/' + this.pages[0].id]);
  93. } else if(this.pages[0].id == 8){
  94. console.log('/service/' + this.idUser + '/' + dataService.id + '/eventsList/' + this.pages[0].id);
  95. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/eventsList/' + this.pages[0].id]);
  96. } else if(this.pages[0].id == 9) {
  97. console.log('/service/' + this.idUser + '/' + dataService.id + '/joinUs/' + this.pages[0].id);
  98. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/joinUs/' + this.pages[0].id]);
  99. } else if(this.pages[0].id == 7) {
  100. console.log('/service/' + this.idUser + '/' + dataService.id + '/externalsList/' + this.pages[0].id);
  101. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/externalsList/' + this.pages[0].id]);
  102. } else if(this.pages[0].id == 11) {
  103. console.log('/service/' + this.idUser + '/' + dataService.id + '/achievementsList/' + this.pages[0].id);
  104. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/achievementsList/' + this.pages[0].id]);
  105. } else if(this.pages[0].id == 12) {
  106. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/tabs/' + this.pages[0].id]);
  107. } else if(this.pages[0].id == 13) {
  108. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/newsList/' + this.pages[0].id]);
  109. } else if(this.pages[0].id == 16) {
  110. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/footerList/' + this.pages[0].id]);
  111. } else if(this.pages[0].id == 14) {
  112. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/internalServicesList/' + this.pages[0].id]);
  113. } else if(this.pages[0].id == 15){
  114. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/lecturesList/' + this.pages[0].id]);
  115. } else if(this.pages[0].id == 17) {
  116. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/mainMenuList/' + this.pages[0].id]);
  117. }
  118. this.spinner.hide();
  119. },
  120. (error) => {console.log(error)}
  121. );
  122. } else if(dataService.id == 2) {
  123. this.userservice.getPagesPermetiotns(this.idUser, dataService.id).subscribe(
  124. (responce) => {
  125. console.log(responce);
  126. this.pages = responce['pages'];
  127. if(this.pages[0].id == 30) {
  128. console.log('/service/' + this.idUser + '/' + dataService.id + '/hospitalsList/' + this.pages[0].id);
  129. this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/hospitalsList/' + this.pages[0].id]);
  130. }
  131. },
  132. (error) => {
  133. console.log(error);
  134. }
  135. )
  136. }
  137. }
  138. ngOnDestroy() {
  139. this.subscriptionUSer.unsubscribe();
  140. }
  141. }