Hima hace 6 años
padre
commit
5c7b21db51

+ 2 - 0
src/app/dashboard/dashboard-routing.ts

@@ -82,6 +82,7 @@ import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/mo
 import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
 import { RegistrationVehicleAddComponent } from './registration-vehicle/registration-vehicle-add/registration-vehicle-add.component';
 import { RegisterMovementVehicleAddComponent } from './register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component';
+import { VehicleMovementReportComponent } from './vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component';
 
 const dashboardRouting: Routes = [
     {path: 'service/:userID/:serviceID', component: ServiceItemComponent, canActivate: [AuthGuard], children: [
@@ -196,6 +197,7 @@ const dashboardRouting: Routes = [
     {path: 'vehicleMaintenance/add', component: VehicleMaintenanceAddComponent},
     {path: 'vehicleMaintenance/edit/:vehicleMaintenanceEditId', component: VehicleMaintenanceAddComponent },
     {path: 'existingReportVehicle', component: ExistingReportComponent},
+    {path: 'VehicleReport/:typeReport', component: VehicleMovementReportComponent},
   ]},
 ];
 

+ 1 - 1
src/app/dashboard/reivew-trainee-data/review-trainee-add/review-trainee-add.component.html

@@ -117,7 +117,7 @@
               <div class="row">
                 <div class="wrapper">
                   
-                  <div class="col-12">
+                  <div class="col-12" *ngIf="typeMode">
                     <div class="form-group">
                       <h2 class="titleStatus">{{formData.status == 'pending' ? 'تحت الإجراء' 
                           : formData.status == 'accepted' ? 'مقبول' 

+ 5 - 1
src/app/dashboard/reports-existing-vehicles/existing-report/existing-report.component.html

@@ -73,7 +73,11 @@
           </div>
         </div>
 
-
+        <div class="row" *ngIf="showTableData">
+          <div class="col-12">
+            <button class="btn btn-success" style="float: right; margin: 10px 0;" (click)="onPrint()">طباعه</button> 
+          </div>
+        </div>
       </div>
 
 

+ 15 - 0
src/app/dashboard/reports-existing-vehicles/existing-report/existing-report.component.ts

@@ -3,6 +3,7 @@ import { AuthServiceService } from './../../../shared/auth-service.service';
 import { HttpClient } from '@angular/common/http';
 import { ActivatedRoute } from '@angular/router';
 import { Component, OnInit } from '@angular/core';
+import { NgxSpinnerService } from 'ngx-spinner';
 
 @Component({
   selector: 'app-existing-report',
@@ -14,6 +15,7 @@ export class ExistingReportComponent implements OnInit {
   constructor(private route: ActivatedRoute,
     private authSer: AuthServiceService, 
     private toastr: ToastrService,
+    private spinner: NgxSpinnerService,
     private http: HttpClient) { }
 
     vehicle_types: any[] =[];
@@ -49,6 +51,9 @@ export class ExistingReportComponent implements OnInit {
       (responce) => {
         console.log('models vehicle', responce);
         this.vehicle_models = responce['models'];
+        if(this.vehicle_models.length == 0) {
+          this.toastr.warning('لا يوجد موديلات لهذا النوع حاليا ');
+        }
       },
       (error) => {
         console.log(error);
@@ -58,6 +63,7 @@ export class ExistingReportComponent implements OnInit {
 
   //get report when change model
   getReport(event) {
+    this.spinner.show();
     console.log(event.target.value);
     this.vehicleModelId = event.target.value;
     this.http.get(this.authSer.pathApi + '/report_existing_vehicles/' + this.vehicleTypeId + '/' + this.vehicleModelId + '/all').subscribe(
@@ -69,6 +75,7 @@ export class ExistingReportComponent implements OnInit {
         } else {
           this.showTableData = false;
         }
+        this.spinner.hide();
       },
       (error) => {
         console.log(error);
@@ -79,6 +86,7 @@ export class ExistingReportComponent implements OnInit {
   //fillter data 
   getFillter(event) {
     console.log(event.target.value);
+    this.spinner.show();
     this.http.get(this.authSer.pathApi 
       + '/report_existing_vehicles/' 
       + this.vehicleTypeId + '/' 
@@ -96,6 +104,7 @@ export class ExistingReportComponent implements OnInit {
         } else {
           this.showTableData = false;
         }
+        this.spinner.hide();
       },
       (error) => {
         console.log(error);
@@ -103,4 +112,10 @@ export class ExistingReportComponent implements OnInit {
     )
   }
 
+  //print function
+  onPrint() {
+    window.print();
+  }
+
+
 }

+ 10 - 0
src/app/dashboard/service-item/service-item.component.ts

@@ -289,6 +289,12 @@ export class ServiceItemComponent implements OnInit {
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleMaintenanceList/' + this.pages[0].id]);
           } else if(this.pages[0].id == 47) {
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registerMovementVehicleList/' + this.pages[0].id]);
+          } else if(this.pages[0].id == 48) {
+            this.router.navigate(['/service/' + this.userId + '/' + service.id + '/existingReportVehicle']);
+          } else if(this.pages[0].id == 49) {
+            this.router.navigate(['/service/' + this.userId + '/' + service.id + '/VehicleReport/Movement']);
+          } else if(this.pages[0].id == 50) {
+            this.router.navigate(['/service/' + this.userId + '/' + service.id + '/VehicleReport/General']);
           }
         },
         (error) => {
@@ -392,6 +398,10 @@ export class ServiceItemComponent implements OnInit {
       this.router.navigate(['registerMovementVehicleList/' + dataPage.id], {relativeTo: this.route});
     } else if(dataPage.id == 48) {
       this.router.navigate(['existingReportVehicle'], {relativeTo: this.route});
+    } else if(dataPage.id == 49) {
+      this.router.navigate(['VehicleReport/Movement'], {relativeTo: this.route});
+    } else if(dataPage.id == 50) {
+      this.router.navigate(['VehicleReport/General'], {relativeTo: this.route});
     }
   }
 

+ 63 - 3
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.html

@@ -1,3 +1,63 @@
-<p>
-  vehicle-movement-report works!
-</p>
+
+<div class="addHospital-w">
+    <div class="container">
+  
+      <div class="row" style="margin-bottom: 30px;">
+          <div class="col-12">
+            <ul class="list-unstyled titileLi-w">
+              <li class="headingText-w">خدمه التدريب</li>
+              <li class="headingText-w">{{typeReportPage}}</li>
+            </ul>
+          </div>
+      </div>
+  
+        <div class="containerContent-w">
+        
+          <div class="row">
+            <div class="col-12 col-sm-12 col-md-4">
+              <div class="form-group">
+                <input type="text" placeholder="البحث برقم المركبه" class="form-control" [(ngModel)]="searchData" style="width: 80%; float:right;">
+                <button class="btn btn-success" style="float:right;" (click)="onGetData()">أبحث</button>
+              </div>
+            </div>
+          </div>
+  
+          <div class="row" *ngIf="showTableData" style="margin-top: 50px">
+            <div class="col-12">
+              <table class="table table-bordered">
+                  <thead class="headBackground-w">
+                    <tr>
+                      <th>نوع المركيه</th>
+                      <th>موديل المركبه</th>
+                      <th>رقم اللوحه</th>
+                      <th>الحاله</th>
+                      <th>رقم الهيكل</th>
+                      <th>اللون</th>
+                    </tr>
+                  </thead>
+                  <tbody>
+                    <tr *ngFor="let data of vehicleData">
+                      <td>{{data.vehicle_type_name}}</td>
+                      <td>{{data.vehicle_model_name}}</td>
+                      <td>{{data.plate_number}}</td>
+                      <td>{{data.vehicle_status == 'used' ? 'مستعمل' : 'جديد'}}</td>
+                      <td>{{data.structure_number}}</td>
+                      <td>{{data.color}}</td>
+                  </tr>
+                </tbody>
+              </table>
+            </div>
+          </div>
+  
+          <div class="row" *ngIf="showTableData">
+            <div class="col-12">
+              <button class="btn btn-success" style="float: right; margin: 10px 0;" (click)="onPrint()">طباعه</button> 
+            </div>
+          </div>
+  
+        </div>
+  
+  
+      </div>
+   </div>
+    

+ 76 - 1
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.ts

@@ -1,4 +1,8 @@
+import { ActivatedRoute, Params } from '@angular/router';
+import { AuthServiceService } from './../../../shared/auth-service.service';
+import { HttpClient } from '@angular/common/http';
 import { Component, OnInit } from '@angular/core';
+import { ToastrService } from 'ngx-toastr';
 
 @Component({
   selector: 'app-vehicle-movement-report',
@@ -7,9 +11,80 @@ import { Component, OnInit } from '@angular/core';
 })
 export class VehicleMovementReportComponent implements OnInit {
 
-  constructor() { }
+  constructor(private http: HttpClient, 
+    private toastr: ToastrService,
+    private route : ActivatedRoute,
+    private authSer: AuthServiceService) { }
 
+  searchData: string = '';
+  showTableData: boolean = false;
+  vehicleData = [];
+  typeReport:string = '';
+  typeReportPage:string = '';
   ngOnInit() {
+    this.route.params.subscribe(
+      (params: Params) => {
+        this.typeReport = params['typeReport'];
+      }
+    );
+
+    if(this.typeReport == 'Movement') {
+      this.typeReportPage = 'تقارير حركه المركبات';
+    } else if(this.typeReport == 'General') {
+      this.typeReportPage = 'تقرير عام عن المركبه';
+    } else {
+      console.log('error');
+    }
+  }
+
+  onGetData() {
+    this.vehicleData = [];
+    if(this.typeReport == 'Movement') {
+      this.http.get(this.authSer.pathApi + '/report_vehicle_movement/' + this.searchData).subscribe(
+        (responce) => {
+          console.log(responce);
+          this.vehicleData.push(responce['vehicle']);
+          console.log(this.vehicleData);
+          if(this.vehicleData[0] == null) {
+            this.toastr.warning('لا يوجد بيانات لهذا المركبه');
+            this.showTableData = false;
+          } else {
+            this.showTableData = true;
+          }
+          
+        },
+        (error) => {
+          console.log(error);
+          this.toastr.error('خطأ في البحث ، حاول ثانيه');
+        }
+      );
+    } else if(this.typeReport == 'General') {
+      this.http.get(this.authSer.pathApi + '/report_general_on_vehicle/' + this.searchData).subscribe(
+        (responce) => {
+          console.log(responce);
+          this.vehicleData.push(responce['vehicle']);
+          console.log(this.vehicleData);
+          if(this.vehicleData[0] == null) {
+            this.toastr.warning('لا يوجد بيانات لهذا المركبه');
+            this.showTableData = false;
+          } else {
+            this.showTableData = true;
+          }
+          
+        },
+        (error) => {
+          console.log(error);
+          this.toastr.error('خطأ في البحث ، حاول ثانيه');
+        }
+      );
+    } else {
+
+    }
+  };
+
+  //print function
+  onPrint() {
+    window.print();
   }
 
 }

+ 4 - 0
src/app/servicesItems/services.component.ts

@@ -214,6 +214,10 @@ getDataService(dataService){
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/registerMovementVehicleList/' + this.pages[0].id]);
           } else if(this.pages[0].id == 48) {
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/existingReportVehicle']);
+          } else if(this.pages[0].id == 49) {
+            this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/VehicleReport/Movement']);
+          } else if(this.pages[0].id == 50) {
+            this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/VehicleReport/General']);
           }
         },
         (error) => {