Browse Source

make some edit in movement component

amr 6 years ago
parent
commit
3879bf2d2f
16 changed files with 261 additions and 94 deletions
  1. 9 9
      src/app/dashboard/model-vehicle/model-vehicle-add/model-vehicle-add.component.html
  2. 6 2
      src/app/dashboard/model-vehicle/model-vehicle-list/model-vehicle-list.component.html
  3. 27 23
      src/app/dashboard/model-vehicle/model-vehicle-list/model-vehicle-list.component.ts
  4. 19 11
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.html
  5. 32 7
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts
  6. 1 2
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.html
  7. 3 3
      src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.html
  8. 6 3
      src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.ts
  9. 14 5
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.html
  10. 31 5
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts
  11. 1 1
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.html
  12. 9 0
      src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.css
  13. 59 14
      src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.html
  14. 36 1
      src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.ts
  15. 7 7
      src/app/dashboard/vehicle/vehicle-add/vehicle-add.component.ts
  16. 1 1
      src/app/dashboard/vehicle/vehicle-list/vehicle-list.component.html

+ 9 - 9
src/app/dashboard/model-vehicle/model-vehicle-add/model-vehicle-add.component.html

@@ -18,6 +18,15 @@
           <div class="row">
             
             <div class="col-12 col-sm-12 col-md-4">
+             <div class="form-group">
+               <label style="float: right; margin-right: 5px">النوع</label>
+                 <select class="form-control" name="vehicle_type_id" [ngModel]="formData.vehicle_type_id" 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="name" style="float: right; margin-right: 5px">الاسم<span class="spanReqired-w">*</span></label>
                 <input type="text" class="form-control" id="name" name="name" placeholder="الأسم" ngModel [ngModel]="formData.name" required/>
@@ -34,15 +43,6 @@
               </div>
             </div>
 
-            <div class="col-12 col-sm-12 col-md-4">
-              <div class="form-group">
-                <label style="float: right; margin-right: 5px">النوع</label>
-                <select class="form-control" name="vehicle_type_id" [ngModel]="formData.vehicle_type_id" required>
-                  <option *ngFor="let type of vehicle_types" [value]="type.id">{{type.name}}</option>
-                </select>
-              </div>
-            </div>
-
             <div class="col-6">
                 <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>

+ 6 - 2
src/app/dashboard/model-vehicle/model-vehicle-list/model-vehicle-list.component.html

@@ -17,7 +17,7 @@
       </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)"/>
+          <input type="text" placeholder="البحث (باسم الموديل)" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
           <hr>
         </div>
       </div>
@@ -38,7 +38,8 @@
           </div>
           <div class="form-group" style="float: right; margin: 0 20px;">
             <span class="spanSelect-w" >
-              <select [ngModel]="dataTableNumber" style="width:134px;" class="form-control selectButton-w" (input)="onGetValue($event)">
+              <select [ngModel]="filtterStatus" style="width:134px;" class="form-control selectButton-w" (input)="onGetValueFiltter($event)">
+                  <option value="all"> الكل </option>
                 <option *ngFor="let type of vehicle_types" [value]="type.id">{{type.name}}</option>
               </select>
                  النوع
@@ -57,6 +58,7 @@
               <input type="checkbox" class="custom-control-input" [(ngModel)]="selectedAll" (change)="selectAll();" id="customCheck" name="example1">
             </div>
           </th>
+          <th>نوع المركبة</th>
           <th>إسم الموديل</th>
           <th>الحاله</th>
           <th *ngIf="authSer.showEditBtn">تعديل</th>
@@ -64,12 +66,14 @@
       </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_id == '1' ? 'سيارات اسعاف' : data.vehicle_type_id == '2' ? 'سيارات وانيت' : 'not found'}} </td>
           <td>{{data.name}}</td>
           <td>{{data.status == '0' ? 'غير فعال' : data.status == '1' ? ' فعال' : 'not found'}}</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>

+ 27 - 23
src/app/dashboard/model-vehicle/model-vehicle-list/model-vehicle-list.component.ts

