service-item.component.ts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  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. pageId: number;
  23. pageActiveId: number;
  24. isHovering = false;
  25. mouseHovering() {
  26. this.isHovering = true;
  27. console.log(this.isHovering);
  28. }
  29. mouseLeaving() {
  30. this.isHovering = false;
  31. console.log(this.isHovering);
  32. }
  33. constructor( private authService:AuthServiceService,
  34. private userSer: UserService,
  35. private router: Router,
  36. private route: ActivatedRoute,
  37. private userservice: UserService,
  38. private authSer: AuthServiceService,
  39. private spinner: NgxSpinnerService) { }
  40. ngOnInit() {
  41. this.extraPages = [];
  42. //get profile data
  43. this.userSer.getUserDataProfile();
  44. this.changeText = false;
  45. //show spinner
  46. this.spinner.show();
  47. this.authSer.arabicTemplate = true;
  48. //hide search header
  49. this.authService.showSearchHeader = false;
  50. //this.userSer.getServicesData();
  51. this.route.params.subscribe(
  52. (params: Params) => {
  53. this.userId = params['userID'],
  54. this.servicesId = params['serviceID']
  55. }
  56. );
  57. this.userSer.getServicesData(this.userId).subscribe(
  58. (responce) => {
  59. console.log(responce);
  60. this.services = responce['services'];
  61. this.spinner.hide();
  62. },
  63. (error) => {console.log(error)}
  64. );
  65. this.userSer.getPagesPermetiotns(this.userId, this.servicesId).subscribe(
  66. (responce) => {
  67. this.mobilePages = responce['pages'];
  68. console.log(responce['pages'].length);
  69. if(responce['pages'].length > 6) {
  70. for(let i = 0; i < 6 ; i++) {
  71. this.pages[i] = responce['pages'][i];
  72. }
  73. for(let i = 6; i < responce['pages'].length; i++) {
  74. this.extraPages.push(responce['pages'][i]);
  75. }
  76. this.authSer.showMoreLinks = true;
  77. } else {
  78. this.authSer.showMoreLinks = false;
  79. this.pages = responce['pages'];
  80. }
  81. //get page id from local storage
  82. this.pageActiveId = +localStorage.getItem('pageIdActive');
  83. for(let i = 0; i < this.pages.length; i++) {
  84. if(this.pages[i].id == this.pageActiveId) {
  85. this.pages[i].active = 1;
  86. }
  87. }
  88. this.spinner.hide();
  89. console.log('extraaaaa' , this.extraPages);
  90. console.log('paggges' , this.pages);
  91. },
  92. (error) => {console.log(error)}
  93. );
  94. }
  95. //click on service in side button
  96. onGetService(service) {
  97. this.mobilePages = [];
  98. if(service.id == 1) {
  99. //خدمه الصلاحيات
  100. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  101. (responce) => {
  102. console.log(responce);
  103. this.mobilePages = responce['pages'];
  104. this.pages = responce['pages'];
  105. this.authSer.showMoreLinks = false;
  106. console.log(this.pages);
  107. this.pages[0].active = 1;
  108. if(this.pages[0].id == 1) {
  109. console.log('/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id);
  110. //this.pages[0].active = 1;
  111. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id]);
  112. }else if(this.pages[0].id == 2) {
  113. //this.pages[0].active = 1;
  114. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/roles/' + this.pages[0].id]);
  115. } else if(this.pages[0].id == 3) {
  116. //this.pages[0].active = 1;
  117. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/departments/' + this.pages[0].id]);
  118. } else if(this.pages[0].id == 4) {
  119. //this.pages[0].active = 1;
  120. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/sections/' + this.pages[0].id]);
  121. } else if(this.pages[0].id == 5) {
  122. //this.pages[0].active = 1;
  123. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/reports/' + this.pages[0].id]);
  124. }
  125. this.spinner.hide();
  126. },
  127. (error) => {console.log(error)}
  128. );
  129. } else if(service.id == 6 || service.id == 2) {
  130. //خدمه اداره المحتوي
  131. this.extraPages = [];
  132. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  133. (responce) => {
  134. console.log(responce);
  135. this.mobilePages = responce['pages'];
  136. if(responce['pages'].length > 6) {
  137. for(let i = 0; i < 6 ; i++) {
  138. this.pages[i] = responce['pages'][i];
  139. }
  140. for(let i = 6; i < responce['pages'].length; i++) {
  141. this.extraPages.push(responce['pages'][i]);
  142. }
  143. this.authSer.showMoreLinks = true;
  144. } else {
  145. this.pages = responce['pages'];
  146. this.authSer.showMoreLinks = false;
  147. }
  148. console.log(this.pages);
  149. this.pages[0].active = 1;
  150. if(this.pages[0].id == 6) {
  151. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  152. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  153. } else if(this.pages[0].id == 10) {
  154. console.log('/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id);
  155. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id]);
  156. } else if(this.pages[0].id == 8){
  157. console.log('/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id);
  158. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id]);
  159. } else if(this.pages[0].id == 9) {
  160. console.log('/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id);
  161. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id]);
  162. } else if(this.pages[0].id == 7 || this.pages[0].id == 19) {
  163. console.log('/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id);
  164. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id]);
  165. } else if(this.pages[0].id == 11) {
  166. console.log('/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id);
  167. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id]);
  168. } else if(this.pages[0].id == 12) {
  169. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/tabs/' + this.pages[0].id]);
  170. } else if(this.pages[0].id == 13, this.pages[0].id == 20) {
  171. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/newsList/' + this.pages[0].id]);
  172. } else if(this.pages[0].id == 16 || this.pages[0].id == 29) {
  173. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/footerList/' + this.pages[0].id]);
  174. } else if(this.pages[0].id == 14) {
  175. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/internalServicesList/' + this.pages[0].id]);
  176. } else if(this.pages[0].id == 15) {
  177. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/lecturesList/' + this.pages[0].id]);
  178. } else if(this.pages[0].id == 17 || this.pages[0].id == 18) {
  179. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mainMenuList/' + this.pages[0].id]);
  180. } else if(this.pages[0].id == 24) {
  181. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisimentList/' + this.pages[0].id]);
  182. } else if(this.pages[0].id == 30) {
  183. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  184. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  185. } else if(this.pages[0].id == 21) {
  186. console.log('/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id);
  187. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id]);
  188. } else if(this.pages[0].id == 32) {
  189. console.log('/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id);
  190. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id]);
  191. } else if(this.pages[0].id == 23) {
  192. console.log('/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id);
  193. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id]);
  194. } else if(this.pages[0].id == 25) {
  195. console.log('/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id);
  196. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id]);
  197. } else if(this.pages[0].id == 27) {
  198. console.log('/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id);
  199. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id]);
  200. } else if(this.pages[0].id == 26) {
  201. console.log('/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id);
  202. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id]);
  203. } else if(this.pages[0].id == 22) {
  204. console.log('/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id);
  205. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id]);
  206. } else if(this.pages[0].id == 28) {
  207. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/map/' + this.pages[0].id]);
  208. }
  209. this.spinner.hide();
  210. },
  211. (error) => {
  212. console.log(error)
  213. }
  214. );
  215. } else if(service.id == 3) {
  216. //خدمه التدريب
  217. this.extraPages = [];
  218. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  219. (responce) => {
  220. this.mobilePages = responce['pages'];
  221. if(responce['pages'].length > 6) {
  222. for(let i = 0; i < 6 ; i++) {
  223. this.pages[i] = responce['pages'][i];
  224. }
  225. for(let i = 6; i < responce['pages'].length; i++) {
  226. this.extraPages.push(responce['pages'][i]);
  227. }
  228. this.authSer.showMoreLinks = true;
  229. } else {
  230. this.pages = responce['pages'];
  231. this.authSer.showMoreLinks = false;
  232. }
  233. console.log(this.pages);
  234. this.pages[0].active = 1;
  235. if(this.pages[0].id == 33) {
  236. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/supervisorList/' + this.pages[0].id]);
  237. } else if(this.pages[0].id == 34) {
  238. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/absorpationList/' + this.pages[0].id]);
  239. } else if(this.pages[0].id == 35) {
  240. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/reviewTraineeData/' + this.pages[0].id]);
  241. } else if(this.pages[0].id == 36) {
  242. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/reviewSectionForTrainee/' + this.pages[0].id]);
  243. } else if(this.pages[0].id == 37) {
  244. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/printCardTraineeList/' + this.pages[0].id]);
  245. } else if(this.pages[0].id == 38) {
  246. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registrationTraineeList/' + this.pages[0].id]);
  247. } else if(this.pages[0].id == 39){
  248. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/finalAccerditationList/' + this.pages[0].id]);
  249. } else if(this.pages[0].id == 40) {
  250. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/trainnerList/' + this.pages[0].id]);
  251. }
  252. },
  253. (error) => {
  254. console.log(error);
  255. }
  256. );
  257. } else if(service.id == 4) {
  258. //خدمه الحركه
  259. this.extraPages = [];
  260. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  261. (responce) => {
  262. console.log(responce);
  263. this.mobilePages = responce['pages'];
  264. if(responce['pages'].length > 6) {
  265. for(let i = 0; i < 6 ; i++) {
  266. this.pages[i] = responce['pages'][i];
  267. }
  268. for(let i = 6; i < responce['pages'].length; i++) {
  269. this.extraPages.push(responce['pages'][i]);
  270. }
  271. this.authSer.showMoreLinks = true;
  272. } else {
  273. this.pages = responce['pages'];
  274. this.authSer.showMoreLinks = false;
  275. }
  276. console.log(this.pages);
  277. this.pages[0].active = 1;
  278. if(this.pages[0].id == 43) {
  279. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleList/' + this.pages[0].id]);
  280. } else if(this.pages[0].id == 44) {
  281. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleModelList/' + this.pages[0].id]);
  282. } else if(this.pages[0].id == 45) {
  283. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registrationVehicleList/' + this.pages[0].id]);
  284. } else if(this.pages[0].id == 46) {
  285. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleMaintenanceList/' + this.pages[0].id]);
  286. } else if(this.pages[0].id == 47) {
  287. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registerMovementVehicleList/' + this.pages[0].id]);
  288. } else if(this.pages[0].id == 48) {
  289. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/existingReportVehicle']);
  290. } else if(this.pages[0].id == 49) {
  291. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/VehicleReport/Movement']);
  292. } else if(this.pages[0].id == 50) {
  293. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/VehicleReport/General']);
  294. }
  295. },
  296. (error) => {
  297. console.log(error);
  298. }
  299. );
  300. }
  301. }
  302. //go to component of page
  303. getListPage(dataPage){
  304. for(let i = 0; i< this.pages.length; i++) {
  305. if(this.pages[i].id == dataPage.id) {
  306. this.pages[i].active = 1;
  307. } else if(this.pages[0].id != dataPage.id) {
  308. this.pages[i].active = 0;
  309. } else {
  310. this.pages[i].active = 0;
  311. }
  312. }
  313. console.log(dataPage);
  314. if(dataPage.id == 1) {
  315. this.router.navigate(['users/' + dataPage.id], {relativeTo: this.route});
  316. } else if(dataPage.id == 2) {
  317. this.router.navigate(['roles/' + dataPage.id], {relativeTo: this.route});
  318. } else if(dataPage.id == 3) {
  319. this.router.navigate(['departments/' + dataPage.id], {relativeTo: this.route});
  320. } else if(dataPage.id == 4) {
  321. this.router.navigate(['sections/' + dataPage.id], {relativeTo: this.route});
  322. } else if(dataPage.id == 5) {
  323. this.router.navigate(['reports'], {relativeTo: this.route});
  324. } else if(dataPage.id == 6 || dataPage.id == 30) {
  325. this.router.navigate(['hospitalsList/' + dataPage.id], {relativeTo: this.route});
  326. } else if(dataPage.id == 10 || dataPage.id == 31){
  327. this.router.navigate(['mangementList/' + dataPage.id], {relativeTo: this.route});
  328. } else if(dataPage.id == 8) {
  329. this.router.navigate(['eventsList/' + dataPage.id], {relativeTo: this.route});
  330. } else if(dataPage.id == 9){
  331. this.router.navigate(['users/' + dataPage.id], {relativeTo: this.route});
  332. } else if(dataPage.id == 7 || dataPage.id == 19) {
  333. this.router.navigate(['externalsList/' + dataPage.id], {relativeTo: this.route});
  334. } else if(dataPage.id == 11) {
  335. this.router.navigate(['achievementsList/' + dataPage.id], {relativeTo: this.route});
  336. }else if(dataPage.id == 12) {
  337. this.router.navigate(['tabs/' + dataPage.id], {relativeTo: this.route});
  338. } else if(dataPage.id == 13 || dataPage.id == 20) {
  339. this.router.navigate(['newsList/' + dataPage.id], {relativeTo: this.route});
  340. } else if(dataPage.id == 16 || dataPage.id == 29) {
  341. this.router.navigate(['footerList/' + dataPage.id], {relativeTo: this.route});
  342. } else if(dataPage.id == 14) {
  343. this.router.navigate(['internalServicesList/' + dataPage.id], {relativeTo: this.route});
  344. } else if(dataPage.id == 15) {
  345. this.router.navigate(['lecturesList/' + dataPage.id], {relativeTo: this.route});
  346. } else if(dataPage.id == 17 || dataPage.id == 18){
  347. this.router.navigate(['mainMenuList/' + dataPage.id], {relativeTo: this.route});
  348. } else if(dataPage.id == 24) {
  349. this.router.navigate(['advertisimentList/' + dataPage.id], {relativeTo: this.route});
  350. } else if(dataPage.id == 21) {
  351. this.router.navigate(['barEventsList/' + dataPage.id], {relativeTo: this.route});
  352. } else if(dataPage.id == 32) {
  353. this.router.navigate(['contactUsList/' + dataPage.id], {relativeTo: this.route});
  354. } else if(dataPage.id == 23) {
  355. this.router.navigate(['visitingTimesList/' + dataPage.id], {relativeTo: this.route});
  356. } else if(dataPage.id == 25) {
  357. this.router.navigate(['eventCalendarsList/' + dataPage.id], {relativeTo: this.route});
  358. } else if(dataPage.id == 27) {
  359. this.router.navigate(['externalAchievementsList/' + dataPage.id], {relativeTo: this.route});
  360. } else if(dataPage.id == 26) {
  361. this.router.navigate(['statisticsList/' + dataPage.id], {relativeTo: this.route});
  362. } else if(dataPage.id == 22) {
  363. this.router.navigate(['advertisingList/' + dataPage.id], {relativeTo: this.route});
  364. } else if(dataPage.id == 28) {
  365. this.router.navigate(['map/' + dataPage.id], {relativeTo: this.route});
  366. } else if(dataPage.id == 33) {
  367. this.router.navigate(['supervisorList/' + dataPage.id], {relativeTo: this.route});
  368. } else if(dataPage.id == 34) {
  369. this.router.navigate(['absorpationList/' + dataPage.id], {relativeTo: this.route});
  370. } else if(dataPage.id == 35) {
  371. this.router.navigate(['reviewTrainerData/' + dataPage.id], {relativeTo: this.route});
  372. } else if(dataPage.id == 36){
  373. this.router.navigate(['reviewSectionForTrainee/' + dataPage.id], {relativeTo: this.route});
  374. } else if(dataPage.id == 37) {
  375. this.router.navigate(['printCardTraineeList/' + dataPage.id], {relativeTo: this.route});
  376. } else if(dataPage.id == 38) {
  377. this.router.navigate(['registrationTraineeList/' + dataPage.id], {relativeTo: this.route});
  378. } else if(dataPage.id == 39){
  379. this.router.navigate(['finalAccerditationList/' + dataPage.id], {relativeTo: this.route});
  380. } else if(dataPage.id == 40) {
  381. this.router.navigate(['trainnerList/' + dataPage.id], {relativeTo: this.route});
  382. } else if(dataPage.id == 43) {
  383. this.router.navigate(['vehicleList/' + dataPage.id], {relativeTo: this.route});
  384. }else if(dataPage.id == 44){
  385. this.router.navigate(['vehicleModelList/' + dataPage.id], {relativeTo: this.route});
  386. } else if(dataPage.id == 45) {
  387. this.router.navigate(['registrationVehicleList/' + dataPage.id], {relativeTo: this.route});
  388. } else if(dataPage.id == 46) {
  389. this.router.navigate(['vehicleMaintenanceList/' + dataPage.id], {relativeTo: this.route});
  390. } else if(dataPage.id == 47) {
  391. this.router.navigate(['registerMovementVehicleList/' + dataPage.id], {relativeTo: this.route});
  392. } else if(dataPage.id == 48) {
  393. this.router.navigate(['existingReportVehicle'], {relativeTo: this.route});
  394. } else if(dataPage.id == 49) {
  395. this.router.navigate(['VehicleReport/Movement'], {relativeTo: this.route});
  396. } else if(dataPage.id == 50) {
  397. this.router.navigate(['VehicleReport/General'], {relativeTo: this.route});
  398. }else if(dataPage.id == 51) {
  399. this.router.navigate(['definitionClassificationList/' + dataPage.id], {relativeTo: this.route});
  400. }else if(dataPage.id == 52) {
  401. this.router.navigate(['definitionLocationList/' + dataPage.id], {relativeTo: this.route});
  402. }
  403. }
  404. onAddUser() {
  405. this.router.navigate(['addUser'], {relativeTo: this.route});
  406. }
  407. goToHome() {
  408. this.router.navigate(['services/' + this.userId]);
  409. }
  410. }