|
@@ -0,0 +1,267 @@
|
|
|
+import { DashboardService } from './../../../shared/dashboard.service';
|
|
|
+import { HttpClient } from '@angular/common/http';
|
|
|
+import { UserService } from './../../../shared/user.service';
|
|
|
+import { ActivatedRoute, Router, Params } from '@angular/router';
|
|
|
+import { NgxSpinnerService } from 'ngx-spinner';
|
|
|
+import { AuthServiceService } from './../../../shared/auth-service.service';
|
|
|
+import { Component, OnInit } from '@angular/core';
|
|
|
+import { ToastrService } from 'ngx-toastr';
|
|
|
+import { Modal } from 'ngx-modialog/plugins/bootstrap';
|
|
|
+
|
|
|
+@Component({
|
|
|
+ selector: 'app-vehicle-maintenance-list',
|
|
|
+ templateUrl: './vehicle-maintenance-list.component.html',
|
|
|
+ styleUrls: ['./vehicle-maintenance-list.component.css']
|
|
|
+})
|
|
|
+export class VehicleMaintenanceListComponent implements OnInit {
|
|
|
+
|
|
|
+
|
|
|
+ constructor(private route: ActivatedRoute,
|
|
|
+ private router: Router,
|
|
|
+ private userSer: UserService,
|
|
|
+ private http: HttpClient,
|
|
|
+ private toastr: ToastrService,
|
|
|
+ private modal: Modal,
|
|
|
+ private dashBoardSer: DashboardService,
|
|
|
+ private spinner: NgxSpinnerService,
|
|
|
+ private authSer: AuthServiceService) { }
|
|
|
+
|
|
|
+ pageId: number;
|
|
|
+ dataList = [];
|
|
|
+ dataListIds = [];
|
|
|
+ count: number;
|
|
|
+ perPagePagenation: number;
|
|
|
+ currentPage:number = 1;
|
|
|
+ filtterStatus = '';
|
|
|
+ selectedAll: any;
|
|
|
+ userLoginId:number;
|
|
|
+ serviceId:number;
|
|
|
+ dataTableNumber: number = 5;
|
|
|
+ serviceName: string = '';
|
|
|
+ pages = [];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ ngOnInit() {
|
|
|
+
|
|
|
+ //this.spinner.show();
|
|
|
+
|
|
|
+ //init the values of permision boolean
|
|
|
+ this.authSer.showAddBtn = false;
|
|
|
+ this.authSer.showDeleteBtn = false;
|
|
|
+ this.authSer.showEditBtn = false;
|
|
|
+ //show / hide notification search in header
|
|
|
+ this.authSer.notificationLogin = true;
|
|
|
+ this.authSer.showSearchHeader = false;
|
|
|
+ this.authSer.showHeaderLogin = false;
|
|
|
+ this.authSer.showHeaderDashBoard = true;
|
|
|
+ this.authSer.showDashboardHeader = true;
|
|
|
+ this.authSer.internalHeader = false;
|
|
|
+ //init the values of permision boolean
|
|
|
+ this.route.params.subscribe(
|
|
|
+ (params: Params) => {
|
|
|
+ this.pageId = params['vehicleMaintenanceListId'];
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ //to show / hide permissions
|
|
|
+ this.route.parent.params.subscribe(
|
|
|
+ (params:Params) => {
|
|
|
+ this.userLoginId = params['userID'];
|
|
|
+ this.serviceId = params['serviceID'];
|
|
|
+
|
|
|
+ this.route.parent.params.subscribe(
|
|
|
+ (params:Params) => {
|
|
|
+ this.userLoginId = params['userID'];
|
|
|
+ this.serviceId = params['serviceID'];
|
|
|
+ this.userSer.getPagesPermetiotns(this.userLoginId, this.serviceId).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log('permission list', responce);
|
|
|
+ this.pages = responce['pages'];
|
|
|
+ for(let i = 0; i< this.pages.length; i++) {
|
|
|
+ if(this.pages[i].id == 46) {
|
|
|
+ if(this.pages[i].permissions[0].name == 'recording_maintenance_data') {
|
|
|
+ this.authSer.showAddBtn = true;
|
|
|
+ this.authSer.showEditBtn = true;
|
|
|
+ this.authSer.showDeleteBtn = true;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ console.log('no lectures');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ (error) => {console.log(error)}
|
|
|
+ );
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ //get list data
|
|
|
+ this.dashBoardSer.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log('rescponce dataaaa', responce);
|
|
|
+ this.dataList = responce['vehicle_maintenances'];
|
|
|
+ this.count = responce['count'];
|
|
|
+ this.perPagePagenation = responce['per_page'];
|
|
|
+ console.log('evennnnts', this.dataList);
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error);
|
|
|
+ this.spinner.hide();
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //make all checkbox of user checked
|
|
|
+ selectAll() {
|
|
|
+ for (var i = 0; i < this.dataList.length; i++) {
|
|
|
+ this.dataList[i].selected = this.selectedAll;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ checkIfAllSelected() {
|
|
|
+ this.selectedAll = this.dataList.every(function(item:any) {
|
|
|
+ return item.selected == true;
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ //filtter function
|
|
|
+ filtterFunc(data) {
|
|
|
+ this.dataList = [];
|
|
|
+ console.log(data.target.value);
|
|
|
+ const dataSearch = data.target.value;
|
|
|
+ this.currentPage = 1;
|
|
|
+ console.log('search curent page', this.currentPage);
|
|
|
+ this.dashBoardSer.getDataUSerSearchBar(dataSearch, this.pageId, this.currentPage, this.dataTableNumber).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log(responce);
|
|
|
+ this.dataList = responce['vehicle_maintenances'];
|
|
|
+ this.count = responce['count'];
|
|
|
+ this.perPagePagenation = responce['per_page'];
|
|
|
+ console.log('filtter count', this.count);
|
|
|
+ console.log('filtter perPagePAgenation', this.perPagePagenation);
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ );
|
|
|
+ };
|
|
|
+
|
|
|
+ //change page
|
|
|
+onPageChange(pagenationNumber) {
|
|
|
+ this.spinner.show();
|
|
|
+
|
|
|
+ this.currentPage = pagenationNumber;
|
|
|
+ this.dataList = [];
|
|
|
+ //console.log(pagenationNumber);
|
|
|
+ //console.log(this.pageId);
|
|
|
+ this.dashBoardSer.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log('search result ', responce);
|
|
|
+ this.dataList = responce['vehicle_maintenances'];
|
|
|
+ this.count = responce['count'];
|
|
|
+ this.perPagePagenation = responce['per_page'];
|
|
|
+ console.log(this.dataList);
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error);
|
|
|
+ this.spinner.hide();
|
|
|
+ }
|
|
|
+ );
|
|
|
+};
|
|
|
+
|
|
|
+ //determine the list count from select element
|
|
|
+ onGetValue(event) {
|
|
|
+ this.spinner.show();
|
|
|
+ this.dataList = [];
|
|
|
+ this.dataTableNumber = event.target.value;
|
|
|
+ this.dashBoardSer.getListData(this.pageId, this.currentPage, this.dataTableNumber).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log(responce);
|
|
|
+ this.dataList = responce['vehicle_maintenances'];
|
|
|
+ this.count = responce['count'];
|
|
|
+ this.perPagePagenation = responce['per_page'];
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error);
|
|
|
+ this.spinner.hide();
|
|
|
+ }
|
|
|
+ );
|
|
|
+ };
|
|
|
+
|
|
|
+ onDelete() {
|
|
|
+
|
|
|
+ this.dataListIds = [];
|
|
|
+ for(let i = 0; i < this.dataList.length; i++) {
|
|
|
+ if(this.dataList[i].selected == true) {
|
|
|
+ this.dataListIds.push(this.dataList[i].id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(this.dataListIds);
|
|
|
+
|
|
|
+ if(this.dataListIds.length > 0) {
|
|
|
+ const dialogRef = this.modal.alert()
|
|
|
+ .size('sm')
|
|
|
+ .showClose(true)
|
|
|
+ .title('تأكيد الحذف')
|
|
|
+ .body(`
|
|
|
+ <h4>هل ترغب في حذف العناصر المحدده ؟ </h4>
|
|
|
+ `)
|
|
|
+ .open();
|
|
|
+
|
|
|
+ dialogRef.result
|
|
|
+ .then( result =>
|
|
|
+ this.dashBoardSer.deleteItem(this.dataListIds , this.pageId).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log(responce);
|
|
|
+ this.toastr.success('تم الحذف');
|
|
|
+ this.spinner.show();
|
|
|
+ this.dataList = [];
|
|
|
+ //get list data
|
|
|
+ this.dashBoardSer.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
|
|
|
+ (responce) => {
|
|
|
+ console.log(responce);
|
|
|
+ this.dataList = responce['vehicle_maintenances'];
|
|
|
+ this.count = responce['count'];
|
|
|
+ this.perPagePagenation = responce['per_page'];
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error);
|
|
|
+ this.spinner.hide();
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ console.log(error);
|
|
|
+ this.spinner.hide();
|
|
|
+ },
|
|
|
+ )
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ this.toastr.warning('لم يتم إختيار أي عنصر للمسح !');
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ //add function
|
|
|
+ onAdd() {
|
|
|
+ console.log('service/' + this.userLoginId + '/' + this.serviceId + '/addTab');
|
|
|
+ this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/vehicleMaintenance/add']);
|
|
|
+ }
|
|
|
+
|
|
|
+ //edit function
|
|
|
+ onEdit(editTabID) {
|
|
|
+ this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'vehicleMaintenance/edit/' + editTabID]);
|
|
|
+ };
|
|
|
+
|
|
|
+}
|