@@ -16,14 +16,14 @@ import { ToastrService } from 'ngx-toastr';
   styleUrls: ['./model-vehicle-list.component.css']
 })
 export class ModelVehicleListComponent implements OnInit {
- 
+
   pageId: number;
   dataList = [];
   dataListIds = [];
   count: number;
   perPagePagenation: number;
   currentPage:number = 1;
-  filtterStatus = '';
+  filtterStatus = 'all';
   selectedAll: any;
   userLoginId:number;
   serviceId:number;
@@ -44,7 +44,7 @@ export class ModelVehicleListComponent implements OnInit {
   ngOnInit() {
 
     this.spinner.show();
-        
+
     //init the values of permision boolean
     this.authSer.showAddBtn = false;
     this.authSer.showDeleteBtn = false;
@@ -116,24 +116,24 @@ export class ModelVehicleListComponent implements OnInit {
 
   }
 
-    //make all checkbox of user checked 
+    //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;     
+        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(
@@ -150,8 +150,8 @@ export class ModelVehicleListComponent implements OnInit {
           }
         );
       };
-  
-      //change page 
+
+      //change page
       onPageChange(pagenationNumber) {
         this.spinner.show();
         this.currentPage = pagenationNumber;
@@ -173,12 +173,14 @@ export class ModelVehicleListComponent implements OnInit {
           }
         );
       };
-  
-       //determine the list count from select element 
+
+       //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);
@@ -197,33 +199,35 @@ export class ModelVehicleListComponent implements OnInit {
     onGetValueFiltter(event) {
       this.spinner.show();
       this.dataList = [];
-      this.dataTableNumber = event.target.value;
-      this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + event.target.value).subscribe(
+      const typeId = event.target.value;
+      console.log(typeId);
+      this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId).subscribe(
         (responce) => {
           console.log(responce);
           this.dataList = responce['vehicle_models'];
           this.count = responce['count'];
           this.perPagePagenation = responce['per_page'];
           this.spinner.hide();
+          console.log('UrL>>', this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId)
         },
         (error) => {
           console.log(error);
         }
       );
     }
-  
-  
+
+
     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')
@@ -233,16 +237,16 @@ export class ModelVehicleListComponent implements OnInit {
             <h4>هل ترغب في حذف العناصر المحدده ؟ </h4>
             `)
         .open();
-    
+
           dialogRef.result
-          .then( 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 
+                 //get list data
                 this.dashBoardSer.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
                   (responce) => {
                     console.log(responce);
@@ -267,13 +271,13 @@ export class ModelVehicleListComponent implements OnInit {
         this.toastr.warning('لم يتم إختيار أي عنصر للمسح !');
       }
     };
-  
+
     //add function
     onAdd() {
       console.log('service/' + this.userLoginId + '/' + this.serviceId + '/addTab');
       this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/vehicleModel/add']);
     }
-  
+
     //edit function
      onEdit(editTabID) {
       this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'vehicleModel/edit/' + editTabID]);

+ 19 - 11
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.html

@@ -17,15 +17,23 @@
           <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_type_id" style="float: right; margin-right: 5px">نوع المركبه</label>
+                      <select class="form-control" name="vehicle_type_id" (input)="onChangeVehicleType($event)" [disabled]="checkEdit" [ngModel]="formData.vehicle_type_id" 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" *ngIf='show'>
+                  <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" [disabled]="checkEdit" required>
+                      <option *ngFor="let num of licenseNum" [value]="num.id">{{num.plate_number}}</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>
@@ -81,7 +89,7 @@
               <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 id="movement_notes" name="movement_notes" [ngModel]="formData.movement_notes" >
                   </quill-editor>
                 </div>
               </div>
@@ -97,9 +105,9 @@
         </div>
       </div>
 
-      <hr class="hr">
+      <hr class="hr"  *ngIf='typeMode'>
 
-      <div class="row">
+      <div class="row"  *ngIf='typeMode'>
         <div class="col-12 col-sm-12 col-md-12 col-lg-6">
           <div class="form-group">
             <span class="spanSelect-w">

+ 32 - 7
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts

@@ -35,7 +35,9 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
 
   checkSaveclick:boolean = false;
   typeMode: boolean = false;
-
+  licenseNum = [];
+  show : boolean = false;
+  
   vehicleId: number;
   vehicleNumber: number;
 
@@ -45,13 +47,14 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
   registerVehicleId: number;
   startDate: string = '';
   endDate: string = '';
-
+  checkEdit: boolean =false;
   count: number;
   perPagePagenation: number;
   currentPage:number = 1;
   dataTableNumber: number = 5;
 
   formData = {
+    vehicle_type_id: '',
     vehicle_id: '',
     vehicle_recipient_name: '',
     phone: '',
@@ -90,6 +93,9 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
             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.formData.vehicle_type_id = responce['movement'].vehicle_type_id;
+            this.getLicenseNum(this.formData.vehicle_type_id);
+            this.checkEdit = true;
             this.startDate = responce['movement'].vehicle_receipt_date;
             this.endDate = responce['movement'].vehicle_delivery_date;
             this.bindingDateSplitStart = {
@@ -153,7 +159,7 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
       }
 
     }
-
+      
      //change page
     onPageChange(pagenationNumber) {
       this.spinner.show();
@@ -196,9 +202,23 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
         }
       );
     };
-    onChangeVehicleType(event) {
+    onChangeVehicleTypee(event){
+      this.licenseNum = [];
       const typeId = event.target.value;
-      this.getModelName(typeId);
+      this.getLicenseNum(typeId)
+  
+    }
+    getLicenseNum(typeId){
+      this.http.get(this.authSer.pathApi + '/get_vehicles_by_type_id/' + typeId ).subscribe(
+        (response) => {
+          console.log(response);
+          this.licenseNum = response['vehicles'];
+          this.show = true;
+        },
+        (error) => {
+          console.log(error);
+        }
+      );
     }
     getModelName(typeVehicleId) {
       this.http.get(this.authSer.pathApi + '/get_vehicle_models_by_type_id/' + typeVehicleId).subscribe(
@@ -214,11 +234,16 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
         }
       )
     }
-
+    onChangeVehicleType(event){
+      this.licenseNum = [];
+      const typeId = event.target.value;
+      this.getLicenseNum(typeId)
+  
+    }
     onSubmitted() {
 
       this.checkSaveclick = true;
-
+      delete this.vehicleForm.value['vehicle_type_id'];
       this.vehicleForm.value['vehicle_receipt_date'] = this.startDate;
       this.vehicleForm.value['vehicle_delivery_date'] = this.endDate;
 

+ 1 - 2
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component.html

@@ -17,8 +17,7 @@
         </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>
+              <input type="text" placeholder=" البحث (رقم اللوحه)" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>            <hr>
           </div>
         </div>
       </div>

+ 3 - 3
src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.html

@@ -17,7 +17,7 @@
       </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)"/>
+          <input type="text"  placeholder=" البحث (رقم اللوحه)" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
           <hr>
         </div>
       </div>
@@ -38,8 +38,8 @@
           </div>
           <div class="form-group">
             <span class="spanSelect-w" style="float: right; margin: 0 20px;">
-              <select [ngModel]="dataTableNumber" style="width:134px;" class="form-control selectButton-w" (input)="onGetValueFiltter($event)">
-
+              <select [ngModel]="filtterStatus" style="width:134px;" class="form-control selectButton-w" (input)="onGetValueFiltter($event)">
+                  <option  value="all">الكل</option>
                 <option *ngFor="let type of vehicle_types" [value]="type.id">{{type.name}}</option>
               </select>
                  النوع

+ 6 - 3
src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.ts

@@ -22,7 +22,7 @@ export class RegistrationVehicleListComponent implements OnInit {
   count: number;
   perPagePagenation: number;
   currentPage:number = 1;
-  filtterStatus = '';
+  filtterStatus = 'all';
   selectedAll: any;
   userLoginId:number;
   serviceId:number;
@@ -196,14 +196,17 @@ export class RegistrationVehicleListComponent implements OnInit {
   onGetValueFiltter(event) {
     this.spinner.show();
     this.dataList = [];
-    this.dataTableNumber = event.target.value;
-    this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + event.target.value).subscribe(
+    const typeId = event.target.value;
+    console.log(typeId);
+    this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId).subscribe(
       (responce) => {
         console.log(responce);
         this.dataList = responce['vehicle_datas'];
         this.count = responce['count'];
         this.perPagePagenation = responce['per_page'];
         this.spinner.hide();
+        console.log('UrL>>', this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId)
+
       },
       (error) => {
         console.log(error);

+ 14 - 5
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.html

@@ -21,13 +21,22 @@
 
             <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>
+                <label for="vehicle_type_id" style="float: right; margin-right: 5px">نوع المركبه</label>
+                <select class="form-control" name="vehicle_type_id" (input)="onChangeVehicleType($event)" [disabled]="checkEdit" [ngModel]="formData.vehicle_type_id" 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" *ngIf='show'>
+                <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" [disabled]="checkEdit" required>
+                    <option *ngFor="let num of licenseNum" [value]="num.id">{{num.plate_number}}</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>
@@ -55,7 +64,7 @@
             <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 id="movement_notes" name="maintenance_notes" [ngModel]="formData.maintenance_notes" >
                 </quill-editor>
               </div>
             </div>
@@ -81,9 +90,9 @@
       </div>
     </div>
 
-    <hr class="hr">
+    <hr class="hr" *ngIf='typeMode'>
 
-    <div class="row">
+    <div class="row" *ngIf='typeMode'>
       <div class="col-12 col-sm-12 col-md-12 col-lg-6">
         <div class="form-group">
           <span class="spanSelect-w">

+ 31 - 5
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts

@@ -32,7 +32,7 @@ export class VehicleMaintenanceAddComponent implements OnInit {
   vehicleDeliveryDate:string = '';
   bindingDateSplitStart;
   bindingDateSplitEnd;
-
+  checkEdit: boolean = false;
   checkSaveclick:boolean = false;
   typeMode: boolean = false;
   vehicleNumber: number;
@@ -43,8 +43,8 @@ export class VehicleMaintenanceAddComponent implements OnInit {
   perPagePagenation: number;
   currentPage:number = 1;
   dataTableNumber: number = 5;
-
-
+  show : Boolean = false;
+  licenseNum = [];
   vehicle_types:any[] = [];
   modelNames:any[] = [];
   vehicleDataTable = [];
@@ -52,6 +52,7 @@ export class VehicleMaintenanceAddComponent implements OnInit {
   startDate: string = '';
   endDate: string = '';
   formData = {
+    vehicle_type_id: '',
     vehicle_id: '',
     start_date: '',
     delivery_date: '',
@@ -84,16 +85,19 @@ export class VehicleMaintenanceAddComponent implements OnInit {
         this.typeMode = true;
         this.dashBoardSer.getItemData(this.maintenanceVehicleId, 'maintenanceVehicle').subscribe(
           (responce) => {
-            console.log(responce);
+            console.log('FFFFF',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.formData.vehicle_type_id = responce['maintenance'].vehicle_type_id;
+            this.getLicenseNum(this.formData.vehicle_type_id);
+            this.formData.vehicle_id = responce['maintenance'].vehicle_id;
             this.vehicleNumber = responce['maintenance'].plate_number;
             this.startDate = responce['maintenance'].start_date;
             this.endDate = responce['maintenance'].delivery_date;
-
+            this.checkEdit = true;
             this.bindingDateSplitStart = {
               year: parseInt(responce['maintenance'].start_date.split('-')[0]),
               month: parseInt(responce['maintenance'].start_date.split('-')[1]),
@@ -131,6 +135,26 @@ export class VehicleMaintenanceAddComponent implements OnInit {
       }
   }
 
+  onChangeVehicleType(event){
+    this.licenseNum = [];
+    const typeId = event.target.value;
+    this.getLicenseNum(typeId)
+
+  }
+
+  getLicenseNum(typeId){
+    this.http.get(this.authSer.pathApi + '/get_vehicles_by_type_id/' + typeId ).subscribe(
+      (response) => {
+        console.log(response);
+        this.licenseNum = response['vehicles'];
+        this.show = true;
+      },
+      (error) => {
+        console.log(error);
+      }
+    );
+  }  
+
   //get value date from child component 
   public getDate(date: any , type: string):void {
   
@@ -210,6 +234,8 @@ export class VehicleMaintenanceAddComponent implements OnInit {
     this.vehicleForm.value['start_date'] = this.startDate;
     this.vehicleForm.value['delivery_date'] = this.endDate;
 
+    delete this.vehicleForm.value['vehicle_type_id'];
+
     console.log(this.vehicleForm.value);
 
     const startDateData = this.startDate.split('-');

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

@@ -17,7 +17,7 @@
       </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)"/>
+          <input type="text" placeholder=" البحث (رقم اللوحه)" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
           <hr>
         </div>
       </div>

+ 9 - 0
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.css

@@ -0,0 +1,9 @@
+.title{
+    font-size: 20px;
+    font-weight: bold;
+    padding-left: 5px;
+}
+.result{
+    font-size: 16px;
+    
+}

+ 59 - 14
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.html

@@ -24,25 +24,70 @@
   
           <div class="row" *ngIf="showTableData" style="margin-top: 50px">
             <div class="col-12">
-              <table class="table table-bordered">
+              <div class="row" style="margin: 20px" >
+                  <div class="col-4 pull-right">
+                      <span class="title"> نوع المركيه:</span>
+                      <span class="result">{{ vehicleData[0].vehicle_type_name }}</span>
+                  </div>
+                  <div class="col-4">
+                      <span  class="title"> موديل المركبه:</span>
+                      <span class="result">{{ vehicleData[0].vehicle_model_name }}</span>
+                  </div>
+                  <div class="col-4">
+                      <span  class="title"> رقم اللوحه:</span>
+                      <span class="result">{{ vehicleData[0].plate_number }}</span>
+                  </div>
+              </div>
+              <div class="row" style="margin-bottom: 30px;">
+                <div class="col-4 pull-right">
+                    <span  class="title"> الحالة:</span>
+                    <span class="result">{{ vehicleData[0].vehicle_status == 'used' ? 'مستعمل' : 'جديد' }}</span>
+                </div>
+                  <div class="col-4">
+                      <span  class="title"> رقم الهيكل:</span>
+                      <span class="result">{{ vehicleData[0].structure_number }}</span>
+                  </div>
+                  <div class="col-4">
+                      <span  class="title"> اللون:</span>
+                      <span class="result">{{ vehicleData[0].color }}</span>
+                  </div>
+                </div>
+                <table class="table table-bordered" style="margin-top: 20px">
+                  <thead class="headBackground-w">
+                    <tr>
+                      <th>اسم الموظف</th>
+                      <th>رقم الجوال</th>
+                      <th>تاريخ الاستلام</th>
+                      <th>تاريخ التسليم</th>
+                      <th>الملاحظات</th>
+                    </tr>
+                  </thead>
+                  <tbody>
+                    <tr *ngFor="let move of movements">
+                      <td>{{move.vehicle_recipient_name}}</td>
+                      <td>{{move.phone}}</td>
+                      <td>{{move.vehicle_receipt_date}}</td>
+                      <td>{{move.vehicle_delivery_date}}</td>
+                      <td>{{move.movement_notes}}</td>
+                     
+                  </tr>
+                </tbody>
+              </table> 
+              <table class="table table-bordered" *ngIf='showTableData2'>
                   <thead class="headBackground-w">
                     <tr>
-                      <th>نوع المركيه</th>
-                      <th>موديل المركبه</th>
-                      <th>رقم اللوحه</th>
-                      <th>الحاله</th>
-                      <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 *ngFor="let mainten of maintenances">
+                      <td>{{mainten.start_date}}</td>
+                      <td>{{mainten.delivery_date}}</td>
+                      <td>{{mainten.maintenance_notes}}</td>
+                      <td>{{mainten.is_maintained == '0' ? 'تم الصيانة' :mainten.is_maintained == '1' ? 'لم تنتهي' : 'not fouind'  }}</td>     
                   </tr>
                 </tbody>
               </table>

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

@@ -18,11 +18,31 @@ export class VehicleMovementReportComponent implements OnInit {
 
   searchData: string = '';
   showTableData: boolean = false;
+  showTableData2: boolean = false;
   vehicleData = [];
+  movements = [];
+  maintenances = [];
   typeReport:string = '';
   typeReportPage:string = '';
+  
 
   ngOnInit() {
+
+     //init values of permisions
+     this.authSer.showAddBtn = false;
+     this.authSer.showDeleteBtn = false;
+     this.authSer.showEditBtn = false;
+     this.authSer.showPermissionsBtn = 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;
+     //to show / hide permissions
+
+
     this.route.params.subscribe(
       (params: Params) => {
         this.typeReport = params['typeReport'];
@@ -31,29 +51,39 @@ export class VehicleMovementReportComponent implements OnInit {
           localStorage.setItem('pageIdActive', '49');
           this.searchData = '';
           this.vehicleData = [];
+          this.movements = [];
+          this.maintenances= [];
+          this.showTableData = false;
+          this.showTableData2 = false;
         } else if(params['typeReport'] == 'General') {
           this.typeReportPage = 'تقرير عام عن المركبه';
           localStorage.setItem('pageIdActive', '50');
           this.searchData = '';
           this.vehicleData = [];
+          this.movements = [];
+          this.showTableData = false;
+          this.showTableData2 = false;
         }
       }
     );
   }
 
   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']);
+          this.movements = responce['vehicle'].movements;
+          console.log('FGF',this.movements)
           console.log(this.vehicleData);
           if(this.vehicleData[0] == null) {
             this.toastr.warning('لا يوجد بيانات لهذا المركبه');
             this.showTableData = false;
+            this.showTableData2 = false;
           } else {
             this.showTableData = true;
+            this.showTableData2 = false;
           }
           
         },
@@ -63,16 +93,21 @@ export class VehicleMovementReportComponent implements OnInit {
         }
       );
     } 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']);
+          this.movements = responce['vehicle'].movements;
+          this.maintenances = responce['vehicle'].maintenances;
           console.log(this.vehicleData);
           if(this.vehicleData[0] == null) {
             this.toastr.warning('لا يوجد بيانات لهذا المركبه');
             this.showTableData = false;
+            this.showTableData2 = false;
           } else {
             this.showTableData = true;
+            this.showTableData2 = true;
           }
           
         },

+ 7 - 7
src/app/dashboard/vehicle/vehicle-add/vehicle-add.component.ts

@@ -14,9 +14,9 @@ import { NgForm } from '@angular/forms';
 })
 export class VehicleAddComponent implements OnInit {
 
-  constructor(private dashBoardSer: DashboardService, 
-    private toastr: ToastrService, 
-    private authSer: AuthServiceService, 
+  constructor(private dashBoardSer: DashboardService,
+    private toastr: ToastrService,
+    private authSer: AuthServiceService,
     private route: ActivatedRoute,
     private spinner: NgxSpinnerService,
     private location: Location) { }
@@ -30,7 +30,7 @@ export class VehicleAddComponent implements OnInit {
 
   formData = {
     name: '',
-    status: '',
+    status: '1',
   }
 
   ngOnInit() {
@@ -40,7 +40,7 @@ export class VehicleAddComponent implements OnInit {
         this.vehicleId = params['vehicleEditId'];
       }
     )
-    
+
     if(this.vehicleId) {
       this.spinner.show();
       this.typePage = 'تعديل';
@@ -65,7 +65,7 @@ export class VehicleAddComponent implements OnInit {
 
 
     this.checkSaveclick = true;
-    
+
     if(this.vehicleId) {
       this.dashBoardSer.editItem(this.vehicleId, this.vehicleForm.value, 'vehicle').subscribe(
         (responce) => {
@@ -93,7 +93,7 @@ export class VehicleAddComponent implements OnInit {
         }
       );
     }
-    
+
     console.log(this.vehicleForm);
   }
 

+ 1 - 1
src/app/dashboard/vehicle/vehicle-list/vehicle-list.component.html

@@ -17,7 +17,7 @@
       </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)"/>
+          <input type="text" placeholder="البحث (نوع المركبة)" class="form-control inputSearchTable-w" style="margin-top:13px;" (input)="filtterFunc($event)"/>
           <hr>
         </div>
       </div>