Hima 6 년 전
부모
커밋
d674f1b38f
29개의 변경된 파일1468개의 추가작업 그리고 73개의 파일을 삭제
  1. 1 0
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.html
  2. 3 0
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.ts
  3. 18 19
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component.ts
  4. 12 10
      src/app/dashboard/absorpation-plan/absorpation-add/absorpation-add.component.ts
  5. 10 0
      src/app/dashboard/dashboard-routing.ts
  6. 8 0
      src/app/dashboard/dashboard.module.ts
  7. 5 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.css
  8. 102 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.html
  9. 195 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts
  10. 30 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.css
  11. 80 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.html
  12. 265 0
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.ts
  13. 0 1
      src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.ts
  14. 17 14
      src/app/dashboard/reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component.html
  15. 21 18
      src/app/dashboard/reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component.ts
  16. 1 1
      src/app/dashboard/section-review-for-trainee/section-review-trainee-list/section-review-trainee-list.component.html
  17. 8 0
      src/app/dashboard/service-item/service-item.component.ts
  18. 0 1
      src/app/dashboard/trainner-data/trainner-data-add/trainner-data-add.component.ts
  19. 1 1
      src/app/dashboard/trainner-data/trainner-data-list/trainner-data-list.component.html
  20. 2 1
      src/app/dashboard/trainner-data/trainner-data-list/trainner-data-list.component.ts
  21. 5 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.css
  22. 83 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.html
  23. 205 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts
  24. 30 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.css
  25. 76 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.html
  26. 267 0
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.ts
  27. 1 1
      src/app/login/login.component.html
  28. 4 0
      src/app/servicesItems/services.component.ts
  29. 18 6
      src/app/shared/dashboard.service.ts

+ 1 - 0
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.html

@@ -6,6 +6,7 @@
             <ul class="list-unstyled titileLi-w">
             <ul class="list-unstyled titileLi-w">
               <li class="headingText-w">خدمه التدريب</li>
               <li class="headingText-w">خدمه التدريب</li>
               <li class="headingText-w" style="cursor:pointer" (click)="authSer.perviousLocation()"> تسجيل حركه المتدرب</li>
               <li class="headingText-w" style="cursor:pointer" (click)="authSer.perviousLocation()"> تسجيل حركه المتدرب</li>
+              <li class="headingText-w">{{typeLink}}</li>
             </ul>
             </ul>
           </div>
           </div>
       </div>
       </div>

+ 3 - 0
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.ts

@@ -167,6 +167,7 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
       this.disabledInput = true;
       this.disabledInput = true;
       this.spinner.show();
       this.spinner.show();
       this.typeMode = true;
       this.typeMode = true;
+      this.typeLink = 'تعديل';
       this.files = [];
       this.files = [];
 
 
       this.dashBoardSer.getItemData(this.reportId,'traineeRequest').subscribe(
       this.dashBoardSer.getItemData(this.reportId,'traineeRequest').subscribe(
@@ -236,6 +237,8 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
           console.log(error);
           console.log(error);
         }
         }
       );
       );
+    } else {
+      this.typeLink = 'إضافه';
     }
     }
   }
   }
 
 

+ 18 - 19
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component.ts

@@ -97,26 +97,25 @@ export class RegistrationTraineeMovementListComponent implements OnInit {
             }
             }
       
       
           );
           );
+      }
+    );
 
 
-          //get list data 
-        this.dashBoardService.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
-          (responce) => {
-            console.log('rescponce dataaaa', responce);
-            this.dataList = responce['requests'];
-            if(this.dataList.length == 0) {
-              this.toastr.warning('القائمه فارغه من الطلبات ');
-            }
-            this.count = responce['count'];
-            this.perPagePagenation = responce['per_page'];
-            console.log('evennnnts', this.dataList);
-            this.spinner.hide();
-          },
-          (error) => {
-            console.log(error);
-            this.spinner.hide();
-          }
-        );
-
+    //get list data 
+    this.dashBoardService.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
+      (responce) => {
+        console.log('rescponce dataaaa', responce);
+        this.dataList = responce['requests'];
+        if(this.dataList.length == 0) {
+          this.toastr.warning('القائمه فارغه من الطلبات ');
+        }
+        this.count = responce['count'];
+        this.perPagePagenation = responce['per_page'];
+        console.log('evennnnts', this.dataList);
+        this.spinner.hide();
+      },
+      (error) => {
+        console.log(error);
+        this.spinner.hide();
       }
       }
     );
     );
     
     

+ 12 - 10
src/app/dashboard/absorpation-plan/absorpation-add/absorpation-add.component.ts

