service-item.component.ts 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. import { AuthServiceService } from './../../shared/auth-service.service';
  2. import { ActivatedRoute, Params, Router } from '@angular/router';
  3. import { UserService } from './../../shared/user.service';
  4. import { Component, OnInit, HostListener } from '@angular/core';
  5. import { NgxSpinnerService } from 'ngx-spinner';
  6. @Component({
  7. selector: 'app-service-item',
  8. templateUrl: './service-item.component.html',
  9. styleUrls: ['./service-item.component.css']
  10. })
  11. export class ServiceItemComponent implements OnInit {
  12. userId: number;
  13. servicesId: number;
  14. changeText: boolean;
  15. mouseover: boolean;
  16. services = [];
  17. pages = [];
  18. mobilePages = [];
  19. extraPages = [];
  20. defaultPageId: number;
  21. myInnerHeight = window.innerHeight;
  22. isHovering = false;
  23. mouseHovering() {
  24. this.isHovering = true;
  25. console.log(this.isHovering);
  26. }
  27. mouseLeaving() {
  28. this.isHovering = false;
  29. console.log(this.isHovering);
  30. }
  31. constructor( private authService:AuthServiceService,
  32. private userSer: UserService,
  33. private router: Router,
  34. private route: ActivatedRoute,
  35. private userservice: UserService,
  36. private authSer: AuthServiceService,
  37. private spinner: NgxSpinnerService) { }
  38. ngOnInit() {
  39. this.extraPages = [];
  40. //get profile data
  41. this.userSer.getUserDataProfile();
  42. this.changeText = false;
  43. //show spinner
  44. this.spinner.show();
  45. this.authSer.arabicTemplate = true;
  46. //hide search header
  47. this.authService.showSearchHeader = false;
  48. //this.userSer.getServicesData();
  49. this.route.params.subscribe(
  50. (params: Params) => {
  51. this.userId = params['userID'],
  52. this.servicesId = params['serviceID']
  53. }
  54. );
  55. this.userSer.getServicesData(this.userId).subscribe(
  56. (responce) => {
  57. console.log(responce);
  58. this.services = responce['services'];
  59. this.spinner.hide();
  60. },
  61. (error) => {console.log(error)}
  62. );
  63. this.userSer.getPagesPermetiotns(this.userId, this.servicesId).subscribe(
  64. (responce) => {
  65. this.mobilePages = responce['pages'];
  66. console.log(responce['pages'].length);
  67. if(responce['pages'].length > 6) {
  68. for(let i = 0; i < 6 ; i++) {
  69. this.pages[i] = responce['pages'][i];
  70. }
  71. for(let i = 6; i < responce['pages'].length; i++) {
  72. this.extraPages.push(responce['pages'][i]);
  73. }
  74. this.authSer.showMoreLinks = true;
  75. } else {
  76. this.authSer.showMoreLinks = false;
  77. this.pages = responce['pages'];
  78. // this.pages[0].active = 1;
  79. }
  80. this.spinner.hide();
  81. console.log('extraaaaa' , this.extraPages);
  82. console.log('paggges' , this.pages);
  83. },
  84. (error) => {console.log(error)}
  85. );
  86. }
  87. //click on service in side button
  88. onGetService(service) {
  89. this.mobilePages = [];
  90. if(service.id == 1) {
  91. //خدمه الصلاحيات
  92. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  93. (responce) => {
  94. console.log(responce);
  95. this.mobilePages = responce['pages'];
  96. this.pages = responce['pages'];
  97. this.authSer.showMoreLinks = false;
  98. console.log(this.pages);
  99. //this.pages[0].active = 1;
  100. if(this.pages[0].id == 1) {
  101. console.log('/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id);
  102. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id]);
  103. }else if(this.pages[0].id == 2) {
  104. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/roles/' + this.pages[0].id]);
  105. } else if(this.pages[0].id == 3) {
  106. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/departments/' + this.pages[0].id]);
  107. } else if(this.pages[0].id == 4) {
  108. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/sections/' + this.pages[0].id]);
  109. } else if(this.pages[0].id == 5) {
  110. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/reports/' + this.pages[0].id]);
  111. }
  112. this.spinner.hide();
  113. },
  114. (error) => {console.log(error)}
  115. );
  116. } else if(service.id == 6 || service.id == 2) {
  117. //خدمه اداره المحتوي
  118. this.extraPages = [];
  119. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  120. (responce) => {
  121. console.log(responce);
  122. this.mobilePages = responce['pages'];
  123. if(responce['pages'].length > 6) {
  124. for(let i = 0; i < 6 ; i++) {
  125. this.pages[i] = responce['pages'][i];
  126. }
  127. for(let i = 6; i < responce['pages'].length; i++) {
  128. this.extraPages.push(responce['pages'][i]);
  129. }
  130. this.authSer.showMoreLinks = true;
  131. } else {
  132. this.pages = responce['pages'];
  133. this.authSer.showMoreLinks = false;
  134. }
  135. console.log(this.pages);
  136. //this.pages[0].active = 1;
  137. if(this.pages[0].id == 6) {
  138. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  139. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  140. } else if(this.pages[0].id == 10) {
  141. console.log('/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id);
  142. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id]);
  143. } else if(this.pages[0].id == 8){
  144. console.log('/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id);
  145. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id]);
  146. } else if(this.pages[0].id == 9) {
  147. console.log('/service/' + this.userId + '/' + service.id + '/joinUs/' + this.pages[0].id);
  148. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/joinUs/' + this.pages[0].id]);
  149. } else if(this.pages[0].id == 7 || this.pages[0].id == 19) {
  150. console.log('/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id);
  151. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id]);
  152. } else if(this.pages[0].id == 11) {
  153. console.log('/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id);
  154. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id]);
  155. } else if(this.pages[0].id == 12) {
  156. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/tabs/' + this.pages[0].id]);
  157. } else if(this.pages[0].id == 13, this.pages[0].id == 20) {
  158. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/newsList/' + this.pages[0].id]);
  159. } else if(this.pages[0].id == 16 || this.pages[0].id == 29) {
  160. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/footerList/' + this.pages[0].id]);
  161. } else if(this.pages[0].id == 14) {
  162. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/internalServicesList/' + this.pages[0].id]);
  163. } else if(this.pages[0].id == 15) {
  164. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/lecturesList/' + this.pages[0].id]);
  165. } else if(this.pages[0].id == 17 || this.pages[0].id == 18) {
  166. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mainMenuList/' + this.pages[0].id]);
  167. } else if(this.pages[0].id == 24) {
  168. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisimentList/' + this.pages[0].id]);
  169. } else if(this.pages[0].id == 30) {
  170. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  171. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  172. } else if(this.pages[0].id == 21) {
  173. console.log('/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id);
  174. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id]);
  175. } else if(this.pages[0].id == 32) {
  176. console.log('/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id);
  177. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id]);
  178. } else if(this.pages[0].id == 23) {
  179. console.log('/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id);
  180. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id]);
  181. } else if(this.pages[0].id == 25) {
  182. console.log('/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id);
  183. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id]);
  184. } else if(this.pages[0].id == 27) {
  185. console.log('/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id);
  186. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id]);
  187. } else if(this.pages[0].id == 26) {
  188. console.log('/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id);
  189. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id]);
  190. } else if(this.pages[0].id == 22) {
  191. console.log('/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id);
  192. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id]);
  193. } else if(this.pages[0].id == 28) {
  194. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/map/' + this.pages[0].id]);
  195. }
  196. this.spinner.hide();
  197. },
  198. (error) => {
  199. console.log(error)
  200. }
  201. );
  202. } else if(service.id == 3) {
  203. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  204. (responce) => {
  205. console.log(responce);
  206. if(this.pages[0].id == 33) {
  207. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/supervisorList/' + this.pages[0].id]);
  208. } else if(this.pages[0].id == 34) {
  209. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/absorpationList/' + this.pages[0].id]);
  210. } else if(this.pages[0].id == 40) {
  211. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/trainnerList/' + this.pages[0].id]);
  212. }
  213. },
  214. (error) => {
  215. console.log(error);
  216. }
  217. );
  218. }
  219. }
  220. //go to component of page
  221. getListPage(dataPage){
  222. for(let i = 0; i< this.pages.length; i++) {
  223. if(this.pages[i].id == dataPage.id) {
  224. this.pages[i].active = 1;
  225. } else if(this.pages[0].id != dataPage.id) {
  226. this.pages[i].active = 0;
  227. } else {
  228. this.pages[i].active = 0;
  229. }
  230. }
  231. console.log(dataPage);
  232. if(dataPage.id == 1) {
  233. this.router.navigate(['users/' + dataPage.id], {relativeTo: this.route});
  234. } else if(dataPage.id == 2) {
  235. this.router.navigate(['roles/' + dataPage.id], {relativeTo: this.route});
  236. } else if(dataPage.id == 3) {
  237. this.router.navigate(['departments/' + dataPage.id], {relativeTo: this.route});
  238. } else if(dataPage.id == 4) {
  239. this.router.navigate(['sections/' + dataPage.id], {relativeTo: this.route});
  240. } else if(dataPage.id == 5) {
  241. this.router.navigate(['reports'], {relativeTo: this.route});
  242. } else if(dataPage.id == 6 || dataPage.id == 30) {
  243. this.router.navigate(['hospitalsList/' + dataPage.id], {relativeTo: this.route});
  244. } else if(dataPage.id == 10 || dataPage.id == 31){
  245. this.router.navigate(['mangementList/' + dataPage.id], {relativeTo: this.route});
  246. } else if(dataPage.id == 8) {
  247. this.router.navigate(['eventsList/' + dataPage.id], {relativeTo: this.route});
  248. } else if(dataPage.id == 9){
  249. this.router.navigate(['joinUs/' + dataPage.id], {relativeTo: this.route});
  250. } else if(dataPage.id == 7 || dataPage.id == 19) {
  251. this.router.navigate(['externalsList/' + dataPage.id], {relativeTo: this.route});
  252. } else if(dataPage.id == 11) {
  253. this.router.navigate(['achievementsList/' + dataPage.id], {relativeTo: this.route});
  254. }else if(dataPage.id == 12) {
  255. this.router.navigate(['tabs/' + dataPage.id], {relativeTo: this.route});
  256. } else if(dataPage.id == 13 || dataPage.id == 20) {
  257. this.router.navigate(['newsList/' + dataPage.id], {relativeTo: this.route});
  258. } else if(dataPage.id == 16 || dataPage.id == 29) {
  259. this.router.navigate(['footerList/' + dataPage.id], {relativeTo: this.route});
  260. } else if(dataPage.id == 14) {
  261. this.router.navigate(['internalServicesList/' + dataPage.id], {relativeTo: this.route});
  262. } else if(dataPage.id == 15) {
  263. this.router.navigate(['lecturesList/' + dataPage.id], {relativeTo: this.route});
  264. } else if(dataPage.id == 17 || dataPage.id == 18){
  265. this.router.navigate(['mainMenuList/' + dataPage.id], {relativeTo: this.route});
  266. } else if(dataPage.id == 24) {
  267. this.router.navigate(['advertisimentList/' + dataPage.id], {relativeTo: this.route});
  268. } else if(dataPage.id == 21) {
  269. this.router.navigate(['barEventsList/' + dataPage.id], {relativeTo: this.route});
  270. } else if(dataPage.id == 32) {
  271. this.router.navigate(['contactUsList/' + dataPage.id], {relativeTo: this.route});
  272. } else if(dataPage.id == 23) {
  273. this.router.navigate(['visitingTimesList/' + dataPage.id], {relativeTo: this.route});
  274. } else if(dataPage.id == 25) {
  275. this.router.navigate(['eventCalendarsList/' + dataPage.id], {relativeTo: this.route});
  276. } else if(dataPage.id == 27) {
  277. this.router.navigate(['externalAchievementsList/' + dataPage.id], {relativeTo: this.route});
  278. } else if(dataPage.id == 26) {
  279. this.router.navigate(['statisticsList/' + dataPage.id], {relativeTo: this.route});
  280. } else if(dataPage.id == 22) {
  281. this.router.navigate(['advertisingList/' + dataPage.id], {relativeTo: this.route});
  282. } else if(dataPage.id == 28) {
  283. this.router.navigate(['map/' + dataPage.id], {relativeTo: this.route});
  284. } else if(dataPage.id == 33) {
  285. this.router.navigate(['supervisorList/' + dataPage.id], {relativeTo: this.route});
  286. } else if(dataPage.id == 34) {
  287. this.router.navigate(['absorpationList/' + dataPage.id], {relativeTo: this.route});
  288. } else if(dataPage.id == 40) {
  289. this.router.navigate(['trainnerList/' + dataPage.id], {relativeTo: this.route});
  290. }
  291. }
  292. onAddUser() {
  293. this.router.navigate(['addUser'], {relativeTo: this.route});
  294. }
  295. goToHome() {
  296. this.router.navigate(['services/' + this.userId]);
  297. }
  298. }