Hima il y a 6 ans
Parent
commit
9b2db2d3e9
31 fichiers modifiés avec 294 ajouts et 154 suppressions
  1. 6 0
      src/app/Internal-Page/hospital-content/hospital-content.component.html
  2. 3 3
      src/app/Internal-Page/internal-page-content/internal-page-content.component.html
  3. 0 1
      src/app/Internal-Page/internal-page-content/internal-page-content.component.ts
  4. 0 1
      src/app/Internal-Page/internal-page/internal-page.component.ts
  5. 0 1
      src/app/Internal-Page/news-page/news-page.component.ts
  6. 0 1
      src/app/Internal-Page/news-pages/news-pages.component.ts
  7. 3 5
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.css
  8. 22 7
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.html
  9. 33 24
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.ts
  10. 9 0
      src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component.html
  11. 7 2
      src/app/dashboard/model-vehicle/model-vehicle-list/model-vehicle-list.component.html
  12. 7 4
      src/app/dashboard/print-card-trainee/print-card-trainee-add/print-card-trainee-add.component.css
  13. 15 8
      src/app/dashboard/print-card-trainee/print-card-trainee-add/print-card-trainee-add.component.html
  14. 3 3
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.html
  15. 17 14
      src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts
  16. 23 21
      src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.html
  17. 2 1
      src/app/dashboard/registration-vehicle/registration-vehicle-list/registration-vehicle-list.component.ts
  18. 1 1
      src/app/dashboard/reports-existing-vehicles/existing-report/existing-report.component.html
  19. 21 2
      src/app/dashboard/reports-existing-vehicles/existing-report/existing-report.component.ts
  20. 0 4
      src/app/dashboard/section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component.css
  21. 2 2
      src/app/dashboard/section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component.html
  22. 1 1
      src/app/dashboard/section-review-for-trainee/section-review-trainee-list/section-review-trainee-list.component.html
  23. 1 1
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.html
  24. 15 14
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts
  25. 22 13
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.html
  26. 36 2
      src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.ts
  27. 10 7
      src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.html
  28. 28 9
      src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.ts
  29. 0 1
      src/app/shared/auth-service.service.ts
  30. 6 0
      src/app/shared/dashboard.service.ts
  31. 1 1
      src/styles.css

+ 6 - 0
src/app/Internal-Page/hospital-content/hospital-content.component.html

@@ -136,6 +136,12 @@
                         <p>{{detailsField.description_en}}</p>
                       </div>
                     </div>
+                    <div class="col-6 col-md-9">
+                      <div class="information" [className]=" authSer.arabicTemplate ? '' : 'achievementsLang-w' ">
+                        <h2>{{detailsField.title_en}}</h2>
+                        <p>{{detailsField.description_en}}</p>
+                      </div>
+                    </div> 
                 </div>
               </div>
             </ng-template>

+ 3 - 3
src/app/Internal-Page/internal-page-content/internal-page-content.component.html

@@ -19,7 +19,6 @@
                                     </a>
                                 </div>
                             </div>
-                        </div>
 
                         <div class="col-12 col-md-8 order-1 order-sm-1 order-md-2">
                             <div class="slider"> 
@@ -59,7 +58,6 @@
                         </div>
                     </div>
                 </div>
-            </div>
 
             <div class="contentsData-w">
                 <div class="container containerPaddingEdit-w">
@@ -237,7 +235,9 @@
                 </div>
             </div>
         </div>
-    </div> 
+    </div>
+</div>
+</div> 
 </ng-template>
 
 

+ 0 - 1
src/app/Internal-Page/internal-page-content/internal-page-content.component.ts

@@ -56,7 +56,6 @@ export class InternalPageContentComponent implements OnInit {
       name: '',
       name_en: '',
     };