@@ -118,6 +118,8 @@ export class AbsorpationAddComponent implements OnInit {
 
 
     onSubmitted() {
     onSubmitted() {
 
 
+      this.checkSaveclick = true;
+      
       const data = this.formData.value;
       const data = this.formData.value;
       data['start_date'] = this.startDate;
       data['start_date'] = this.startDate;
       data['end_date'] = this.endDate;
       data['end_date'] = this.endDate;
@@ -132,36 +134,36 @@ export class AbsorpationAddComponent implements OnInit {
 
 
       if(this.typeMode) {
       if(this.typeMode) {
         if(startDateData[0] > endDateData[0]) {
         if(startDateData[0] > endDateData[0]) {
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+          this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
         } else if(startDateData[1] > endDateData[1]){
         } else if(startDateData[1] > endDateData[1]){
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+          this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
-        } else if(startDateData[2] > endDateData[2]){
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+        } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]){
+          this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
         } else {
         } else {
           this.dashBoardSer.editItem(this.obsId ,data , 'absorpation').subscribe(
           this.dashBoardSer.editItem(this.obsId ,data , 'absorpation').subscribe(
             (responce) => {
             (responce) => {
               console.log(responce);
               console.log(responce);
-              this.toastr.success('تمت الإضافه بنجاح');
+              this.toastr.success('تمت التعديل بنجاح');
               this.location.back();
               this.location.back();
             },
             },
             (error) => {
             (error) => {
               console.log(error);
               console.log(error);
-              this.toastr.success('خطأ في الإضافه !');
+              this.toastr.success('خطأ في التعديل !');
             }
             }
           );
           );
         }
         }
       } else {
       } else {
         if(startDateData[0] > endDateData[0]) {
         if(startDateData[0] > endDateData[0]) {
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+          this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
-        } else if(startDateData[1] > endDateData[1]){
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+        } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]){
+          this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
         } else if(startDateData[2] > endDateData[2]){
         } else if(startDateData[2] > endDateData[2]){
-          this.toastr.warning('تاريخ الإنتهاء يجب أن يكون أكبر من تاريخ الإبتداء !');
+          this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
           this.checkSaveclick = false;
           this.checkSaveclick = false;
         } else {
         } else {
           this.dashBoardSer.addItem(data , 'absorpation').subscribe(
           this.dashBoardSer.addItem(data , 'absorpation').subscribe(

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

@@ -1,3 +1,6 @@
+import { VehicleMaintenanceAddComponent } from './vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component';
+import { VehicleMaintenanceListComponent } from './vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component';
+import { RegisterMovementVehicleListComponent } from './register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component';
 import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
 import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
 import { VehicleAddComponent } from './vehicle/vehicle-add/vehicle-add.component';
 import { VehicleAddComponent } from './vehicle/vehicle-add/vehicle-add.component';
 import { VehicleListComponent } from './vehicle/vehicle-list/vehicle-list.component';
 import { VehicleListComponent } from './vehicle/vehicle-list/vehicle-list.component';
@@ -77,6 +80,7 @@ import { PrintCardTraineeAddComponent } from './print-card-trainee/print-card-tr
 import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/model-vehicle-list.component';
 import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/model-vehicle-list.component';
 import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
 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 { 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';
 
 
 const dashboardRouting: Routes = [
 const dashboardRouting: Routes = [
     {path: 'service/:userID/:serviceID', component: ServiceItemComponent, canActivate: [AuthGuard], children: [
     {path: 'service/:userID/:serviceID', component: ServiceItemComponent, canActivate: [AuthGuard], children: [
@@ -184,6 +188,12 @@ const dashboardRouting: Routes = [
     {path: 'registrationVehicleList/:registrationVehicleListId', component: RegistrationVehicleListComponent},
     {path: 'registrationVehicleList/:registrationVehicleListId', component: RegistrationVehicleListComponent},
     {path: 'registrationVehicle/add', component: RegistrationVehicleAddComponent},
     {path: 'registrationVehicle/add', component: RegistrationVehicleAddComponent},
     {path: 'registrationVehicle/edit/:registrationVehicleEditId', component:RegistrationVehicleAddComponent },
     {path: 'registrationVehicle/edit/:registrationVehicleEditId', component:RegistrationVehicleAddComponent },
+    {path: 'registerMovementVehicleList/:registerMovementVehicleListId', component: RegisterMovementVehicleListComponent},
+    {path: 'registerMovementVehicle/add', component: RegisterMovementVehicleAddComponent},
+    {path: 'registerMovementVehicle/edit/:registerMovementVehicleEditId', component: RegisterMovementVehicleAddComponent },
+    {path: 'vehicleMaintenanceList/:vehicleMaintenanceListId', component: VehicleMaintenanceListComponent},
+    {path: 'vehicleMaintenance/add', component: VehicleMaintenanceAddComponent},
+    {path: 'vehicleMaintenance/edit/:vehicleMaintenanceEditId', component: VehicleMaintenanceAddComponent },
   ]},
   ]},
 ];
 ];
 
 

+ 8 - 0
src/app/dashboard/dashboard.module.ts

@@ -121,6 +121,10 @@ import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/mo
 import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
 import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
 import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
 import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
 import { RegistrationVehicleAddComponent } from './registration-vehicle/registration-vehicle-add/registration-vehicle-add.component';
 import { RegistrationVehicleAddComponent } from './registration-vehicle/registration-vehicle-add/registration-vehicle-add.component';
+import { RegisterMovementVehicleListComponent } from './register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component';
+import { RegisterMovementVehicleAddComponent } from './register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component';
+import { VehicleMaintenanceListComponent } from './vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component';
+import { VehicleMaintenanceAddComponent } from './vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component';
 
 
 
 
 @NgModule({
 @NgModule({
@@ -208,6 +212,10 @@ import { RegistrationVehicleAddComponent } from './registration-vehicle/registra
         ModelVehicleAddComponent,
         ModelVehicleAddComponent,
         RegistrationVehicleListComponent,
         RegistrationVehicleListComponent,
         RegistrationVehicleAddComponent,
         RegistrationVehicleAddComponent,
+        RegisterMovementVehicleListComponent,
+        RegisterMovementVehicleAddComponent,
+        VehicleMaintenanceListComponent,
+        VehicleMaintenanceAddComponent,
     ],
     ],
     imports: [
     imports: [
         CommonModule,
         CommonModule,

+ 5 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.css

@@ -0,0 +1,5 @@
+input, select {
+    font-size: 12px;
+    background-color: #f9f9f9;
+    border: 2px solid #bda380;
+}

+ 102 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.html

@@ -0,0 +1,102 @@
+<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" style="cursor:pointer" (click)="authSer.perviousLocation()"> تسجيل حركه المركبه</li>
+            <li class="headingText-w activeLi-w" style="margin-right:5px"> {{typePage}} </li>
+          </ul>
+        </div>
+      </div>
+      <div class="containerContent-w">
+  
+      <div class="row">
+        <div class="col-12">
+  
+          <form (ngSubmit)="onSubmitted()" #f="ngForm">
+            <div class="row">
+            
+              <div class="col-12 col-sm-12 col-md-4">
+                <div class="form-group">
+                  <label for="vehicle_id" style="float: right; margin-right: 5px">نوع المركبه</label>
+                  <select class="form-control" name="vehicle_id" [ngModel]="formData.vehicle_id" (input)="onChangeVehicleType($event)" required>
+                    <option *ngFor="let type of vehicle_types" [value]="type.id">{{type.name}}</option>
+                  </select>
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-4">
+                <div class="form-group">
+                   <label for="vehicle_recipient_name" style="float: right; margin-right: 5px">إسم الموظف</label>
+                   <input type="text" class="form-control" placeholder="إسم الموظف" name="vehicle_recipient_name" id="vehicle_recipient_name" [ngModel]="formData.vehicle_recipient_name" ngModel required />
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-4">
+                <div class="form-group">
+                    <label for="phone" style="float: right; margin-right: 5px">الجوال</label>
+                    <input type="text" class="form-control" placeholder="الهاتف" name="phone" id="phone" appOnlyNumber [ngModel]="formData.phone" ngModel required />
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                <div class="form-group">
+                  <label for="startDate" style="float:right" >تاريخ إستلام المركبه<span class="spanReqired-w">*</span></label>
+                  <div *ngIf='bindingDateSplitStart && typeMode'>
+                    <app-higri-date (onDatePicked)="getDate($event, 'start')" [myDate]="bindingDateSplitStart"></app-higri-date>
+                  </div>
+                  <div *ngIf='!typeMode'>
+                    <app-higri-date (onDatePicked)="getDate($event, 'start')" ></app-higri-date>
+                  </div>
+                </div>
+              </div>
+  
+              <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                <div class="form-group">
+                  <label for="endDate" style="float:right" >تاريخ تسليم البطاقه <span class="spanReqired-w">*</span></label>
+                  <div *ngIf='bindingDateSplitEnd && typeMode'>
+                    <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd"> </app-end-higri-date>
+                  </div>
+                  <div *ngIf='!typeMode'>
+                    <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" ></app-end-higri-date>
+                  </div>
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-4">
+                <div class="form-group">
+                    <label for="start_mileage_recording" style="float: right; margin-right: 5px">تسجيل عدد الكيلومترات البداية</label>
+                    <input type="number" class="form-control" placeholder="تسجيل عدد الكيلومترات البداية" name="start_mileage_recording" id="start_mileage_recording" [ngModel]="formData.start_mileage_recording" ngModel required />
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-4">
+                <div class="form-group">
+                    <label for="end_mileage_recording" style="float: right; margin-right: 5px">تسجيل عدد الكيلومترات للنهاية</label>
+                    <input type="number" class="form-control" placeholder="تسجيل عدد الكيلومترات للنهاية" name="end_mileage_recording" id="end_mileage_recording" [ngModel]="formData.end_mileage_recording" ngModel required />
+                </div>
+              </div>
+
+              <div class="col-12 col-sm-12 col-md-12">
+                <div class="form-group">
+                  <label for="movement_notes" style="float: right;margin-right: 5px"> الملاحظات<span class="spanReqired-w">*</span></label>
+                  <quill-editor id="movement_notes" name="movement_notes" [ngModel]="formData.movement_notes" required>
+                  </quill-editor>
+                </div>
+              </div>
+
+              <div class="col-12">
+                  <button type="submit" class="btn btn-success rightW" [disabled]="!f.valid || checkSaveclick">حفظ</button>
+                  <button type="button" class="btn btn-warning rightW" (click)="authSer.backFromEdit()">إلغاء</button>
+              </div>
+  
+            </div>
+          </form>
+  
+        </div>
+      </div>
+    </div>
+    </div>
+  </div>
+  

+ 195 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts

@@ -0,0 +1,195 @@
+import { HttpClient } from '@angular/common/http';
+import { NgxSpinnerService } from 'ngx-spinner';
+import { ActivatedRoute, Params } from '@angular/router';
+import { Location } from '@angular/common';
+import { AuthServiceService } from './../../../shared/auth-service.service';
+import { ToastrService } from 'ngx-toastr';
+import { DashboardService } from './../../../shared/dashboard.service';
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { NgForm } from '@angular/forms';
+@Component({
+  selector: 'app-register-movement-vehicle-add',
+  templateUrl: './register-movement-vehicle-add.component.html',
+  styleUrls: ['./register-movement-vehicle-add.component.css']
+})
+export class RegisterMovementVehicleAddComponent implements OnInit {
+
+  constructor(private dashBoardSer: DashboardService, 
+    private toastr: ToastrService, 
+    private authSer: AuthServiceService, 
+    private route: ActivatedRoute,
+    private spinner: NgxSpinnerService,
+    private location: Location,
+    private http: HttpClient
+  ) { }
+
+  @ViewChild('f') vehicleForm : NgForm;
+
+  typePage: string = '';
+  vehicleReceiptDate = '';
+  vehicleDeliveryDate:string = '';
+  bindingDateSplitStart;
+  bindingDateSplitEnd;
+
+  checkSaveclick:boolean = false;
+  typeMode: boolean = false;
+
+  vehicleId: number;
+  vehicle_types:any[] = [];
+  modelNames:any[] = [];
+  registerVehicleId: number;
+  startDate: string = '';
+  endDate: string = '';
+  formData = {
+    vehicle_id: '',
+    vehicle_recipient_name: '',
+    phone: '',
+    start_mileage_recording: '',
+    end_mileage_recording: '',
+    movement_notes: '',
+  }
+
+  ngOnInit() {
+    
+    this.http.get(this.authSer.pathApi + '/get_vehicle_types_list').subscribe(
+      (response) => {
+        console.log(response);
+        this.vehicle_types = response['types'];
+        
+      },
+      (error) => {
+        console.log(error);
+      });
+
+      this.route.params.subscribe(
+        (params: Params) => {
+          this.registerVehicleId = params['registerMovementVehicleEditId'];
+        }
+      );
+
+      if(this.registerVehicleId) {
+        this.typePage = 'تعديل';
+        this.typeMode = true;
+        this.dashBoardSer.getItemData(this.registerVehicleId, 'registerMovementVehicle').subscribe(
+          (responce) => {
+            console.log(responce);
+            this.formData.phone = responce['movement'].phone;
+            this.formData.movement_notes = responce['movement'].movement_notes;
+            this.formData.vehicle_id = responce['movement'].vehicle_id;
+            this.formData.vehicle_recipient_name = responce['movement'].vehicle_recipient_name;
+            this.formData.end_mileage_recording = responce['movement'].end_mileage_recording;
+            this.formData.start_mileage_recording = responce['movement'].start_mileage_recording;
+            this.startDate = responce['movement'].vehicle_receipt_date;
+            this.endDate = responce['movement'].vehicle_delivery_date;
+            this.bindingDateSplitStart = {
+              year: parseInt(responce['movement'].vehicle_receipt_date.split('-')[0]),
+              month: parseInt(responce['movement'].vehicle_receipt_date.split('-')[1]),
+              day: parseInt(responce['movement'].vehicle_receipt_date.split('-')[2]),
+            }
+            this.bindingDateSplitEnd = {
+             year: parseInt(responce['movement'].vehicle_delivery_date.split('-')[0]),
+             month: parseInt(responce['movement'].vehicle_delivery_date.split('-')[1]),
+             day: parseInt(responce['movement'].vehicle_delivery_date.split('-')[2]),
+           }
+            this.spinner.hide();
+          },
+          (error) => {
+            console.log(error);
+          }
+        )
+      } else {
+        this.typePage = 'إضافه';
+      }
+  }
+
+
+    //get value date from child component 
+    public getDate(date: any , type: string):void {
+      
+      if(date.month < 10) {
+        date.month = '0' + date.month;
+      } 
+
+      if(date.day < 10) {
+        date.day = '0' + date.day;
+      }
+
+      console.log( date);
+
+
+      if(type == 'start') {
+        this.startDate = date.year + '-' + date.month + '-' + date.day;
+        console.log('start date', this.startDate);
+      } else if(type == 'end') {
+        this.endDate = date.year + '-' + date.month + '-' + date.day;
+        console.log('end date', this.endDate);
+      } else {
+        console.log('not type recieved !');
+      }
+
+    }
+
+
+    onSubmitted() {
+
+      this.checkSaveclick = true;
+
+      this.vehicleForm.value['vehicle_receipt_date'] = this.startDate;
+      this.vehicleForm.value['vehicle_delivery_date'] = this.endDate;
+
+      console.log(this.vehicleForm.value);
+      const startDateData = this.startDate.split('-');
+      const endDateData = this.endDate.split('-');
+
+      if(this.typeMode) {
+
+        this.dashBoardSer.editItem( this.registerVehicleId, this.vehicleForm.value, 'registerMovementVehicle').subscribe(
+          (responce) => {
+            console.log(responce);
+            this.toastr.success('تم التعديل بنجاح');
+            this.location.back();
+          },
+          (error) => {
+            console.log(error);
+            this.toastr.error('خطأ في الخادم ، حاول لاحقاً');
+            this.checkSaveclick = false;
+          }
+        );
+
+      } else {
+
+        if(startDateData[0] > endDateData[0]) {
+          this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
+          this.checkSaveclick = false;
+        } else if(startDateData[1] > endDateData[1]){
+          this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
+          this.checkSaveclick = false;
+        } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]){
+          this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
+          this.checkSaveclick = false;
+        } else {
+          this.dashBoardSer.addItem(this.vehicleForm.value, 'registerMovementVehicle').subscribe(
+            (responce) => {
+              console.log(responce);
+              this.toastr.success('تم الإضافه بنجاح');
+              this.location.back();
+              this.checkSaveclick = false;
+            },
+            (error) => {
+              this.checkSaveclick = false;
+              console.log(error);
+              console.log(this.vehicleForm.value['phone'].length);
+              if(this.vehicleForm.value['phone'].length < 10) {
+                this.toastr.warning('رقم الجوال يجب أن يكون مكون 10 أرقام')
+              } else {
+                this.toastr.error('خطأ في الخادم ، برجاء المحاوله لاحقا');
+              }
+            }
+          );
+        }
+
+      }
+
+    }
+
+}

+ 30 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.css

@@ -0,0 +1,30 @@
+.table {
+    margin: 30px 0;
+}
+
+.dashButton-w {
+    float: right;
+    margin: 10px;
+}
+
+.custom-control-label::after,
+.custom-control-label::before {
+    width: 1.5rem;
+    height: 1.5rem;
+}
+
+.fixedWidthLabel-w::after,
+.fixedWidthLabel-w::before {
+    width: 1.5rem;
+    height: 1.5rem;
+}
+
+.disblayBlock-w {
+    display: block;
+}
+
+/* .centerIneerItem {
+    display: flex;
+    justify-content: center;
+    text-align: center;
+} */

+ 80 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.html

@@ -0,0 +1,80 @@
+<div class="container">
+    <div class="row">
+      <div class="col-12">
+          <ul class="list-unstyled titileLi-w">
+            <li class="headingText-w">خدمه التدريب</li>
+            <li class="headingText-w activeLi-w" style="margin-right:5px">تسجيل حركه المتدرب</li>
+          </ul>
+      </div>
+    </div>
+  
+    <div class="containerContent-w">
+
+      <div class="row">
+        <div class="col-12 col-sm-12 col-md-6 col-lg-6">
+          <button type="button" class="btn btn-outline-success butttonCreate dashButton-w" (click)="onAdd()" *ngIf="authSer.showAddBtn"><i class="fas fa-plus marginFontAowsome-w"></i>إنشاء جديد</button>
+          <button type="button" class="btn btn-outline-danger butttonDelete dashButton-w" (click)="onDelete()" *ngIf="authSer.showDeleteBtn"><i class="fas fa-times marginFontAowsome-w"></i>حذف</button>
+        </div>
+        <div class="col-12 col-sm-12 col-md-6 col-lg-6">
+          <div class="form-group">
+            <input type="text" placeholder="البحث" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
+            <hr>
+          </div>
+        </div>
+      </div>
+
+
+      <div class="row">
+          <div class="col-12 col-sm-12 col-md-12 col-lg-6">
+            <div class="form-group">
+              <span class="spanSelect-w">
+                <select [ngModel]="dataTableNumber" class="form-control selectButton-w" (input)="onGetValue($event)">
+                  <option value="5">5</option>
+                  <option value="10">10</option>
+                  <option value="15">15</option>
+                  <option value="20">20</option>
+                </select>
+                من العناصر يتم عرضها
+              </span>
+            </div>
+          </div>
+   
+      </div>
+  
+      <table class="table table-bordered">
+        <thead class="headBackground-w">
+          <tr>
+              <th>
+                  <div class="custom-control custom-checkbox">
+                    <input type="checkbox" class="custom-control-input" [(ngModel)]="selectedAll" (change)="selectAll();" id="customCheck" name="example1">
+                  </div>
+              </th>
+            <th> إسم الموظف</th>
+            <th>الجوال</th>
+            <th> نوع المركبه</th>
+            <th>رقم اللوحه</th>
+            <th *ngIf="authSer.showEditBtn">تعديل</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr *ngFor="let data of dataList | paginate: { itemsPerPage: perPagePagenation, currentPage: currentPage, totalItems: count }; let i = index ">
+            <td>
+              <div class="custom-control custom-checkbox centerIneerItem">
+                <input type="checkbox" class="custom-control-input" id="{{data.id}}" [(ngModel)]="data.selected" [value]='data' (change)="checkIfAllSelected();">
+                <!-- <label class="custom-control-label disblayBlock-w" for="{{tab.id}}" style="color:#2a2a2a"></label> -->
+              </div>
+            </td>
+            <td>{{data.vehicle_recipient_name}}</td>
+            <td> {{data.phone}}</td>
+            <td>{{data.vehicle_type_name}}</td>
+            <td>{{data.vehicle_plate_number}}</td>
+            <td *ngIf="authSer.showEditBtn"><button type="button" class="btn btn-outline-secondary" (click)="onEdit(data.id)"><i class="fas fa-edit"></i></button></td>
+          </tr>
+        </tbody>
+      </table>
+      <pagination-controls nextLabel="التالي" previousLabel="السابق" (pageChange)="onPageChange($event)"></pagination-controls>
+    </div>
+  
+  
+  </div>
+  

+ 265 - 0
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.ts

@@ -0,0 +1,265 @@
+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-register-movement-vehicle-list',
+  templateUrl: './register-movement-vehicle-list.component.html',
+  styleUrls: ['./register-movement-vehicle-list.component.css']
+})
+export class RegisterMovementVehicleListComponent 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['registerMovementVehicleListId'];
+      }
+    );
+
+  //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 == 47) {
+                    if(this.pages[i].permissions[0].name == 'vehicle_movement_recording') {
+                      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_movements'];
+        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_movements'];
+          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(responce);
+          this.dataList = responce['vehicle_movements'];
+          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_movements'];
+        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_movements'];
+                  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 + '/registerMovementVehicle/add']);
+  }
+
+  //edit function
+   onEdit(editTabID) {
+    this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'registerMovementVehicle/edit/' + editTabID]);
+  };
+
+
+}

+ 0 - 1
src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.ts

@@ -266,7 +266,6 @@ export class RegistrationVehicleListComponent implements OnInit {
 
 
   //add function
   //add function
   onAdd() {
   onAdd() {
-    console.log('service/' + this.userLoginId + '/' + this.serviceId + '/addTab');
     this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/registrationVehicle/add']);
     this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/registrationVehicle/add']);
   }
   }
 
 

+ 17 - 14
src/app/dashboard/reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component.html

@@ -37,23 +37,26 @@
               </select>
               </select>
               من العناصر يتم عرضها
               من العناصر يتم عرضها
             </span>
             </span>
+            <span class="spanSelect-w">
+                <select [ngModel]="viewTableData" class="form-control selectButton-w" (input)="onFiltterChosen($event)" style="width:100px; margin-right:15px;">
+                  <option value="all">الكل</option>
+                  <option value="pending">تحت الإجراء</option>
+                  <option value="accepted">مقبول</option>
+                  <option value="refused">مرفوض</option>
+                  <option value="canceled">ملغي</option>
+                  <option value="ended">مغلق</option>
+                  <option value="asked_for_opinion">طلب رأي</option>
+                  <option value="replayed_opinion">رأي القسم</option>
+                </select>
+                حاله الطلب
+              </span>
           </div>
           </div>
+          <!-- <div class="form-group">
+           
+          </div> -->
         </div>
         </div>
         <div class="col-12 col-sm-12 col-md-12 col-lg-12"  style="margin-top:20px;">
         <div class="col-12 col-sm-12 col-md-12 col-lg-12"  style="margin-top:20px;">
-          <div class="form-group">
-            <span class="spanSelect-w">
-              <select [ngModel]="dataTableNumber" class="form-control selectButton-w" (input)="onFiltterChosen($event)" style="width:100px;">
-                <option value="pending">تحت الإجراء</option>
-                <option value="accepted">مقبول</option>
-                <option value="refused">مرفوض</option>
-                <option value="canceled">ملغي</option>
-                <option value="ended">مغلق</option>
-                <option value="asked_for_opinion">طلب رأي</option>
-                <option value="replayed_opinion">رأي القسم</option>
-              </select>
-              حاله الطلب
-            </span>
-          </div>
+          
         </div>
         </div>
       </div>
       </div>
   
   

+ 21 - 18
src/app/dashboard/reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component.ts

@@ -37,6 +37,7 @@ export class ReviewTraineeDataListComponent implements OnInit {
     userLoginId:number;
     userLoginId:number;
     serviceId:number;
     serviceId:number;
     dataTableNumber: number = 5;
     dataTableNumber: number = 5;
+    viewTableData: string = 'all';
     serviceName: string = '';
     serviceName: string = '';
     pages = [];
     pages = [];
 
 
@@ -108,25 +109,27 @@ export class ReviewTraineeDataListComponent implements OnInit {
       
       
           );
           );
 
 
-          //get list data 
-        this.dashBoardService.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
-          (responce) => {
-            console.log(responce);
-            this.dataList = responce['requests'];
-            if(this.dataList.length == 0) {
-              this.toastr.warning('القائمه فارغه من الطلبات ');
-            }
-            this.count = responce['count'];
-            this.perPagePagenation = responce['per_page'];
-            console.log('evennnnts', this.dataList);
-            this.spinner.hide();
-          },
-          (error) => {
-            console.log(error);
-            this.spinner.hide();
-          }
-        );
+         
+
+      }
+    );
 
 
+     //get list data 
+     this.dashBoardService.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
+      (responce) => {
+        console.log(responce);
+        this.dataList = responce['requests'];
+        if(this.dataList.length == 0) {
+          this.toastr.warning('القائمه فارغه من الطلبات ');
+        }
+        this.count = responce['count'];
+        this.perPagePagenation = responce['per_page'];
+        console.log('evennnnts', this.dataList);
+        this.spinner.hide();
+      },
+      (error) => {
+        console.log(error);
+        this.spinner.hide();
       }
       }
     );
     );
     
     

+ 1 - 1
src/app/dashboard/section-review-for-trainee/section-review-trainee-list/section-review-trainee-list.component.html

@@ -38,7 +38,7 @@
               </span>
               </span>
             </div>
             </div>
           </div>
           </div>
-          <div class="col-12 col-sm-12 col-md-12 col-lg-6">
+          <div class="col-12 col-sm-12 col-md-12 col-lg-12" style="margin-top:20px;">
             <div class="form-group">
             <div class="form-group">
               <span class="spanSelect-w">
               <span class="spanSelect-w">
                   حاله الطلب
                   حاله الطلب

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

@@ -285,6 +285,10 @@ export class ServiceItemComponent implements OnInit {
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleModelList/' + this.pages[0].id]);
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/vehicleModelList/' + this.pages[0].id]);
           } else if(this.pages[0].id == 45) {
           } else if(this.pages[0].id == 45) {
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registrationVehicleList/' + this.pages[0].id]);
             this.router.navigate(['/service/' + this.userId + '/' + service.id + '/registrationVehicleList/' + this.pages[0].id]);
+          } else if(this.pages[0].id == 46) {
+            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]);
           }
           }
         },
         },
         (error) => {
         (error) => {
@@ -382,6 +386,10 @@ export class ServiceItemComponent implements OnInit {
       this.router.navigate(['vehicleModelList/' + dataPage.id], {relativeTo: this.route});
       this.router.navigate(['vehicleModelList/' + dataPage.id], {relativeTo: this.route});
     } else if(dataPage.id == 45) {
     } else if(dataPage.id == 45) {
       this.router.navigate(['registrationVehicleList/' + dataPage.id], {relativeTo: this.route});
       this.router.navigate(['registrationVehicleList/' + dataPage.id], {relativeTo: this.route});
+    } else if(dataPage.id == 46) {
+      this.router.navigate(['vehicleMaintenanceList/' + dataPage.id], {relativeTo: this.route});
+    } else if(dataPage.id == 47) {
+      this.router.navigate(['registerMovementVehicleList/' + dataPage.id], {relativeTo: this.route});
     }
     }
   }
   }
 
 