-
     tabSadData = {
       employee_name: '',
       employee_name_en: '',

+ 0 - 1
src/app/Internal-Page/internal-page/internal-page.component.ts

@@ -27,7 +27,6 @@ export class InternalPageComponent implements OnInit {
       spinner.show();
      }
 
-
     myInnerHeight = window.innerHeight;
    externalServices = [];
 

+ 0 - 1
src/app/Internal-Page/news-page/news-page.component.ts

@@ -44,7 +44,6 @@ export class NewsPageComponent implements OnInit {
     );
 
     this.repoUrl = this.authSer.pathApi + '/get_report/' + this.newsId;
-
     //get news data 
     this.internalService.getNewsData(this.newsId).subscribe(
       (responce) => {

+ 0 - 1
src/app/Internal-Page/news-pages/news-pages.component.ts

@@ -27,7 +27,6 @@ export class NewsPagesComponent implements OnInit {
   currentPage:number = 1;
 
   ngOnInit() {
-
     this.spinner.show();
     console.log(this.authSer.pathImg);
     this.http.get(this.authSer.pathApi + '/reports_list_gate/' + this.currentPage + '/' + this.perPagePagenation + '/internal').subscribe(

+ 3 - 5
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.css

@@ -118,7 +118,7 @@ select.ng-invalid{
 .table .fileName-w {
     position: absolute;
     bottom: -3px;
-    right: 120px;
+    right: 110px;
 }
 
 .inlineBlock-w {
@@ -207,14 +207,12 @@ select.ng-invalid{
 }
 
 .wrapper .iconUpload-w {
-    width: 265px;
+    width: 160px;
     height: 37px;
     border-radius: 5px;
     font-size: 1.25em;
     font-weight: 700;
     display: inline-block;
-    background-color: #fff;
-    border: 1px solid #ccc;
     padding: 0 10px;
     position: absolute;
     right: 75px;
@@ -249,7 +247,7 @@ select.ng-invalid{
 }
 
 .buttonStatus-w{
-    width: 80px;
+    width: 130px;
     margin: 0 10px;
     float: right;
 }

+ 22 - 7
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.html

@@ -108,6 +108,17 @@
               <div class="row">
                 <div class="wrapper">
                   
+                  <div class="col-12">
+                    <h2 style="margin: 10px 0; font-size:19px;">حاله الطلب : <span>
+                      {{formData.status == 'pending' ? 'تحت الإجراء' 
+                    : formData.status == 'accepted' ? 'مقبول' 
+                    : formData.status == 'replayed_opinion' ? 'رأي القسم'
+                    : formData.status == 'refused' ? 'مرفوض' 
+                    : formData.status == 'canceled' ? 'ملغي'
+                    : formData.status == 'asked_for_opinion' ? 'طلب رأي القسم' : 'لايوجد '}}
+                    </span></h2>
+                  </div>
+
                   <div class="col-12 col-sm-12 col-md-4 col-lg-4">
                     <div class="form-group">
                       <label style="float:right">نوع الطلب <span class="spanReqired-w">*</span></label>
@@ -174,12 +185,14 @@
                       <input type="number" id="job" placeholder="البطاقه الوظيفي" class="form-control" name="functional_number" ngModel [(ngModel)]="formData.functional_number" [disabled]="disabledInput" required/>
                     </div>
                   </div>
+
                   <div class="col-12 col-sm-12 col-md-4 col-lg-4" *ngIf="formData.type == 'fellowship'">
                     <div class="form-group">
                       <label for="contract" style="float:right">نوع التعاقد <span class="spanReqired-w">*</span></label>
                       <input type="text" id="contract" placeholder="نوع التعاقد" class="form-control" name="contract_type" ngModel [(ngModel)]="formData.contract_type" [disabled]="disabledInput" required/>
                     </div>
                   </div>
+
                   <div class="col-12 col-sm-12 col-md-4 col-lg-4" *ngIf="formData.type == 'fellowship'">
                     <div class="form-group">
                       <label for="field" style="float:right">الجهه التابع لها المتدرب <span class="spanReqired-w">*</span></label>
@@ -219,7 +232,7 @@
               </div>
             </div>
 
-            <div class="col-12">
+            <div class="col-12" style="margin: 30px 0;">
               <h2 class="title">المرفقات</h2>
               <div class="row">
                 <div class="wrapper">
@@ -233,6 +246,7 @@
                       <tr>
                         <th> إسم المرفق</th>
                         <th>رفع املف ( بصيغه pdf )</th>
+                        <th>عرض الملف</th>
                         <th>حذف</th>
                       </tr>
                     </thead>
@@ -242,8 +256,9 @@
                         <td style="position: relative;">
                           <input type="file" name="file{{i}}" id="file{{i}}" class="inputfile" alife-file-to-base64 (onFileChanged)="onFileChanges($event,i)"/>
                           <label for="file{{i}}" class="iconUpload-w"><i class="fas fa-upload"></i></label>
-                          <span class="fileName-w">{{file.nameFile}}</span>
+                          <span class="fileName-w" *ngIf="file.nameFile" style="color:green">File Chossen</span>
                         </td>
+                        <td><a href="{{authSer.pathImg + file.nameFile}}" target="_blank"><i class="fas fa-download"></i></a></td>
                         <td><button type="button" class="btn btn-danger form-control deleteRow-w" (click)="onDeleteRow(i)">حذف</button></td>
                       </tr>
                     </tbody>
@@ -256,18 +271,18 @@
             <div class="col-12">
               <div class="row">
                 <div class="wrapper">
-                  <div class="col-12 col-md-6">
+                  <div class="col-12 col-md-12">
                     <label style="float:right; margin: 20px;"> الملاحظات</label>
                     <quill-editor id="description" name="notes" [(ngModel)]="actionForm.notes" required>
                     </quill-editor>
                   </div>
-                  <div class="col-12 col-md-6">
+                  <div class="col-12 col-md-12">
                     <div class="col-12">
                        <label style="float:right; font-size: 18px;">الحاله</label>
                     </div>
-                      <button type="button" class="btn btn-danger buttonStatus-w" (click)="traineeStatus('stopped')">إيقاف</button>
-                      <button type="button" class="btn btn-primary buttonStatus-w" (click)="traineeStatus('ended')">إنهاء</button>
-                      <button type="button" class="btn btn-success buttonStatus-w" (click)="traineeStatus('in_training')">إستئناف</button>
+                      <button type="button" class="btn btn-danger buttonStatus-w" (click)="traineeStatus('stopped')">إيقاف التدريب</button>
+                      <button type="button" class="btn btn-primary buttonStatus-w" (click)="traineeStatus('ended')">إنهاء التدريب</button>
+                      <button type="button" class="btn btn-success buttonStatus-w" (click)="traineeStatus('in_training')">إستئناف التدريب</button>
                       <div class="col-12" style="margin: 10px 0;"  *ngIf="stoppedShow">
                         <div class="form-group">
                           <label style="float:right; margin: 20px;"> سبب الإلغاء</label>

+ 33 - 24
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component.ts

@@ -95,6 +95,7 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
     nameFile: '',
     id: null,
   }];
+
   attachments_ids = []; //attachements ids;
 
 
@@ -158,7 +159,7 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
 
     this.route.params.subscribe(
       (params: Params) => {
-        this.reportId = params['registrationTraineereviewSectionAddId'];
+        this.reportId = +params['registrationTraineereviewSectionAddId'];
       }
     );
 
@@ -185,6 +186,7 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
           this.formData.training_period = responce['data']['request'].training_period;
           this.formData.functional_number = responce['data']['request'].functional_number;
           this.formData.organization_affiliated_with = responce['data']['request'].organization_affiliated_with;
+          this.formData.status = responce['data']['request'].status;
           this.formData.registration_number = responce['data']['request'].registration_number;
           this.userData.name = responce['data']['user'].name;
           this.userData.email = responce['data']['user'].email;
@@ -249,7 +251,7 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
   traineeStatus(status: string) {
     console.log(status);
     if(status == 'ended') {
-      this.toastr.warning('تم الانهاء للمتدرب');
+      this.toastr.warning('تم الانهاء للمتدرب ، قم بتسجيل تققيم القسم للمتدرب');
       this.actionForm.trainee_status = status;
       this.endedShow = true;
       this.stoppedShow = false;
@@ -267,8 +269,8 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
 
    //change file 
   onFileChanges(event, index:number) {
-  console.log(event);
-  console.log(index);
+    console.log(event);
+    console.log(index);
     this.files[index].nameFile = event[0].name.substring(0,20) + '....';
     this.files[index].file = event[0].base64;
     this.files[index].file_type = event[0].type.split('/')[1];
@@ -280,8 +282,8 @@ export class RegistrationTraineeMovementAddComponent implements OnInit {
         this.checkSaveClick = false;
       }
       console.log(this.files);
-  console.log('files after change ',this.files);
-}
+      console.log('files after change ',this.files);
+  }
 
 plusImage() {
   this.files.push({
@@ -342,6 +344,7 @@ plusImage() {
           }
         }
       }
+
     }
  
 
@@ -351,13 +354,13 @@ plusImage() {
       delete this.files[i].id;
     }
 
-      //get attachmeents in object files
-      const attachements = [];
-      for(let i = 0; i < this.files.length; i++) {
-        if(this.files[i].file != '') {
-          attachements.push(this.files[i]);
-        }
+    //get attachmeents in object files
+    const attachements = [];
+    for(let i = 0; i < this.files.length; i++) {
+      if(this.files[i].file != '') {
+        attachements.push(this.files[i]);
       }
+    }
 
      //add to form the edit old file 
      this.actionForm['editable_attachments'] = editAttachements;
@@ -365,18 +368,24 @@ plusImage() {
      this.actionForm['attachments_ids'] = this.attachments_ids;//departments_ids
 
     console.log(this.actionForm);
-    this.http.post(this.authSer.pathApi + '/trace_trainee_movement', this.actionForm).subscribe(
-      (responce) => {
-        console.log(responce);
-        this.toastr.success('تم بنجاح');
-        this.location.back();
-      },
-      (error) => {
-        console.log(error);
-        this.toastr.error('يوجد خطأ في الحفظ ، حاول لاحقاً');
-        this.location.back();
-      }
-    );
+    if(this.actionForm.trainee_status == 'ended' && this.actionForm.trainee_evaluation == ''){
+      this.toastr.warning('قم بتسجيل تقييم القسم للمتدرب !');
+      this.checkSaveClick = false;
+    } else {
+      this.http.post(this.authSer.pathApi + '/trace_trainee_movement', this.actionForm).subscribe(
+        (responce) => {
+          console.log(responce);
+          this.toastr.success('تم بنجاح');
+          this.location.back();
+        },
+        (error) => {
+          console.log(error);
+          this.toastr.error('يوجد خطأ في الحفظ ، حاول لاحقاً');
+          this.location.back();
+        }
+      );
+    }
+
   }
 
 }

+ 9 - 0
src/app/dashboard/Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component.html

@@ -48,6 +48,7 @@
                 <th> إسم المتدرب</th>
                 <th>إسم التخصص</th>
                 <th>إسم التخصص الدقيق</th>
+                <th>حاله الطلب</th>
                 <th> الجامعه</th>
                 <th *ngIf="authSer.showEditBtn">تفاصيل المتدرب</th>
               </tr>
@@ -57,6 +58,14 @@
                 <td>{{data.trainee_name}}</td>
                 <td> {{data.specialization_name}}</td>
                 <td>{{data.specific_specialization}}</td>
+                <td> 
+                  {{data.status == 'pending' ? 'تحت الإجراء' 
+                  : data.status == 'accepted' ? 'مقبول' 
+                  : data.status == 'replayed_opinion' ? 'رأي القسم'
+                  : data.status == 'refused' ? 'مرفوض' 
+                  : data.status == 'canceled' ? 'ملغي'
+                  : data.status == 'asked_for_opinion' ? 'طلب رأي القسم' : 'لايوجد '}}
+                </td>
                 <td>{{data.university}}</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>

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

@@ -70,10 +70,15 @@
           <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.vehicle_type_id == '1' ? 'سيارات اسعاف' 
+            : data.vehicle_type_id == '2' ? 'سيارات وانيت' 
+            : data.vehicle_type_id == '5' ? 'سياره مرضي' 
+            : data.vehicle_type_id == '6' ? 'سياره إسعاف' 
+            : '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>

+ 7 - 4
src/app/dashboard/print-card-trainee/print-card-trainee-add/print-card-trainee-add.component.css

@@ -7,14 +7,15 @@
 .containerContent-w p {
     text-align: right;
     margin: 10px 0;
-    font-size: 18px;
+    font-size: 14px;
     font-weight: bold;
 }
 
 .card {
-    width: 400px;
+    width: 350px;
+    height: 350px;
     display: inline-block;
-    padding: 20px 0;
+    padding: 20px 15px;
     margin: 50px 0;
     border: 1px solid #ccc;
     box-shadow: 0 1px 3px 1px #ccc;
@@ -30,7 +31,6 @@
 .imgCard-w img{
     width: 100%;
     height: 100%;
-    border-radius: 10px;
     border: 1px solid #ccc;
 }
 
@@ -302,6 +302,9 @@ select.ng-invalid{
     input,select {
         font-size: 12px; 
     }
+    .card{
+        width:100%;
+    }
 }
 
 @media(min-width: 767px) and (max-width: 991px){

+ 15 - 8
src/app/dashboard/print-card-trainee/print-card-trainee-add/print-card-trainee-add.component.html

@@ -11,13 +11,23 @@
       </div>
   
       <div class="containerContent-w">
-        <h2>تعليمات</h2>
-        <p>في حاله فقدان هذه البطاقه أو انتهاء خدمات المتدرب أو العثور عليها تسليمها أو ابلاغ إداره الإمن والسلامه بمجمع الملك فيصل الطبي بصحه الطائف </p>
 
         <div class="row">
-          <div class="col-12">
+
+          <div class="col-12 col-md-12 col-lg-6">
+            <div class="card">
+              <h2>تعليمات</h2>
+              <p>في حاله فقدان هذه البطاقه أو انتهاء خدمات المتدرب أو العثور عليها تسليمها أو ابلاغ إداره الإمن والسلامه بمجمع الملك فيصل الطبي بصحه الطائف </p>        
+              <div class="card-body" style="margin-top:60px;">
+                <p>  التخصص : <span>{{ requestCardData.specialization_name ? requestCardData.specialization_name : 'لايوجد' }}</span></p>
+                <p>التخصص الدقيق : <span>{{ requestCardData.specific_specialization ? requestCardData.specific_specialization : 'لايوجد' }}</span></p>
+                <p>تاريخ الإنتهاء : <span>{{ requestCardData.end_date ? requestCardData.end_date : 'لايوجد' }}</span></p>
+              </div>
+            </div>
+          </div>
+
+          <div class="col-12 col-md-12 col-lg-6">
             <div class="card">
-              
               <div class="imgCard-w">
                 <img src="{{userCardData.photo ? authSer.pathImg + userCardData.photo : authSer.imgSrc}}" class="card-img-top" alt="...">
               </div>
@@ -27,13 +37,10 @@
                 <p>الإيميل : <span>{{ userCardData.email ? userCardData.email : 'لايوجد' }}</span></p>
                 <p>رقم الهويه : <span>{{ userCardData.identity_number ? userCardData.identity_number : 'لايوجد' }}</span></p>
                 <p>رقم الهاتف : <span>{{ userCardData.phone ? userCardData.phone : 'لايوجد' }}</span></p>
-                <p>  التخصص : <span>{{ requestCardData.specialization_name ? requestCardData.specialization_name : 'لايوجد' }}</span></p>
-                <p>التخصص الدقيق : <span>{{ requestCardData.specific_specialization ? requestCardData.specific_specialization : 'لايوجد' }}</span></p>
-                <p>تاريخ الإنتهاء : <span>{{ requestCardData.end_date ? requestCardData.end_date : 'لايوجد' }}</span></p>
               </div>
-
             </div>
           </div>
+
         </div>
 
         <div class="row">

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

@@ -105,10 +105,10 @@
         </div>
       </div>
 
-      <hr class="hr"  *ngIf='typeMode'>
+      <hr class="hr" *ngIf='typeMode'>
 
-      <div class="row"  *ngIf='typeMode'>
-        <div class="col-12 col-sm-12 col-md-12 col-lg-6">
+      <div class="row" *ngIf='typeMode'>
+        <div class="col-12 col-sm-12 col-md-12 col-lg-6" style="margin: 10px 0;">
           <div class="form-group">
             <span class="spanSelect-w">
               <select [ngModel]="dataTableNumber" class="form-control selectButton-w" (input)="onGetValue($event)">

+ 17 - 14
src/app/dashboard/register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component.ts

@@ -98,6 +98,23 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
             this.checkEdit = true;
             this.startDate = responce['movement'].vehicle_receipt_date;
             this.endDate = responce['movement'].vehicle_delivery_date;
+            this.vehicleNumber = responce['movement'].plate_number;
+            
+            this.dashBoardSer.getDataUSerSearchBar(this.vehicleNumber,
+              47,
+             this.currentPage,
+             this.dataTableNumber).subscribe(
+             (responce) => {
+               console.log('search table edit ', responce);
+               this.vehicleDataTable = responce['vehicle_movements'];
+               this.count = responce['count'];
+               this.perPagePagenation = responce['per_page'];
+             },
+             (error) => {
+               console.log(error);
+             }
+           );
+
             this.bindingDateSplitStart = {
               year: parseInt(responce['movement'].vehicle_receipt_date.split('-')[0]),
               month: parseInt(responce['movement'].vehicle_receipt_date.split('-')[1]),
@@ -114,20 +131,6 @@ export class RegisterMovementVehicleAddComponent implements OnInit {
             console.log(error);
           }
         );
-
-        this.dashBoardSer.getDataUSerSearchBar(this.vehicleNumber,
-          47,
-         this.currentPage,
-         this.dataTableNumber).subscribe(
-         (responce) => {
-           console.log('search table edit ', responce);
-           this.vehicleDataTable = responce['vehicle_movements'];
-         },
-         (error) => {
-           console.log(error);
-         }
-       );
-
       } else {
         this.typePage = 'إضافه';
       }

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

@@ -24,28 +24,28 @@
     </div>
 
     <div class="row">
-        <div class="col-12 col-sm-12 col-md-12 col-lg-6">
-          <div class="form-group" style="float: right;">
-            <span class="spanSelect-w" style="margin-right:10px;">
-              <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 class="form-group">
-            <span class="spanSelect-w" style="float: right; margin: 0 20px;">
-              <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>
-                 النوع
-            </span>
-          </div>
+      <div class="col-12 col-sm-12 col-md-12 col-lg-6">
+        <div class="form-group" style="float: right;">
+          <span class="spanSelect-w" style="margin-right:10px;">
+            <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 class="form-group">
+          <span class="spanSelect-w" style="float: right; margin: 0 20px;">
+            <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>
+                النوع
+          </span>
+        </div>
+      </div>
     </div>
 
     <table class="table table-bordered" *ngIf="this.count != 0 " >
@@ -58,6 +58,7 @@
           </th>
           <th>نوع المركبه</th>
           <th>إسم الموديل</th>
+          <th>رقم اللوحه</th>
           <th>اللون</th>
           <th>الحاله</th>
           <th *ngIf="authSer.showEditBtn">تعديل</th>
@@ -74,6 +75,7 @@
           </td>
           <td>{{data.vehicle_type_name}}</td>
           <td>{{data.vehicle_model_name}}</td>
+          <td>{{data.plate_number}}</td>
           <td>{{data.color}}</td>
           <td>{{data.vehicle_status == 'new' ? 'جديد' : ' مستعمل'}}</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>

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

@@ -157,7 +157,7 @@ export class RegistrationVehicleListComponent implements OnInit {
       this.dataList = [];
       //console.log(pagenationNumber);
       //console.log(this.pageId);
-      this.dashBoardSer.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
+      this.dashBoardSer.searchFiltterPagenation(this.pageId, pagenationNumber, this.dataTableNumber, this.filtterStatus).subscribe(
         (responce) => {
           console.log(responce);
           this.dataList = responce['vehicle_datas'];
@@ -197,6 +197,7 @@ export class RegistrationVehicleListComponent implements OnInit {
     this.spinner.show();
     this.dataList = [];
     const typeId = event.target.value;
+    this.filtterStatus = event.target.value;
     console.log(typeId);
     this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId).subscribe(
       (responce) => {

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

@@ -46,7 +46,7 @@
           </div>
         </div>
 
-        <div class="row" *ngIf="showTableData">
+        <div class="row" *ngIf="showTableData" id="print-section">
           <div class="col-12">
             <table class="table table-bordered">
                 <thead class="headBackground-w">

+ 21 - 2
src/app/dashboard/reports-existing-vehicles/existing-report/existing-report.component.ts

@@ -114,9 +114,28 @@ export class ExistingReportComponent implements OnInit {
   }
 
   //print function
-  onPrint() {
-    window.print();
+  //onPrint() {
+    //window.print();
+    onPrint(): void {
+      let printContents, popupWin;
+      printContents = document.getElementById('print-section').innerHTML;
+      popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
+      popupWin.document.open();
+      popupWin.document.write(`
+        <html>
+          <head>
+            <title>تقرير المركبات الموجوده</title>
+            <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> </link>
+            <style>
+            //........Customized style.......
+            </style>
+          </head>
+      <body onload="window.print();window.close()">${printContents}</body>
+        </html>`
+      );
+      popupWin.document.close();
   }
+  //}
 
 
 }

+ 0 - 4
src/app/dashboard/section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component.css

@@ -80,7 +80,6 @@ select.ng-invalid{
     border-radius: 0 0 20px 20px;
     position: absolute;
     right: 40%;
-    border: 1px solid #ccc;
     border-radius: 50%;
     bottom: 0;
 }
@@ -107,7 +106,6 @@ select.ng-invalid{
 
 .inputfile:focus + label,
 .inputfile + label:hover {
-    background-color: #00a99d;
     color: #fff;
 }
 
@@ -228,8 +226,6 @@ select.ng-invalid{
     font-size: 1.25em;
     font-weight: 700;
     display: inline-block;
-    background-color: #fff;
-    border: 1px solid #ccc;
     padding: 0 10px;
     position: absolute;
     right: 75px;

+ 2 - 2
src/app/dashboard/section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component.html

@@ -109,7 +109,7 @@
                 <div class="wrapper">
                   
                   <div class="col-12">
-                    <h2>حاله الطلب : {{statusName == 'pending' ? 'تحت الإجراء' 
+                    <h2 style="font-size:19px;">حاله الطلب : {{statusName == 'pending' ? 'تحت الإجراء' 
                         : statusName == 'accepted' ? 'مقبول' 
                         : statusName == 'replayed_opinion' ? 'رأي القسم'
                         : statusName == 'refused' ? 'مرفوض' 
@@ -256,7 +256,7 @@
                         <td style="position: relative;">
                           <input type="file" name="file{{i}}" id="file{{i}}" class="inputfile" alife-file-to-base64 (onFileChanged)="onFileChanges($event,i)" [disabled]="disabledInput"/>
                           <label for="file{{i}}" class="iconUpload-w"><i class="fas fa-upload"></i></label>
-                          <span class="fileName-w">{{file.nameFile}}</span>
+                          <span class="fileName-w" *ngIf="file.nameFile" style="color:green">File Chossen</span>
                         </td>
                         <td><a href="{{authSer.pathImg + file.nameFile}}" target="_blank"><i class="fas fa-download"></i></a></td>
                         <td><button type="button" class="btn btn-danger form-control deleteRow-w" (click)="onDeleteRow(i)" [disabled]="disabledInput">حذف</button></td>

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

@@ -72,7 +72,7 @@
                   <td>{{data.trainee_name}}</td>
                   <td> {{data.specialization_name}}</td>
                   <td>{{data.specific_specialization}}</td>
-                  <td>{{data.status == 'accepted' ? 'مقبول' : data.status == 'refused' ? 'مرفوض' : 'لايوجد'}}</td>
+                  <td>{{data.trainee_status == 'in_training' ? 'تحت التدريب' : 'لا يوجد'}}</td>
                   <td>{{data.university}}</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>

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

@@ -93,7 +93,7 @@
     <hr class="hr" *ngIf='typeMode'>
 
     <div class="row" *ngIf='typeMode'>
-      <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-6" style="margin: 10px 0;">
         <div class="form-group">
           <span class="spanSelect-w">
             <select [ngModel]="dataTableNumber" class="form-control selectButton-w" (input)="onGetValue($event)">

+ 15 - 14
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component.ts

@@ -95,6 +95,21 @@ export class VehicleMaintenanceAddComponent implements OnInit {
             this.getLicenseNum(this.formData.vehicle_type_id);
             this.formData.vehicle_id = responce['maintenance'].vehicle_id;
             this.vehicleNumber = responce['maintenance'].plate_number;
+            //get table data
+            this.dashBoardSer.getDataUSerSearchBar(this.vehicleNumber,
+              46,
+             this.currentPage,
+             this.dataTableNumber).subscribe(
+             (responce) => {
+               console.log('search table edit ', responce);
+               this.vehicleDataTable = responce['vehicle_maintenances'];
+               this.count = responce['count'];
+               this.perPagePagenation = responce['per_page'];
+             },
+             (error) => {
+               console.log(error);
+             }
+           );
             this.startDate = responce['maintenance'].start_date;
             this.endDate = responce['maintenance'].delivery_date;
             this.checkEdit = true;
@@ -117,19 +132,6 @@ export class VehicleMaintenanceAddComponent implements OnInit {
           }
          );
         
-        this.dashBoardSer.getDataUSerSearchBar(this.vehicleNumber,
-           46,
-          this.currentPage,
-          this.dataTableNumber).subscribe(
-          (responce) => {
-            console.log('search table edit ', responce);
-            this.vehicleDataTable = responce['vehicle_maintenances'];
-          },
-          (error) => {
-            console.log(error);
-          }
-        );
-
       } else {
         this.typePage = 'إضافه';
       }
@@ -291,7 +293,6 @@ export class VehicleMaintenanceAddComponent implements OnInit {
           }
         );
       }
-
     }
 
   }

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

@@ -23,20 +23,29 @@
       </div>
     </div>
 
-    <div class="row"  *ngIf="this.count != 0">
-        <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 class="row" *ngIf="this.count != 0">
+      <div class="col-12 col-sm-12 col-md-12">
+        <div class="form-group" style="float: right;">
+          <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 class="form-group" style="float: right; margin: 0 20px;">
+          <span class="spanSelect-w" >
+            <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>
+              النوع
+          </span>
+        </div>
+      </div>
     </div>
 
     <table class="table table-bordered" *ngIf="this.count != 0" >

+ 36 - 2
src/app/dashboard/vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component.ts

@@ -29,13 +29,14 @@ export class VehicleMaintenanceListComponent implements OnInit {
     pageId: number;
     dataList = [];
     dataListIds = [];
+    vehicle_types:any[] = [];
 
     count: number;
     perPagePagenation: number;
     currentPage:number = 1;
     dataTableNumber: number = 5;
 
-    filtterStatus = '';
+    filtterStatus = 'all';
     selectedAll: any;
     userLoginId:number;
     serviceId:number;
@@ -59,6 +60,7 @@ export class VehicleMaintenanceListComponent implements OnInit {
     this.authSer.showHeaderDashBoard = true;
     this.authSer.showDashboardHeader = true;
     this.authSer.internalHeader = false;
+
     //init the values of permision boolean
     this.route.params.subscribe(
       (params: Params) => {
@@ -119,6 +121,17 @@ export class VehicleMaintenanceListComponent implements OnInit {
       }
     );
 
+    this.http.get(this.authSer.pathApi + '/get_vehicle_types_list').subscribe(
+      (response) => {
+        console.log(response);
+        this.vehicle_types = response['types'];
+        
+      },
+      (error) => {
+        console.log(error);
+      }
+     );
+
   }
 
   //make all checkbox of user checked
@@ -164,7 +177,7 @@ onPageChange(pagenationNumber) {
   this.dataList = [];
   //console.log(pagenationNumber);
   //console.log(this.pageId);
-  this.dashBoardSer.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
+  this.dashBoardSer.searchFiltterPagenation(this.pageId, pagenationNumber, this.dataTableNumber, this.filtterStatus).subscribe(
   (responce) => {
     console.log('search result ', responce);
     this.dataList = responce['vehicle_maintenances'];
@@ -200,6 +213,27 @@ onPageChange(pagenationNumber) {
     );
   };
 
+  onGetValueFiltter(event) {
+    this.spinner.show();
+    this.dataList = [];
+    const typeId = event.target.value;
+    this.filtterStatus = event.target.value;
+    console.log(this.filtterStatus);
+    this.http.get(this.authSer.pathApi +'/page_list/' + this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + typeId).subscribe(
+      (responce) => {
+        console.log(responce);
+        this.dataList = responce['vehicle_maintenances'];
+        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 = [];

+ 10 - 7
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.html

@@ -22,7 +22,7 @@
             </div>
           </div>
   
-          <div class="row" *ngIf="showTableData" style="margin-top: 50px">
+          <div class="row" *ngIf="showTableData" id="print-section" style="margin-top: 50px">
             <div class="col-12">
               <div class="row" style="margin: 20px" >
                   <div class="col-4 pull-right">
@@ -52,7 +52,9 @@
                       <span class="result">{{ vehicleData[0].color }}</span>
                   </div>
                 </div>
-                <table class="table table-bordered" style="margin-top: 20px">
+                <hr>
+                <h2 style="float:right; font-size: 18px; margin: 20px 10px;">تقرير الحركات</h2>
+                <table class="table table-bordered" style="margin: 20px 0;">
                   <thead class="headBackground-w">
                     <tr>
                       <th>اسم الموظف</th>
@@ -63,16 +65,17 @@
                     </tr>
                   </thead>
                   <tbody>
-                    <tr *ngFor="let move of movements">
+                    <tr *ngFor="let move of vehicleData[0].movements; let i = index">
                       <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>
-                     
+                      <td>{{ move.movement_notes }}</td>
                   </tr>
                 </tbody>
               </table> 
+
+              <h2 style="float:right; font-size: 18px; margin: 20px 10px;">تقرير الصيانه</h2>
               <table class="table table-bordered" *ngIf='showTableData2'>
                   <thead class="headBackground-w">
                     <tr>
@@ -83,11 +86,11 @@
                     </tr>
                   </thead>
                   <tbody>
-                    <tr *ngFor="let mainten of maintenances">
+                    <tr *ngFor="let mainten of vehicleData[0].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>     
+                      <td>{{mainten.is_maintained == '0' ? 'تم الصيانة' : mainten.is_maintained == '1' ? 'لم تنتهي' : 'not fouind'  }}</td>     
                   </tr>
                 </tbody>
               </table>

+ 28 - 9
src/app/dashboard/vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component.ts

@@ -51,8 +51,8 @@ export class VehicleMovementReportComponent implements OnInit {
           localStorage.setItem('pageIdActive', '49');
           this.searchData = '';
           this.vehicleData = [];
-          this.movements = [];
-          this.maintenances= [];
+          //this.movements = [];
+          //this.maintenances= [];
           this.showTableData = false;
           this.showTableData2 = false;
         } else if(params['typeReport'] == 'General') {
@@ -60,7 +60,7 @@ export class VehicleMovementReportComponent implements OnInit {
           localStorage.setItem('pageIdActive', '50');
           this.searchData = '';
           this.vehicleData = [];
-          this.movements = [];
+          //this.movements = [];
           this.showTableData = false;
           this.showTableData2 = false;
         }
@@ -69,13 +69,12 @@ export class VehicleMovementReportComponent implements OnInit {
   }
 
   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('لا يوجد بيانات لهذا المركبه');
@@ -98,8 +97,12 @@ export class VehicleMovementReportComponent implements OnInit {
         (responce) => {
           console.log(responce);
           this.vehicleData.push(responce['vehicle']);
-          this.movements = responce['vehicle'].movements;
-          this.maintenances = responce['vehicle'].maintenances;
+          // if(responce['vehicle'] != null) {
+          //   this.movements.push(responce['vehicle'].movements);
+          //   this.maintenances.push(responce['vehicle'].maintenances);
+          // } else {
+          //   this.toastr.warning('لا يوجد بيانات لهذه المركبه ');
+          // }
           console.log(this.vehicleData);
           if(this.vehicleData[0] == null) {
             this.toastr.warning('لا يوجد بيانات لهذا المركبه');
@@ -122,8 +125,24 @@ export class VehicleMovementReportComponent implements OnInit {
   };
 
   //print function
-  onPrint() {
-    window.print();
+    onPrint(): void {
+      let printContents, popupWin;
+      printContents = document.getElementById('print-section').innerHTML;
+      popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
+      popupWin.document.open();
+      popupWin.document.write(`
+        <html>
+          <head>
+            <title>تقرير المركبات الموجوده</title>
+            <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> </link>
+            <style>
+            //........Customized style.......
+            </style>
+          </head>
+      <body onload="window.print();window.close()">${printContents}</body>
+        </html>`
+      );
+      popupWin.document.close();
   }
 
 }

+ 0 - 1
src/app/shared/auth-service.service.ts

@@ -52,7 +52,6 @@ export class AuthServiceService {
 
   pathApi: string = 'http://kfmc.info/back_end/api';
   pathImg: string = "http://kfmc.info/back_end/public/";
-
   myInnerHeight = window.innerHeight;
   imgSrc: string =  '../../assets/image/avatar.png'; //page profile default
   iconImg: string = '../../assets/image/Group 92.png';

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

@@ -35,6 +35,12 @@ export class DashboardService {
       }
     }
 
+    //if the page has filtter 
+    searchFiltterPagenation(pageId: number, currentPage: number, dataTableNumber: number, typeFiltter: string){
+      console.log(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/' + typeFiltter)
+      return this.http.get(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/' + typeFiltter);
+    }
+
     //addEvent
     addItem(data, addType) {
       if(addType == 'advertisiment'){

+ 1 - 1
src/styles.css

@@ -1741,4 +1741,4 @@ height: 7px !important;
 
 
 
- 
+