+ 0 - 1
src/app/dashboard/trainner-data/trainner-data-add/trainner-data-add.component.ts

@@ -24,7 +24,6 @@ export class TrainnerDataAddComponent implements OnInit {
     private dashBoardSer: DashboardService,
     private dashBoardSer: DashboardService,
     private location: Location,
     private location: Location,
     private toastr: ToastrService) {
     private toastr: ToastrService) {
-      this.spineer.show();
      }
      }
 
 
 countries = []; //nationality
 countries = []; //nationality

+ 1 - 1
src/app/dashboard/trainner-data/trainner-data-list/trainner-data-list.component.html

@@ -78,5 +78,5 @@
             </tr>
             </tr>
           </tbody>
           </tbody>
         </table>
         </table>
-        <pagination-controls nextLabel="التالي" previousLabel="السابق" (pageChange)="onPageChange($trainner)"></pagination-controls>
+        <pagination-controls nextLabel="التالي" previousLabel="السابق" (pageChange)="onPageChange($event)"></pagination-controls>
 </div>
 </div>

+ 2 - 1
src/app/dashboard/trainner-data/trainner-data-list/trainner-data-list.component.ts

@@ -142,13 +142,14 @@ export class TrainnerDataListComponent implements OnInit {
 //change page
 //change page
 onPageChange(pagenationNumber) {
 onPageChange(pagenationNumber) {
   this.spinner.show();
   this.spinner.show();
+  
   this.currentPage = pagenationNumber;
   this.currentPage = pagenationNumber;
   this.trainnersData = [];
   this.trainnersData = [];
   //console.log(pagenationNumber);
   //console.log(pagenationNumber);
   //console.log(this.pageId);
   //console.log(this.pageId);
   this.dashBoardService.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
   this.dashBoardService.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
   (responce) => {
   (responce) => {
-    console.log(responce);
+    console.log('search result ', responce);
     this.trainnersData = responce['users'];
     this.trainnersData = responce['users'];
     this.count = responce['count'];
     this.count = responce['count'];
     this.perPagePagenation = responce['per_page'];
     this.perPagePagenation = responce['per_page'];

+ 5 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.css

@@ -0,0 +1,5 @@
+input, select {
+    font-size: 12px;
+    background-color: #f9f9f9;
+    border: 2px solid #bda380;
+}

+ 83 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.html

@@ -0,0 +1,83 @@
+<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" style="cursor:pointer" (click)="authSer.perviousLocation()"> تسجيل بيانات الصيانه</li>
+          <li class="headingText-w activeLi-w" style="margin-right:5px"> {{typePage}} </li>
+        </ul>
+      </div>
+    </div>
+    <div class="containerContent-w">
+
+    <div class="row">
+      <div class="col-12">
+
+        <form (ngSubmit)="onSubmitted()" #f="ngForm">
+          <div class="row">
+          
+            <div class="col-12 col-sm-12 col-md-4">
+              <div class="form-group">
+                <label for="vehicle_id" style="float: right; margin-right: 5px">نوع المركبه</label>
+                <select class="form-control" name="vehicle_id" [ngModel]="formData.vehicle_id" (input)="onChangeVehicleType($event)" required>
+                  <option *ngFor="let type of vehicle_types" [value]="type.id">{{type.name}}</option>
+                </select>
+              </div>
+            </div>
+
+            <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+              <div class="form-group">
+                <label for="startDate" style="float:right" >تاريخ الصيانه<span class="spanReqired-w">*</span></label>
+                <div *ngIf='bindingDateSplitStart && typeMode'>
+                  <app-higri-date (onDatePicked)="getDate($event, 'start')" [myDate]="bindingDateSplitStart"></app-higri-date>
+                </div>
+                <div *ngIf='!typeMode'>
+                  <app-higri-date (onDatePicked)="getDate($event, 'start')" ></app-higri-date>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+              <div class="form-group">
+                <label for="endDate" style="float:right" >تاريخ استلام من الصيانه <span class="spanReqired-w">*</span></label>
+                <div *ngIf='bindingDateSplitEnd && typeMode'>
+                  <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd"> </app-end-higri-date>
+                </div>
+                <div *ngIf='!typeMode'>
+                  <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" ></app-end-higri-date>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-12 col-sm-12 col-md-12">
+              <div class="form-group">
+                <label for="maintenance_notes" style="float: right;margin-right: 5px">وصف الصيانه<span class="spanReqired-w">*</span></label>
+                <quill-editor id="movement_notes" name="maintenance_notes" [ngModel]="formData.maintenance_notes" required>
+                </quill-editor>
+              </div>
+            </div>
+
+            <div class="col-12 col-sm-12 col-md-4" *ngIf="typeMode">
+              <div class="form-group">
+                <label for="maintenance_notes" style="float: right;margin-right: 5px">هل تمت الصيانه ؟ <span class="spanReqired-w">*</span></label>
+                ,<select name="is_maintained" class="form-control" ngModel [ngModel]="formData.is_maintained" required>
+                  <option value="1">نعم</option>
+                  <option value="0"> لا</option>
+                </select>
+              </div>
+            </div>
+
+            <div class="col-12">
+                <button type="submit" class="btn btn-success rightW" [disabled]="!f.valid || checkSaveclick">حفظ</button>
+                <button type="button" class="btn btn-warning rightW" (click)="authSer.backFromEdit()">إلغاء</button>
+            </div>
+
+          </div>
+        </form>
+
+      </div>
+    </div>
+  </div>
+  </div>
+</div>

+ 205 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts

@@ -0,0 +1,205 @@
+import { HttpClient } from '@angular/common/http';
+import { NgxSpinnerService } from 'ngx-spinner';
+import { ActivatedRoute, Params } from '@angular/router';
+import { Location } from '@angular/common';
+import { AuthServiceService } from './../../../shared/auth-service.service';
+import { ToastrService } from 'ngx-toastr';
+import { DashboardService } from './../../../shared/dashboard.service';
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { NgForm } from '@angular/forms';
+
+@Component({
+  selector: 'app-vehicle-maintenance-add',
+  templateUrl: './vehicle-maintenance-add.component.html',
+  styleUrls: ['./vehicle-maintenance-add.component.css']
+})
+
+export class VehicleMaintenanceAddComponent implements OnInit {
+
+  constructor(private dashBoardSer: DashboardService, 
+    private toastr: ToastrService, 
+    private authSer: AuthServiceService, 
+    private route: ActivatedRoute,
+    private spinner: NgxSpinnerService,
+    private location: Location,
+    private http: HttpClient
+  ) { }
+
+  @ViewChild('f') vehicleForm : NgForm;
+
+  typePage: string = '';
+  vehicleReceiptDate = '';
+  vehicleDeliveryDate:string = '';
+  bindingDateSplitStart;
+  bindingDateSplitEnd;
+
+  checkSaveclick:boolean = false;
+  typeMode: boolean = false;
+
+  vehicleId: number;
+  vehicle_types:any[] = [];
+  modelNames:any[] = [];
+  maintenanceVehicleId: number;
+  startDate: string = '';
+  endDate: string = '';
+  formData = {
+    vehicle_id: '',
+    start_date: '',
+    delivery_date: '',
+    maintenance_notes: '',
+    is_maintained: '',
+  }
+
+  ngOnInit() {
+
+    //get vehicles types 
+    this.http.get(this.authSer.pathApi + '/get_vehicle_types_list').subscribe(
+      (response) => {
+        console.log(response);
+        this.vehicle_types = response['types'];
+        
+      },
+      (error) => {
+        console.log(error);
+      });
+
+      this.route.params.subscribe(
+        (params: Params) => {
+          this.maintenanceVehicleId = params['vehicleMaintenanceEditId'];
+        }
+      );
+
+      if(this.maintenanceVehicleId) {
+        this.spinner.show();
+        this.typePage = 'تعديل';
+        this.typeMode = true;
+        this.dashBoardSer.getItemData(this.maintenanceVehicleId, 'maintenanceVehicle').subscribe(
+          (responce) => {
+            console.log(responce);
+            this.formData.vehicle_id = responce['maintenance'].vehicle_id;
+            this.formData.start_date = responce['maintenance'].start_date;
+            this.formData.maintenance_notes = responce['maintenance'].maintenance_notes;
+            this.formData.delivery_date = responce['maintenance'].delivery_date;
+            this.formData.is_maintained = responce['maintenance'].is_maintained;
+
+            this.startDate = responce['maintenance'].start_date;
+            this.endDate = responce['maintenance'].delivery_date;
+
+            this.bindingDateSplitStart = {
+              year: parseInt(responce['maintenance'].start_date.split('-')[0]),
+              month: parseInt(responce['maintenance'].start_date.split('-')[1]),
+              day: parseInt(responce['maintenance'].start_date.split('-')[2]),
+            }
+            this.bindingDateSplitEnd = {
+             year: parseInt(responce['maintenance'].delivery_date.split('-')[0]),
+             month: parseInt(responce['maintenance'].delivery_date.split('-')[1]),
+             day: parseInt(responce['maintenance'].delivery_date.split('-')[2]),
+           }
+
+           this.spinner.hide();
+
+          },
+          (error) => {
+            console.log(error);
+          }
+         )
+      } else {
+        this.typePage = 'إضافه';
+      }
+  }
+
+  //get value date from child component 
+  public getDate(date: any , type: string):void {
+  
+    if(date.month < 10) {
+      date.month = '0' + date.month;
+    } 
+
+    if(date.day < 10) {
+      date.day = '0' + date.day;
+    }
+
+    console.log( date);
+
+
+    if(type == 'start') {
+      this.startDate = date.year + '-' + date.month + '-' + date.day;
+      console.log('start date', this.startDate);
+    } else if(type == 'end') {
+      this.endDate = date.year + '-' + date.month + '-' + date.day;
+      console.log('end date', this.endDate);
+    } else {
+      console.log('not type recieved !');
+    }
+
+  }
+
+
+  onSubmitted() {
+
+    this.checkSaveclick = true;
+
+    this.vehicleForm.value['start_date'] = this.startDate;
+    this.vehicleForm.value['delivery_date'] = this.endDate;
+
+    console.log(this.vehicleForm.value);
+
+    const startDateData = this.startDate.split('-');
+    const endDateData = this.endDate.split('-');
+
+    if(this.typeMode) {
+      if(startDateData[0] > endDateData[0]) {
+        this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
+        this.checkSaveclick = false;
+      } else if(startDateData[1] > endDateData[1]) {
+        this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
+        this.checkSaveclick = false;
+      } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]) {
+        this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
+        this.checkSaveclick = false;
+      } else {
+        this.dashBoardSer.editItem(this.maintenanceVehicleId,this.vehicleForm.value, 'vehicleMaintenance').subscribe(
+          (responce) => {
+            console.log(responce);
+            this.toastr.success('تم التعديل بنجاح');
+            this.location.back();
+            this.checkSaveclick = false;
+          },
+          (error) => {
+            console.log(error);
+            this.toastr.error('يوجد مشكله في الخادم ، حاول لاحقاَ');
+            this.checkSaveclick = false;
+          }
+        );
+      }
+    } else {
+      if(startDateData[0] > endDateData[0]) {
+        this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
+        this.checkSaveclick = false;
+      } else if(startDateData[1] > endDateData[1]) {
+        this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
+        this.checkSaveclick = false;
+      } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]) {
+        this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
+        this.checkSaveclick = false;
+      } else {
+        this.dashBoardSer.addItem(this.vehicleForm.value, 'vehicleMaintenance').subscribe(
+          (responce) => {
+            console.log(responce);
+            this.toastr.success('تم الإضافه بنجاح');
+            this.location.back();
+            this.checkSaveclick = false;
+          },
+          (error) => {
+            console.log(error);
+            this.toastr.error('يوجد مشكله في الخادم ، حاول لاحقاَ');
+            this.checkSaveclick = false;
+          }
+        );
+      }
+
+    }
+
+  }
+
+}

+ 30 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.css

@@ -0,0 +1,30 @@
+.table {
+    margin: 30px 0;
+}
+
+.dashButton-w {
+    float: right;
+    margin: 10px;
+}
+
+.custom-control-label::after,
+.custom-control-label::before {
+    width: 1.5rem;
+    height: 1.5rem;
+}
+
+.fixedWidthLabel-w::after,
+.fixedWidthLabel-w::before {
+    width: 1.5rem;
+    height: 1.5rem;
+}
+
+.disblayBlock-w {
+    display: block;
+}
+
+/* .centerIneerItem {
+    display: flex;
+    justify-content: center;
+    text-align: center;
+} */

+ 76 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.html

@@ -0,0 +1,76 @@
+<div class="container">
+  <div class="row">
+    <div class="col-12">
+        <ul class="list-unstyled titileLi-w">
+          <li class="headingText-w">خدمه الحركه</li>
+          <li class="headingText-w activeLi-w" style="margin-right:5px">تسجيل بيانات الصيانه</li>
+        </ul>
+    </div>
+  </div>
+
+  <div class="containerContent-w">
+
+    <div class="row">
+      <div class="col-12 col-sm-12 col-md-6 col-lg-6">
+        <button type="button" class="btn btn-outline-success butttonCreate dashButton-w" (click)="onAdd()" *ngIf="authSer.showAddBtn"><i class="fas fa-plus marginFontAowsome-w"></i>إنشاء جديد</button>
+        <button type="button" class="btn btn-outline-danger butttonDelete dashButton-w" (click)="onDelete()" *ngIf="authSer.showDeleteBtn"><i class="fas fa-times marginFontAowsome-w"></i>حذف</button>
+      </div>
+      <div class="col-12 col-sm-12 col-md-6 col-lg-6">
+        <div class="form-group">
+          <input type="text" placeholder="البحث" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
+          <hr>
+        </div>
+      </div>
+    </div>
+
+
+    <div class="row">
+        <div class="col-12 col-sm-12 col-md-12 col-lg-6">
+          <div class="form-group">
+            <span class="spanSelect-w">
+              <select [ngModel]="dataTableNumber" class="form-control selectButton-w" (input)="onGetValue($event)">
+                <option value="5">5</option>
+                <option value="10">10</option>
+                <option value="15">15</option>
+                <option value="20">20</option>
+              </select>
+              من العناصر يتم عرضها
+            </span>
+          </div>
+        </div>
+ 
+    </div>
+
+    <table class="table table-bordered">
+      <thead class="headBackground-w">
+        <tr>
+            <th>
+                <div class="custom-control custom-checkbox">
+                  <input type="checkbox" class="custom-control-input" [(ngModel)]="selectedAll" (change)="selectAll();" id="customCheck" name="example1">
+                </div>
+            </th>
+          <th> نوع المركبه</th>
+          <th>رقم اللوحه</th>
+          <th *ngIf="authSer.showEditBtn">تعديل</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr *ngFor="let data of dataList | paginate: { itemsPerPage: perPagePagenation, currentPage: currentPage, totalItems: count }; let i = index ">
+          <td>
+            <div class="custom-control custom-checkbox centerIneerItem">
+              <input type="checkbox" class="custom-control-input" id="{{data.id}}" [(ngModel)]="data.selected" [value]='data' (change)="checkIfAllSelected();">
+              <!-- <label class="custom-control-label disblayBlock-w" for="{{tab.id}}" style="color:#2a2a2a"></label> -->
+            </div>
+          </td>
+          <td>{{data.vehicle_type_name}}</td>
+          <td>{{data.vehicle_plate_number}}</td>
+          <td *ngIf="authSer.showEditBtn"><button type="button" class="btn btn-outline-secondary" (click)="onEdit(data.id)"><i class="fas fa-edit"></i></button></td>
+        </tr>
+      </tbody>
+    </table>
+    <pagination-controls nextLabel="التالي" previousLabel="السابق" (pageChange)="onPageChange($event)"></pagination-controls>
+  </div>
+
+
+</div>
+

+ 267 - 0
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.ts

@@ -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]);
+  };
+
+}

+ 1 - 1
src/app/login/login.component.html

@@ -9,7 +9,7 @@
                   <form (ngSubmit)="onSubmitedForm()" #f="ngForm">
                   <form (ngSubmit)="onSubmitedForm()" #f="ngForm">
                     <div class="form-group">
                     <div class="form-group">
                       <label for="email">رقم الهويه</label>
                       <label for="email">رقم الهويه</label>
-                      <input type="phone" id="email" class="form-control" placeholder="رقم الهويه" appOnlyNumber name="identity_number" appEnglishCharacters ngModel required  #identity_number="ngModel" />
+                      <input type="phone" id="email" class="form-control" placeholder="رقم الهويه" name="identity_number" appEnglishCharacters ngModel required  #identity_number="ngModel" />
                       <span class="help-block" *ngIf="!identity_number.valid && identity_number.touched">من فضلك ، ادخل رقم الهويه صحيح</span>
                       <span class="help-block" *ngIf="!identity_number.valid && identity_number.touched">من فضلك ، ادخل رقم الهويه صحيح</span>
                     </div>
                     </div>
                     <div class="form-group">
                     <div class="form-group">

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

@@ -208,6 +208,10 @@ getDataService(dataService){
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/vehicleModelList/' + this.pages[0].id]);
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/vehicleModelList/' + this.pages[0].id]);
           } else if(this.pages[0].id == 45) {
           } else if(this.pages[0].id == 45) {
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/registrationVehicleList/' + this.pages[0].id]);
             this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/registrationVehicleList/' + this.pages[0].id]);
+          } else if(this.pages[0].id == 46) {
+            this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/vehicleMaintenanceList/' + this.pages[0].id]);
+          } else if(this.pages[0].id == 47) {
+            this.router.navigate(['/service/' + this.idUser + '/' + dataService.id + '/registerMovementVehicleList/' + this.pages[0].id]);
           }
           }
         },
         },
         (error) => {
         (error) => {

+ 18 - 6
src/app/shared/dashboard.service.ts

@@ -19,18 +19,14 @@ export class DashboardService {
      //get hospitals list
      //get hospitals list
      getListData(pageId: number, currentPage: number, dataTableNumber: number){
      getListData(pageId: number, currentPage: number, dataTableNumber: number){
       this.spinner.show();
       this.spinner.show();
-      console.log(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + pageId);
-      if(pageId == 40) {
-        return this.http.get(this.authService.pathApi +'/page_list/1' + '/' + currentPage + '/' + dataTableNumber + '/all');
-      } else {
+        console.log('services ', currentPage);
         console.log(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
         console.log(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
         return this.http.get(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
         return this.http.get(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
-      }
     }
     }
 
 
      //get data user from searchBar
      //get data user from searchBar
      getDataUSerSearchBar(data, pageId, pagenationNumber, dataTableNumber) {
      getDataUSerSearchBar(data, pageId, pagenationNumber, dataTableNumber) {
-      console.log('url', this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' + data);
+      console.log('url', this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/1/' + data);
       if(pageId == 40) {
       if(pageId == 40) {
         return this.http.get(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/1/' + data);
         return this.http.get(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/1/' + data);
       } else {
       } else {
@@ -94,6 +90,10 @@ export class DashboardService {
         return this.http.post(this.authService.pathApi + '/add_vehicle_model', data);
         return this.http.post(this.authService.pathApi + '/add_vehicle_model', data);
       } else if(addType == 'registerVehicle') {
       } else if(addType == 'registerVehicle') {
         return this.http.post(this.authService.pathApi + '/add_vehicle_data', data);
         return this.http.post(this.authService.pathApi + '/add_vehicle_data', data);
+      } else if(addType == 'registerMovementVehicle') {
+        return this.http.post(this.authService.pathApi + '/add_vehicle_movement', data);
+      } else if(addType == 'vehicleMaintenance') {
+        return this.http.post(this.authService.pathApi + '/add_vehicle_maintenance', data);
       }
       }
     }
     }
 
 
@@ -164,6 +164,10 @@ export class DashboardService {
         return this.http.post(this.authService.pathApi + '/edit_vehicle_model', editData);
         return this.http.post(this.authService.pathApi + '/edit_vehicle_model', editData);
       } else if(editPageName == 'registerVehicle') {
       } else if(editPageName == 'registerVehicle') {
         return this.http.post(this.authService.pathApi + '/edit_vehicle_data', editData);
         return this.http.post(this.authService.pathApi + '/edit_vehicle_data', editData);
+      } else if(editPageName == 'registerMovementVehicle') {
+        return this.http.post(this.authService.pathApi + '/edit_vehicle_movement', editData);
+      } else if(editPageName == 'vehicleMaintenance') {
+        return this.http.post(this.authService.pathApi + '/edit_vehicle_maintenance', editData);
       }
       }
     }
     }
 
 
@@ -214,6 +218,10 @@ export class DashboardService {
         return this.http.get(this.authService.pathApi + '/get_vehicle_model/' + pageId);
         return this.http.get(this.authService.pathApi + '/get_vehicle_model/' + pageId);
       } else if(typeGetData == 'registerVehicle') {
       } else if(typeGetData == 'registerVehicle') {
         return this.http.get(this.authService.pathApi + '/get_vehicle_data/' + pageId);
         return this.http.get(this.authService.pathApi + '/get_vehicle_data/' + pageId);
+      } else if(typeGetData == 'registerMovementVehicle') {
+        return this.http.get(this.authService.pathApi + '/get_vehicle_movement/' + pageId);
+      } else if(typeGetData == 'maintenanceVehicle') {
+        return this.http.get(this.authService.pathApi + '/get_vehicle_maintenance/' + pageId);
       }
       }
   }
   }
 
 
@@ -273,6 +281,10 @@ export class DashboardService {
         return this.http.post(this.authService.pathApi + '/delete_vehicle_model', {'models_id' : dataIds});
         return this.http.post(this.authService.pathApi + '/delete_vehicle_model', {'models_id' : dataIds});
       } else if(pageId == 45) {
       } else if(pageId == 45) {
         return this.http.post(this.authService.pathApi + '/delete_vehicle_data', {'datas_id' : dataIds});
         return this.http.post(this.authService.pathApi + '/delete_vehicle_data', {'datas_id' : dataIds});
+      } else if(pageId == 46) {
+        return this.http.post(this.authService.pathApi + '/delete_vehicle_maintenance', {'maintenances_id' : dataIds});
+      } else if(pageId == 47) {
+        return this.http.post(this.authService.pathApi + '/delete_vehicle_movement', {'movements_id' : dataIds});
       }
       }
 
 
     };
     };