Hima 5 years ago
parent
commit
e6175d7634
17 changed files with 353 additions and 241 deletions
  1. 17 10
      src/app/External-Page/external-page-header/external-page-header.component.css
  2. 10 3
      src/app/External-Page/external-page-header/external-page-header.component.html
  3. 2 0
      src/app/External-Page/external-page-header/external-page-header.component.ts
  4. 1 0
      src/app/auth-services/login/login.component.ts
  5. 23 11
      src/app/dashboard/create-report/add-new-report/add-new-report.component.html
  6. 12 3
      src/app/dashboard/create-report/add-new-report/add-new-report.component.ts
  7. 36 34
      src/app/dashboard/follow-communications-adminstrations/follow-communications-adminstration-edit/follow-communications-adminstration-edit.component.html
  8. 41 9
      src/app/dashboard/follow-communications-adminstrations/follow-communications-adminstration-edit/follow-communications-adminstration-edit.component.ts
  9. 26 26
      src/app/dashboard/follow-communications-sections/follow-communication-sections-details/follow-communication-sections-details.component.html
  10. 5 1
      src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.css
  11. 38 26
      src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.html
  12. 10 2
      src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.ts
  13. 57 58
      src/app/dashboard/maintenance-communications/maintenance-communication-edit/maintenance-communication-edit.component.html
  14. 59 52
      src/app/dashboard/maintenance-communications/maintenance-communication-edit/maintenance-communication-edit.component.ts
  15. 6 4
      src/app/dashboard/maintenance-communications/maintenance-communications-list/maintenance-communications-list.component.html
  16. 9 1
      src/app/dashboard/maintenance-communications/maintenance-communications-list/maintenance-communications-list.component.ts
  17. 1 1
      src/app/shared/dashboard.service.ts

+ 17 - 10
src/app/External-Page/external-page-header/external-page-header.component.css

@@ -2,7 +2,7 @@ input,button {
     outline: none;
 }
 .dropdown-menu {
-    top: -11px !important;
+    top: 49px !important;
     right: -37px !important;
     border-radius: 2px !important;
     width: 245px;
@@ -11,11 +11,21 @@ input,button {
     border: 1px solid #cec8c8;
 }
 
+.dropdown-menu ul li {
+    text-align: right;
+    transition: all 0.5s;
+}
+
+.dropdown-menu ul li:hover {
+    background-color: #f5f5f5;
+}
+
+
 .pagesHeader-w .dropdown-menu {
     top: 30px;
     right: 0 !important;
     border-radius: 2px !important;
-    background-color: #ffffffe0;
+    background: #fff;
     box-shadow: 0px 3px 9px #00000030;
     border: 1px solid #cec8c8;
 }
@@ -29,18 +39,14 @@ input,button {
 }
 .dropdown-item{
 	border: 0px solid #00000008 !important;
-    width: 75px !important;
     padding: 4px 0px !important;
-    text-align: center !important;
     font-weight: bold !important;
-    clear: none !important;
-    float: right;
+    /* clear: none !important;
+    float: right; */
     margin: 3px 3px;
+    display: block;
 }
-/*.dropdown-item span{
-	color: #a08b70 !important;
-    font-size: 12px !important;
-}*/
+
 .dropdown-item i{
     color: #04756d !important;
     font-size: 18px !important;
@@ -682,6 +688,7 @@ input,button {
         left: 0;
         z-index: 99999999999999999;
         background-color: #aee5e1;
+        display: inline-block;
     }
 
     .menuHeader-w li {

+ 10 - 3
src/app/External-Page/external-page-header/external-page-header.component.html

@@ -90,7 +90,6 @@
                 <div class="navbar" style="padding:0">
                     <nav class="navbar navbar-expand-lg navbar-light bg-light">
                         
-                        <!-- <a class="navbar-brand" href="#">Navbar</a> -->
                         <button class="navbar-toggler buttonMobileHeader-w" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                             <span class="navbar-toggler-icon"></span>
                         </button>
@@ -108,7 +107,11 @@
                                         {{menu.name}} <img src="{{authSer.pathImg + menu.photo}}" />
                                     </a>
                                     <div class="dropdown-menu" aria-labelledby="navbarDropdown" *ngIf="menu['childs'].length > 0">
-                                        <a class="dropdown-item" href="{{child.link}}" *ngFor="let child of menu['childs']">{{child.name}}</a>
+                                        <ul class="list-unstyled">
+                                            <li *ngFor="let child of menu['childs']">
+                                                <a class="dropdown-item" href="{{child.link}}">{{child.name}}</a>
+                                            </li>
+                                        </ul>
                                     </div>
                                 </li>
                             </ul>
@@ -231,7 +234,11 @@
                                         {{menu.name_en}} <img src="{{authSer.pathImg + menu.photo}}" /> 
                                     </a>
                                     <div class="dropdown-menu" aria-labelledby="navbarDropdown" *ngIf="menu['childs'].length > 0">
-                                        <a class="dropdown-item" href="{{child.link}}" *ngFor="let child of menu['childs']">{{child.name_en}}</a>
+                                        <ul class="list-unstyled">
+                                            <li *ngFor="let child of menu['childs']">
+                                                <a class="dropdown-item" href="{{child.link}}">{{child.name_en}}</a>
+                                            </li>
+                                        </ul>
                                     </div>
                                 </li>
                             </ul>

+ 2 - 0
src/app/External-Page/external-page-header/external-page-header.component.ts

@@ -15,6 +15,7 @@ export class ExternalPageHeaderComponent implements OnInit {
     private router: Router) { }
     
     currentDate: any = Date.now();//ararbic date 
+   
     currentEnglishDate: any = Date.now(); //english date
 
 
@@ -26,6 +27,7 @@ export class ExternalPageHeaderComponent implements OnInit {
     this.authSer.arabicTemplate = true;
     this.authSer.showDashboardHeader = false;
     this.authSer.setLocalLang(); //set languages icons
+    
     this.currentDate = this.authSer.writeHijri(new Date(this.currentDate), 'ar', 'header');
     
     if(!this.authSer.isAuthenticated()) {

+ 1 - 0
src/app/auth-services/login/login.component.ts

@@ -76,6 +76,7 @@ export class LoginComponent implements OnInit {
       },
       (error) => {
         console.log(error);
+        this.saveDisabled = false;
         this.toastr.error( 'حدث خطأ' ,' تأكد من رقم الهويه او كلمه المرور ');
       }
     );

+ 23 - 11
src/app/dashboard/create-report/add-new-report/add-new-report.component.html

@@ -86,21 +86,33 @@
                         <input type="number" placeholNeedder=" الهاتف" class="form-control" name="phoneNum" [ngModel]="dataForm.phoneNum" [disabled]="true" 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" >التاريخ</label>
-                          <div>
-                            <app-higri-date  class="disabledDiv" [myDate]="bindingDateSplitStart" [higriDisabled]="disabledVal"></app-higri-date>
-                          </div>
+                  <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                    <div class="form-group">
+                      <label for="startDate" style="float:right" >التاريخ</label>
+                      <div>
+                        <app-higri-date  class="disabledDiv" [myDate]="bindingDateSplitStart" [higriDisabled]="disabledVal"></app-higri-date>
                       </div>
                     </div>
-                    <div class="col-12 col-sm-12 col-md-4 col-lg-4">
-                        <div class="form-group">
-                          <label for="created_time"  style="float: right;margin-right: 5px">الوقت</label>
-                          <input type="text" placeholder="الوقت" class="form-control" name="created_time" [ngModel]="dataForm.created_time" [disabled]="true" />
-                        </div>
+                  </div>
+                  <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                    <div class="form-group">
+                      <label for="created_time"  style="float: right;margin-right: 5px">الوقت</label>
+                      <input type="text" placeholder="الوقت" class="form-control" name="created_time" [ngModel]="dataForm.created_time" [disabled]="true" />
                     </div>
                   </div>
+                  <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                    <div class="form-group">
+                      <label for="adminstartions"  style="float: right;margin-right: 5px">الإداره</label>
+                      <input type="text" placeholder="الإداره" class="form-control" name="adminstartions" [ngModel]="dataForm.adminstartion_name" [disabled]="true" />
+                    </div>
+                  </div>
+                  <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                    <div class="form-group">
+                      <label for="switch_phone"  style="float: right;margin-right: 5px">رقم التحويله</label>
+                      <input type="text" placeholder="رقم التحويله" class="form-control" name="switch_phone" [ngModel]="dataForm.switch_phone" [disabled]="true" />
+                    </div>
+                  </div>
+                </div>
               </div>
             </div>
           </div>

+ 12 - 3
src/app/dashboard/create-report/add-new-report/add-new-report.component.ts

@@ -66,6 +66,8 @@ export class AddNewReportComponent implements OnInit {
       created_time : "",
       subject : '',
       message : '',
+      adminstartion_name: '',
+      switch_phone: '',
       main_location_id : '',
       sub_location_id : '',
       files: []
@@ -76,8 +78,8 @@ export class AddNewReportComponent implements OnInit {
   departmentUserLoginId: number;
 
        //higri date array
-  month = ['محرم', 'صفر', 'ربيع الأول', 'ربيع الآخر', 'جمادى الأولى', 'جمادى الآخرة', 'رجب', 'Shaʻban', 'Ramadan', 'شوال',
-  'ذو القعدة', 'ذو الحجة'];
+  month = ['Muharram', 'Safar', "Rabi'ul Awwal", "Rabi'ul Akhir" , 'Jumadal Ula', 'Jumadal Akhira', 'Rajab', 'Shaʻban', 'Ramadan', 'Shawwal',
+  'Dhuʻl-Qiʻdah', 'Dhul Hijja'];
 
 
 
@@ -162,6 +164,8 @@ export class AddNewReportComponent implements OnInit {
        this.dataForm.phoneNum = responce['user'].phone;
        this.departmentUserLoginId = responce['user'].adminstration_id;
        this.dataForm.user_id = responce['user'].id;
+       this.dataForm.adminstartion_name = responce['adminstraion'].name;
+       this.dataForm.switch_phone = responce['adminstraion'].switch_phone;
        console.log('dsf',responce)
       },
       (error) => {console.log(error)},
@@ -247,6 +251,9 @@ export class AddNewReportComponent implements OnInit {
   }
   
   onSubmitted(){
+    
+    this.checkSaveClick = true;
+
     for (let i = 0; i < this.files.length; i++) {
       if(this.files[i].file_type){
         this.files[i].file_type = this.files[i].file_type.toLowerCase();
@@ -280,11 +287,13 @@ export class AddNewReportComponent implements OnInit {
          res => {
            console.log(res);
            this.checked = false;
+           this.checkSaveClick = false;
            this.toastr.success('تم حفظ البلاغ ');
            this.router.navigate(['/service/' + this.userId + '/' +  this.serviceId + '/followCommunicationList/58']);
           },
           err => {
-           console.log(err)
+           console.log(err);
+           this.checkSaveClick = false;
            this.toastr.error('حدث خطأ في الاتصال ');
           }
        );

+ 36 - 34
src/app/dashboard/follow-communications-adminstrations/follow-communications-adminstration-edit/follow-communications-adminstration-edit.component.html

@@ -8,8 +8,9 @@
     <div class="row">
       <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">خدمه البلاغات</li>
+          <li class="headingText-w" style="cursor:pointer" (click)="authSer.perviousLocation()">متابعه البلاغات الوارده للإداره</li>
+          <li class="headingText-w"> عرض التفاصيل</li>
         </ul>
       </div>
     </div>
@@ -22,12 +23,7 @@
               <div class="row">
                 <div class="wrapper">
                   
-                  <div class="col-12 col-md-4">
-                    <div class="form-group">
-                      <label for="name" style="float:right">رقم البلاغ</label>
-                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
-                    </div>
-                  </div>
+                  
 
                   <div class="col-12 col-md-4">
                     <div class="form-group">
@@ -46,14 +42,30 @@
 
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
-                    <label style="float:right">رقم الجوال <span class="spanReqired-w">*</span></label>
+                    <label style="float:right">رقم الجوال </label>
                     <input type="phone" placeholder="رقم الجوال" class="form-control" ngModel name="phone" [(ngModel)]="userData.comm_creator_phone" [disabled]="disabledInput" />
                     </div>
                   </div>
       
+                </div>
+              </div>
+            </div>
+
+           <div class="col-12">
+              <h2 class="title">بيانات البلاغ</h2>
+              <div class="row">
+                <div class="wrapper">
+                  
+                  <div class="col-12 col-md-4">
+                    <div class="form-group">
+                      <label for="name" style="float:right">رقم البلاغ</label>
+                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
+                    </div>
+                  </div>
+
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
-                      <label for="endDate" style="float:right" >التاريخ<span class="spanReqired-w">*</span></label>
+                      <label for="endDate" style="float:right" >التاريخ</label>
                       <div *ngIf='bindingDateSplitEnd'>
                         <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd" [higriDisabled]="disabledVal"> </app-end-higri-date>
                       </div>
@@ -62,36 +74,19 @@
 
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
-                      <label for="time" style="float:right"> الوقت<span class="spanReqired-w">*</span></label>
+                      <label for="time" style="float:right"> الوقت</label>
                       <input type="time" id="time" placeholder="الوقت" class="form-control" ngModel name="time" [(ngModel)]="maintData.created_time" [disabled]="disabledInput" /> 
                     </div>
                   </div>
 
-                 
-
-                </div>
-              </div>
-            </div>
-
-           <div class="col-12">
-              <h2 class="title">بيانات البلاغ</h2>
-              <div class="row">
-                <div class="wrapper">
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
-                      <label for="subject"  style="float: right; margin-right:5px;margin-top:10px">موضوع البلاغ</label>
+                      <label for="subject"  style="float: right; margin-right:5px;">موضوع البلاغ</label>
                       <input type="text" id="subject" class="form-control" placeholder="موضوع البلاغ" name="subject" ngModel [(ngModel)]="maintData.subject" [disabled]="disabledInput" />
                     </div>
                   </div>
 
-                  <div class="col-12 col-sm-12 col-md-6 col-lg-4">
-                    <div class="form-group">
-                      <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
-                      <input type="text" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" />
-                    </div>
-                  </div>
-
-                  <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
+                  <div class="col-12 col-sm-12 col-md-4 col-lg-4">
                       <div class="form-group">
                         <label for="reportTopic" style="float: right;margin-right: 5px">  الموقع الرئيسي </label>
                         <select name="main_location_id" class="form-control" [ngModel]="mainLocationVal" (change)="onChangemainLocation($event)" [disabled]="disabledInput" >
@@ -109,6 +104,13 @@
                       </div>
                    </div>
 
+                   <div class="col-12 col-sm-12 col-md-12 col-lg-12">
+                    <div class="form-group">
+                      <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
+                      <textarea cols="3"  id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" style="height:100px;"></textarea>
+                    </div>
+                  </div>
+
                    <div class="col-12">
                       <h2 class="title">المرفقات</h2>
                       <div class="row">
@@ -138,8 +140,8 @@
                   </div>
                 </div>
               </div>
-
-          <div class="col-12">
+ 
+          <div class="col-12" *ngIf="formData.status">
               <h2 class="title">عمليات البلاغ</h2>
               <div class="row">
                 <div class="wrapper">
@@ -237,7 +239,7 @@
                             selectAdmin.adminstration_status == 'new' ? 'جديد' 
                             : selectAdmin.adminstration_status == 'closed' ? 'مغلق' 
                             : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف' 
-                            : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
+                            : selectAdmin.adminstration_status == 'adminstration_redirection' ? 'العائد للإدارات' : 'لايوجد'}}
                         </td>
                         <th style="text-align:center">
                           <div class="dropdown">
@@ -335,7 +337,7 @@
                             selectAdmin.adminstration_status == 'new' ? 'جديد' 
                             : selectAdmin.adminstration_status == 'closed' ? 'مغلق' 
                             : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف' 
-                            : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
+                            : selectAdmin.adminstration_status == 'adminstration_redirection' ? 'العائد للإدارات' : '-'}}
                         </td>
                         <td style="font-size: 12px;">{{selectAdmin.countdown}}</td>
                         <td><button type="button" class="btn btn-danger" (click)="removeSelectedAdminsration(selectAdmin)">حذف</button></td>

+ 41 - 9
src/app/dashboard/follow-communications-adminstrations/follow-communications-adminstration-edit/follow-communications-adminstration-edit.component.ts

@@ -33,6 +33,7 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
   departmentsIds: any = [];
   departments: any = [];
   selectedDepartments: any = [];
+  saveCheckDisabled: boolean = false;
 
 
   //reopen object 
@@ -161,7 +162,17 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
         } else {
           this.checkStatusClosed = false;
         }
+
         console.log('main data ', this.maintData);
+        if(this.maintData.adminstrations.length > 0) {
+          for(let i = 0; i < this.maintData.adminstrations.length; i++) {
+            for(let k = 0; k < this.maintData['adminstrations'][i].departments.length; k++){
+              this.maintData['adminstrations'][i].departments[k].id = this.maintData['adminstrations'][i].departments[k].department_id;
+            }
+          }
+        }
+        console.log('maindata afteeeeeeeeeeeeeer', this.maintData);
+
         this.communicationData.maintenance_notes = this.maintData.maintenance_notes;
         this.formData.status = this.maintData.status == 'closed' ? this.maintData.status : false;
         this.communicationData.time_period_id = this.maintData.time_period_id;
@@ -184,8 +195,26 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
         }
 
         this.userData = responce['communication']['user'];
-        
-        console.log('gggg', this.maintData);
+
+        this.selectedDepartments = [];
+        if(this.maintData.adminstrations.length > 0) {
+          for(let i = 0; i < this.maintData.adminstrations.length; i++) {
+            for(let k = 0; k < this.maintData['adminstrations'][i].departments.length; k++){
+              this.selectedDepartments.push(this.maintData['adminstrations'][i].departments[k]);
+            }
+          }
+        }
+
+        console.log('selected departmen ', this.selectedDepartments);
+
+        for(let j = 0; j < this.departments.length; j++) {
+          for(let i = 0; i < this.selectedDepartments.length; i++){
+            if(this.departments[j].id == this.selectedDepartments[i].department_id) {
+              this.departments[j].selected = true;
+            }
+          }
+        }
+
         if(this.maintData['files'].length > 0) {
           this.showAttachements = true;
         } else {
@@ -263,9 +292,7 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
     console.log('urrrl', this.authSer.pathApi + '/page_list/4/1/1000/' + this.userAdminstrationId);
      this.http.get(this.authSer.pathApi + '/page_list/4/1/1000/' + this.userAdminstrationId  + searchKey).subscribe(
       (responce) => {
-        console.log('sections', responce);
         this.departments = responce['departments'];
-        console.log('sections', responce);
       },
       (error) => {
         console.log(error);
@@ -371,12 +398,12 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
   }
 
   //return substring of subject and check negaive and positive time 
-    returnEditData() {
-      for(let i = 0; i < this.maintData['adminstrations'].length; i++) {
-          this.maintData['adminstrations'][i].countdown = this.maintData['adminstrations'][i].countdown ? this.dashBoardSer.secondsToDhms(this.maintData['adminstrations'][i].countdown) : '-';
-          console.log(this.maintData['adminstrations'][i].countdown);
-      }
+  returnEditData() {
+    for(let i = 0; i < this.maintData['adminstrations'].length; i++) {
+        this.maintData['adminstrations'][i].countdown = this.maintData['adminstrations'][i].countdown ? this.dashBoardSer.secondsToDhms(this.maintData['adminstrations'][i].countdown) : '-';
+        console.log(this.maintData['adminstrations'][i].countdown);
     }
+  }
 
     //on print
     onPrint() {
@@ -388,6 +415,7 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
     
     //this.checkSaveClick = true; //make save btn disabled till request is success 
 
+    this.checkSaveClick = true;
 
     if(this.formData.status) {
       this.formData.status = 'closed';
@@ -408,19 +436,23 @@ export class FollowCommunicationsAdminstrationEditComponent implements OnInit {
 
    if(this.formData.status == 'closed' && this.formData.closed_status_reason == '') {
      this.toastr.warning('أدخل سبب الرفض !');
+     this.checkSaveClick = false;
    } else {
       this.http.post(this.authSer.pathApi + '/adminstration_handle_communication', this.formData).subscribe(
       (responce) => {
         console.log(responce['status']);
         if(responce['status'] == 'some adminstrations didnt closed yet') {
           this.toastr.warning('بعض الأقسام لم تقم بإغلاق البلاغ بعد !');
+          this.checkSaveClick = false;
         } else {
           this.toastr.success('تم الحفظ بنجاح');
           this.location.back();
+          this.checkSaveClick = false;
         }
       },
       (error) => {
         console.log(error);
+        this.checkSaveClick = false;
         this.toastr.error('خطأ في الحفظ حاول لاحقاً');
       }
     );

+ 26 - 26
src/app/dashboard/follow-communications-sections/follow-communication-sections-details/follow-communication-sections-details.component.html

@@ -8,6 +8,7 @@
       <div class="col-12">
         <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>
         </ul>
       </div>
@@ -24,13 +25,6 @@
                   
                   <div class="col-12 col-md-4">
                     <div class="form-group">
-                      <label for="name" style="float:right">رقم البلاغ</label>
-                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
-                    </div>
-                  </div>
-
-                  <div class="col-12 col-md-4">
-                    <div class="form-group">
                       <label for="name" style="float:right">إسم المستخدم</label>
                       <input id="name" type="text" class="form-control" placeholder="الإسم" ngModel name="name"  [(ngModel)]="userData.comm_creator_name" [disabled]="disabledInput" />
                     </div>
@@ -50,7 +44,23 @@
                     <input type="phone" placeholder="رقم الجوال" class="form-control" ngModel name="phone" [(ngModel)]="userData.comm_creator_phone" [disabled]="disabledInput" />
                     </div>
                   </div>
-      
+
+                </div>
+              </div>
+            </div>
+
+           <div class="col-12">
+              <h2 class="title">بيانات البلاغ</h2>
+              <div class="row">
+                <div class="wrapper">
+                  
+                  <div class="col-12 col-md-4">
+                    <div class="form-group">
+                      <label for="name" style="float:right">رقم البلاغ</label>
+                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
+                    </div>
+                  </div>
+
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
                       <label for="endDate" style="float:right" >التاريخ<span class="spanReqired-w">*</span></label>
@@ -67,16 +77,6 @@
                     </div>
                   </div>
 
-                 
-
-                </div>
-              </div>
-            </div>
-
-           <div class="col-12">
-              <h2 class="title">بيانات البلاغ</h2>
-              <div class="row">
-                <div class="wrapper">
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
                       <label for="subject"  style="float: right; margin-right:5px;margin-top:10px">موضوع البلاغ</label>
@@ -84,13 +84,6 @@
                     </div>
                   </div>
 
-                  <div class="col-12 col-sm-12 col-md-6 col-lg-4">
-                    <div class="form-group">
-                      <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
-                      <input type="text" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" />
-                    </div>
-                  </div>
-
                   <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
                       <div class="form-group">
                         <label for="reportTopic" style="float: right;margin-right: 5px">  الموقع الرئيسي </label>
@@ -109,6 +102,13 @@
                       </div>
                    </div>
 
+                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
+                      <div class="form-group">
+                        <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
+                        <textarea cols="3" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" style="height:100px;" ></textarea>
+                      </div>
+                    </div>
+
                    <div class="col-12">
                       <h2 class="title">المرفقات</h2>
                       <div class="row">
@@ -239,7 +239,7 @@
                             selectAdmin.adminstration_status == 'new' ? 'جديد' 
                             : selectAdmin.adminstration_status == 'closed' ? 'مغلق' 
                             : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف' 
-                            : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
+                            : selectAdmin.adminstration_status == 'adminstration_redirection' ? 'العائد للإدارات' : 'لايوجد'}}
                         </td>
                         <th style="text-align:center">
                           <div class="dropdown">

+ 5 - 1
src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.css

@@ -282,7 +282,11 @@ select.ng-invalid{
 .table th {
     font-size: 15px;
 }
-    
+  
+
+.report_status {
+    font-weight: bold;
+}
 
 
 /* .centerIneerItem {

+ 38 - 26
src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.html

@@ -8,7 +8,8 @@
       <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" style="cursor:pointer" (click)="authSer.perviousLocation()">متابعه البلاغات الصادره</li>
+          <li class="headingText-w"> عرض التفاصيل</li>
         </ul>
       </div>
     </div>
@@ -20,13 +21,13 @@
               <h2 class="title">بيانات منشئ البلاغ</h2>
               <div class="row">
                 <div class="wrapper">
-                  
-                  <div class="col-12 col-md-4">
-                    <div class="form-group">
-                      <label for="name" style="float:right">رقم البلاغ</label>
-                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
-                    </div>
-                  </div>
+                  <p *ngIf="statsType">حاله البلاغ <span class="report_status">{{statsType == 'new' ? '(جديد)' 
+                      : statsType == 'closed' ? '(مغلق)' 
+                      : statsType == 'reopen' ? '(إستأنف)' 
+                      : statsType == 'adminstration_redirection'? '(العائد للإدارات)' : ''}}</span>
+                  </p>
+                 
+               
 
                   <div class="col-12 col-md-4">
                     <div class="form-group">
@@ -50,6 +51,23 @@
                     </div>
                   </div>
       
+                </div>
+              </div>
+            </div>
+
+           <div class="col-12">
+              <h2 class="title">بيانات البلاغ</h2>
+              <div class="row">
+                <div class="wrapper">
+                  
+                  <div class="col-12 col-md-4">
+                    <div class="form-group">
+                      <label for="name" style="float:right">رقم البلاغ</label>
+                      <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
+                    </div>
+                  </div>
+
+
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
                       <label for="endDate" style="float:right" >التاريخ<span class="spanReqired-w">*</span></label>
@@ -58,21 +76,15 @@
                       </div>
                     </div>
                   </div>
-
+  
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
                       <label for="time" style="float:right"> الوقت<span class="spanReqired-w">*</span></label>
                       <input type="time" id="time" placeholder="الوقت" class="form-control" ngModel name="time" [(ngModel)]="maintData.created_time" [disabled]="disabledInput" /> 
                     </div>
                   </div>
-                </div>
-              </div>
-            </div>
-
-           <div class="col-12">
-              <h2 class="title">بيانات البلاغ</h2>
-              <div class="row">
-                <div class="wrapper">
+                  
+                    
                   <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                     <div class="form-group">
                       <label for="subject"  style="float: right; margin-right:5px;margin-top:10px">موضوع البلاغ</label>
@@ -80,13 +92,6 @@
                     </div>
                   </div>
 
-                  <div class="col-12 col-sm-12 col-md-6 col-lg-4">
-                    <div class="form-group">
-                      <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
-                      <input type="text" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" />
-                    </div>
-                  </div>
-
                   <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
                       <div class="form-group">
                         <label for="reportTopic" style="float: right;margin-right: 5px">  الموقع الرئيسي </label>
@@ -96,7 +101,7 @@
                       </div>     
                    </div>
                    
-                   <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                   <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
                       <div class="form-group">
                         <label for="sub_location_id"  style="float: right;margin-right: 5px">  الموقع الفرعي </label>
                         <select name="sub_location_id" class="form-control" [ngModel]="subLocationVal" (change)="changeSubLocation($event)" [disabled]="disabledInput">
@@ -105,6 +110,13 @@
                       </div>
                    </div>
 
+                   <div class="col-12 col-sm-12 col-md-12 col-lg-12">
+                      <div class="form-group">
+                        <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
+                        <textarea cols="3" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" style="height:100px"></textarea>
+                      </div>
+                    </div>
+
                    <div class="col-12">
                       <h2 class="title">المرفقات</h2>
                       <div class="row">
@@ -135,7 +147,7 @@
                 </div>
               </div>
 
-          <div class="col-12">
+          <div class="col-12" *ngIf="communicationData.status">
               <h2 class="title">عمليات البلاغ</h2>
               <div class="row">
                 <div class="wrapper">

+ 10 - 2
src/app/dashboard/follow-communications/follow-communications-add/follow-communications-add.component.ts

@@ -67,6 +67,8 @@ export class FollowCommunicationsAddComponent implements OnInit {
 
   counter$: Observable<number>;
   counter = 180;
+
+  statsType: string;
   
   constructor(private route: ActivatedRoute, 
     private dashBoardSer: DashboardService,
@@ -75,7 +77,9 @@ export class FollowCommunicationsAddComponent implements OnInit {
     private toastr: ToastrService,
     private location: Location,
     private spinner: NgxSpinnerService,
-    public authSer: AuthServiceService) { }
+    public authSer: AuthServiceService) {
+
+     }
 
   ngOnInit() {
 
@@ -161,6 +165,8 @@ export class FollowCommunicationsAddComponent implements OnInit {
       (responce) => {
         
         this.maintData = responce['communication'];
+        this.statsType = this.maintData.status;
+
         console.log('main data ', this.maintData);
         this.communicationData.maintenance_notes = this.maintData.maintenance_notes;
         this.communicationData.status = this.maintData.status == 'closed' ? this.maintData.status : false;
@@ -184,6 +190,7 @@ export class FollowCommunicationsAddComponent implements OnInit {
           this.checkStatusClosed = false;
         }
 
+        console.log('main data', this.maintData);
         this.selectedAdminstrations = [];
         if(this.maintData.adminstrations.length > 0) {
           for(let i = 0; i < this.maintData.adminstrations.length; i++) {
@@ -206,7 +213,6 @@ export class FollowCommunicationsAddComponent implements OnInit {
         }
 
         this.userData = responce['communication']['user'];
-        this.spinner.hide();
         console.log('gggg', this.maintData);
         if(this.maintData['files'].length > 0) {
           this.showAttachements = true;
@@ -214,6 +220,7 @@ export class FollowCommunicationsAddComponent implements OnInit {
           this.showAttachements = false;
         }
         console.log('user data ', this.userData);
+        this.spinner.hide();
       },
       (error) => {
         console.log(error);
@@ -271,6 +278,7 @@ export class FollowCommunicationsAddComponent implements OnInit {
 
   onChangemainLocation(event){
     const id = event.target.value
+    console.log(id);
     this.mainLocationVal = id;
      this.http.get(this.authSer.pathApi + '/childs_locations_list_by_parent_id/' + id).subscribe(  
        (response)  => {

+ 57 - 58
src/app/dashboard/maintenance-communications/maintenance-communication-edit/maintenance-communication-edit.component.html

@@ -1,7 +1,6 @@
 <div class="addHospital-w">
     <div class="container">
       
-      <!-- <h3 style="font-size: 18px; color: red">سيتم تحديث الصفحه بعد  <countdown #countdown [config]="{leftTime: 180}">$!m!:$!s!</countdown></h3> -->
       <h3 style="font-size: 18px; color: red">سيتم تحديث الصفحه بعد  {{counter$ | async }} ثانيه</h3>
 
 
@@ -9,7 +8,8 @@
         <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" style="cursor:pointer" (click)="authSer.perviousLocation()"> متابعه البلاغات الوارده للصيانه</li>
+            <li class="headingText-w"> عرض التفاصيل</li>
           </ul>
         </div>
       </div>
@@ -22,12 +22,7 @@
                 <div class="row">
                   <div class="wrapper">
                     
-                    <div class="col-12 col-md-4">
-                      <div class="form-group">
-                        <label for="name" style="float:right">رقم البلاغ</label>
-                        <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
-                      </div>
-                    </div>
+                   
 
                     <div class="col-12 col-md-4">
                       <div class="form-group">
@@ -46,29 +41,10 @@
   
                     <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                       <div class="form-group">
-                      <label style="float:right">رقم الجوال <span class="spanReqired-w">*</span></label>
+                      <label style="float:right">رقم الجوال</label>
                       <input type="phone" placeholder="رقم الجوال" class="form-control" ngModel name="phone" [(ngModel)]="userData.comm_creator_phone" [disabled]="disabledInput" />
                       </div>
                     </div>
-        
-                    <div class="col-12 col-sm-12 col-md-6 col-lg-4">
-                      <div class="form-group">
-                        <label for="endDate" style="float:right" >التاريخ<span class="spanReqired-w">*</span></label>
-                        <div *ngIf='bindingDateSplitEnd'>
-                          <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd" [higriDisabled]="disabledVal"> </app-end-higri-date>
-                        </div>
-                      </div>
-                    </div>
-
-                    <div class="col-12 col-sm-12 col-md-6 col-lg-4">
-                      <div class="form-group">
-                        <label for="time" style="float:right"> الوقت<span class="spanReqired-w">*</span></label>
-                        <input type="time" id="time" placeholder="الوقت" class="form-control" ngModel name="time" [(ngModel)]="maintData.created_time" [disabled]="disabledInput" /> 
-                      </div>
-                    </div>
-  
-                   
-  
                   </div>
                 </div>
               </div>
@@ -77,30 +53,47 @@
                 <h2 class="title">بيانات البلاغ</h2>
                 <div class="row">
                   <div class="wrapper">
+                    
+                    <div class="col-12 col-md-4">
+                      <div class="form-group">
+                        <label for="name" style="float:right">رقم البلاغ</label>
+                        <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number"  [(ngModel)]="maintData.id" [disabled]="disabledInput" />
+                      </div>
+                    </div>
+
                     <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                       <div class="form-group">
-                        <label for="subject"  style="float: right; margin-right:5px;margin-top:10px">موضوع البلاغ</label>
+                        <label for="subject"  style="float: right; margin-right:5px">موضوع البلاغ</label>
                         <input type="text" id="subject" class="form-control" placeholder="موضوع البلاغ" name="subject" ngModel [(ngModel)]="maintData.subject" [disabled]="disabledInput" />
                       </div>
                     </div>
-
+                    
                     <div class="col-12 col-sm-12 col-md-6 col-lg-4">
                       <div class="form-group">
-                        <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
-                        <input type="text" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" />
+                        <label for="endDate" style="float:right" >التاريخ</label>
+                        <div *ngIf='bindingDateSplitEnd'>
+                          <app-end-higri-date  (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd" [higriDisabled]="disabledVal"> </app-end-higri-date>
+                        </div>
+                      </div>
+                    </div>
+
+                    <div class="col-12 col-sm-12 col-md-6 col-lg-4" style="margin-top: 10px;">
+                      <div class="form-group">
+                        <label for="time" style="float:right"> الوقت</label>
+                        <input type="time" id="time" placeholder="الوقت" class="form-control" ngModel name="time" [(ngModel)]="maintData.created_time" [disabled]="disabledInput" /> 
                       </div>
                     </div>
 
                     <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
-                        <div class="form-group">
-                          <label for="reportTopic" style="float: right;margin-right: 5px">  الموقع الرئيسي </label>
-                          <select name="main_location_id" class="form-control" [ngModel]="mainLocationVal" (change)="onChangemainLocation($event)" [disabled]="disabledInput" >
-                            <option *ngFor="let location of locationList" [value]="location.id" required> {{location.name}} </option>    
-                          </select>                  
-                        </div>     
-                     </div>
+                      <div class="form-group">
+                        <label for="reportTopic" style="float: right;margin-right: 5px">  الموقع الرئيسي </label>
+                        <select name="main_location_id" class="form-control" [ngModel]="mainLocationVal" (change)="onChangemainLocation($event)" [disabled]="disabledInput" >
+                          <option *ngFor="let location of locationList" [value]="location.id" required> {{location.name}} </option>    
+                        </select>                  
+                      </div>     
+                    </div>
                      
-                     <div class="col-12 col-sm-12 col-md-4 col-lg-4">
+                     <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
                         <div class="form-group">
                           <label for="sub_location_id"  style="float: right;margin-right: 5px">  الموقع الفرعي </label>
                           <select name="sub_location_id" class="form-control" [ngModel]="subLocationVal" (change)="changeSubLocation($event)" [disabled]="disabledInput">
@@ -108,6 +101,13 @@
                           </select>
                         </div>
                      </div>
+                     
+                    <div class="col-12 col-sm-12 col-md-12 col-lg-12">
+                      <div class="form-group">
+                        <label for="message"  style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
+                        <textarea id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" style="height:100px;"></textarea>
+                      </div>
+                    </div>
 
                      <div class="col-12">
                         <h2 class="title">المرفقات</h2>
@@ -139,7 +139,7 @@
                   </div>
                 </div>
 
-            <div class="col-12">
+            <div class="col-12" *ngIf="!communicationData.status">
                 <h2 class="title">عمليات البلاغ</h2>
                 <div class="row">
                   <div class="wrapper">
@@ -151,20 +151,11 @@
                         </select>
                       </div>
                     </div>
-                    <div class="col-12 col-sm-12 col-md-6 col-lg-4" *ngIf="checkStatusClosed">
-                      <div class="form-group">
-                        <label style="float:right" for="reopen_reason">سبب إعاده فتح البلاغ</label>
-                        <select class="form-control" id="reopen_reason" style="padding:0 5px" ngModel name="reopen_reason" (input)="getReopenReason($event)" [(ngModel)]="reOpenReasonObject.reopen_closed_communication">
-                          <option value="ظهور المشكلة مجددا">ظهور المشكلة مجددا</option>
-                          <option value="عدم حل المشكلة من البداية">عدم حل المشكلة من البداية</option>
-                          <option value="إغلاق البلاغ دون موافقتنا">إغلاق البلاغ دون موافقتنا</option>
-                        </select>
-                      </div>
-                    </div>
+    
                     <div class="col-12 col-md-4">
                       <div class="form-group">
                         <label style="float:right" for="child_category_id">التصنيف الفرعي</label>
-                        <select class="form-control" id="child_category_id" style="padding:0 5px" ngModel name="child_category_id" (input)="getChildGategories($event)" [(ngModel)]="communicationData.child_category_id">
+                        <select class="form-control" id="child_category_id" style="padding:0 5px" ngModel name="child_category_id" (input)="getChildGategoriesVal($event)" [(ngModel)]="communicationData.child_category_id">
                           <option *ngFor="let childCategorie of childsCategoriesList; let i = index" [value]="childCategorie.id">{{childCategorie.name}}</option>
                         </select>
                       </div>
@@ -185,11 +176,9 @@
                       </div>
                     </div>
 
-                 
-
                     <div class="col-12 col-md-4">
                       <div style="float:right">
-                        <input type="checkbox" class="form-check-input" name="urgent_communication" id="urgent_communication" [(ngModel)]="communicationData.urgent_communication" [value]="communicationData.urgent_communication">
+                        <input type="checkbox" class="form-check-input" name="urgent_communication" id="urgent_communication" [(ngModel)]="communicationData.urgent_communication">
                         <label class="form-check-label" for="urgent_communication" style="margin: 0 20px;">بلاغ عاجل</label>
                       </div>
                     </div>
@@ -256,8 +245,8 @@
                                 <tr *ngFor="let data of adminstrations ">
                                   <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();" [ngModelOptions]="{standalone: true}">
-                                      <label class="custom-control-label disblayBlock-w" for="{{data.id}}" style="color:#2a2a2a"></label>
+                                      <input type="checkbox" class="custom-control-input" id="{{data.adminstration_id}}" [(ngModel)]="data.selected" [value]='data' (change)="checkIfAllSelected();" [ngModelOptions]="{standalone: true}">
+                                      <label class="custom-control-label disblayBlock-w" for="{{data.adminstration_id}}" style="color:#2a2a2a"></label>
                                     </div>
                                   </td>
                                   <td>{{data.name}}</td>
@@ -294,7 +283,7 @@
                               selectAdmin.adminstration_status == 'new' ? 'جديد' 
                               : selectAdmin.adminstration_status == 'closed' ? 'مغلق' 
                               : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف' 
-                              : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
+                              : selectAdmin.adminstration_status == 'adminstration_redirection' ? 'العائد للإدارات' : 'لايوجد'}}
                           </td>
                           <td style="font-size: 12px;">{{selectAdmin.countdown}}</td>
                           <td><button type="button" class="btn btn-danger" (click)="removeSelectedAdminsration(selectAdmin)">حذف</button></td>
@@ -312,6 +301,16 @@
                 <button type="button" class="btn btn-primary rightW" (click)="onPrint()" *ngIf="maintData.reopen == 1">طباعه</button>
                 <button type="button" class="btn btn-warning rightW" (click)="authSer.backFromEdit()" style="margin:20px 10px;">إلغاء</button>
               </div>
+              <div class="col-6" *ngIf="checkStatusClosed">
+                <div class="form-group">
+                  <label style="float:right" for="reopen_reason">سبب إعاده فتح البلاغ</label>
+                  <select class="form-control" id="reopen_reason" style="padding:0 5px" ngModel name="reopen_reason" (input)="getReopenReason($event)" [(ngModel)]="reOpenReasonObject.reopen_status_reason">
+                    <option value="ظهور المشكلة مجددا">ظهور المشكلة مجددا</option>
+                    <option value="عدم حل المشكلة من البداية">عدم حل المشكلة من البداية</option>
+                    <option value="إغلاق البلاغ دون موافقتنا">إغلاق البلاغ دون موافقتنا</option>
+                  </select>
+                </div>
+              </div>
             </div>
           </form>
         </div>

+ 59 - 52
src/app/dashboard/maintenance-communications/maintenance-communication-edit/maintenance-communication-edit.component.ts

@@ -37,7 +37,7 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
   //reopen object 
   reOpenReasonObject = {
     communication_id: null,
-    reopen_closed_communication: '',
+    reopen_status_reason: '',
   }
 
   selectedAll: any;
@@ -54,7 +54,7 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     maintenance_notes: '',
     status: null,
     closed_status_reason: '',
-    urgent_communication: '',
+    urgent_communication: null,
   };
 
   countries = [];
@@ -93,9 +93,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
         location.reload(); 
       },180000);
 
-
-  
-
       this.counter$ = timer(0,1000).pipe(
         take(this.counter),
         map(() => --this.counter)
@@ -116,7 +113,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
      //get nationality data
      this.userSer.getNationality().subscribe(
       (responce) => {
-        console.log(responce);
         this.countries = responce['countries'];
       },
       (error) => {
@@ -128,7 +124,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
       this.userSer.onGetIdentities().subscribe(
         (responce) => {
           this.identities = responce['identities'];
-          console.log('idddentiiiesssssssssss', this.identities);
         },
         (error) => {
           console.log(error);
@@ -139,7 +134,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
       //get parent_categories_list
       this.http.get(this.authSer.pathApi + '/parent_categories_list').subscribe(
         (responce) => {
-          console.log('parent_categories_list', responce);
           this.parentCategoriesList = responce['categories'];
         },
         (error) => {
@@ -147,23 +141,34 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
         }
       );
 
+    
     //get maintanence data by id
     this.dashBoardSer.getItemData(this.pageId, 'maintenance').subscribe(
       (responce) => {
         
         this.maintData = responce['communication'];
-        console.log('main data ', this.maintData);
+        console.log('main data request ', this.maintData);
+        this.maintData.adminstrations.map(admin => admin.id = admin.adminstration_id);
+        console.log('after ediiiiiiiiiiiiiiit', this.maintData);
         this.communicationData.maintenance_notes = this.maintData.maintenance_notes;
         this.communicationData.status = this.maintData.status == 'closed' ? this.maintData.status : false;
         this.communicationData.time_period_id = this.maintData.time_period_id;
         this.communicationData.closed_status_reason = this.maintData.closed_status_reason ? this.maintData.closed_status_reason : '';
+        
         this.communicationData.parent_category_id = this.maintData.parent_category_id;
-        this.getChildGategories(this.communicationData.parent_category_id);
-        this.communicationData.child_category_id = this.maintData.child_category_id;
+        if(this.communicationData.parent_category_id) {
+          this.getChildGategories(this.communicationData.parent_category_id);
+          this.communicationData.child_category_id = this.maintData.child_category_id;
+        }
+        
         //get main_location_id
         this.mainLocationVal = this.maintData.main_location_id;
-        this.getSublocationList(this.mainLocationVal);
-        this.subLocationVal = this.maintData.sub_location_id;
+
+        if(this.mainLocationVal) {
+          this.getSublocationList(this.mainLocationVal);
+          this.subLocationVal = this.maintData.sub_location_id;
+        }
+
 
         this.returnEditData();
         
@@ -174,20 +179,23 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
           this.checkStatusClosed = false;
         }
 
+       
+
+        
+
+        //make selected adminstarations is true in checkbox and full array of selectedAdminstrations
         this.selectedAdminstrations = [];
         if(this.maintData.adminstrations.length > 0) {
           for(let i = 0; i < this.maintData.adminstrations.length; i++) {
             this.selectedAdminstrations.push(this.maintData.adminstrations[i]);
             for(let j = 0; j < this.adminstrations.length; j++) {
-              if(this.maintData.adminstrations[i].id == this.adminstrations[j].id) {
-                this.adminstrations[i].selected = true;
+              if(this.maintData.adminstrations[i].adminstration_id == this.adminstrations[j].id) {
+                this.adminstrations[j].selected = true;
               }
             }
           }
         }
 
-        console.log('selected adminstrations', this.selectedAdminstrations);
-        console.log('adminstrations ids ', this.adminstrationsIds);
         
         this.bindingDateSplitEnd = {
           year: parseInt(this.maintData.created_date.split('-')[0]),
@@ -197,13 +205,11 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
 
         this.userData = responce['communication']['user'];
         this.spinner.hide();
-        console.log('gggg', this.maintData);
         if(this.maintData['files'].length > 0) {
           this.showAttachements = true;
         } else {
           this.showAttachements = false;
         }
-        console.log('user data ', this.userData);
       },
       (error) => {
         console.log(error);
@@ -213,7 +219,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     //get time period 
     this.http.get(this.authSer.pathApi + '/page_list/53/1/1000/for_communication').subscribe(
       (response) => {
-        console.log('time period', response);
         this.times = response['time_periods'];
       },
       (error) => {
@@ -225,7 +230,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     this.http.get(this.authSer.pathApi + '/parent_locations_list').subscribe(
       (response) => {
         this.locationList = response['locations'];
-        console.log('parent location' , this.locationList);
       },
       (error) => {
         console.log(error);
@@ -235,16 +239,15 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
   }
 
   changeParentCategory(event) {
-    console.log(event.target.value);
     this.getChildGategories(event.target.value);
   }  
 
 
   //get child gategories 
   getChildGategories(parentId: number) {
+    this.communicationData.parent_category_id = parentId;
     this.http.get(this.authSer.pathApi + '/childs_categories_list_by_parent_id/' + parentId).subscribe(
       (responce) => {
-        console.log('childs_categories_list_by_parent_id', responce);
         this.childsCategoriesList = responce['categories'];
       },
       (error) => {
@@ -253,12 +256,15 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     );
   };
 
+  getChildGategoriesVal(event) {
+    this.communicationData.child_category_id = event.target.value;
+  }
+
   onChangemainLocation(event){
     const id = event.target.value
     this.mainLocationVal = id;
      this.http.get(this.authSer.pathApi + '/childs_locations_list_by_parent_id/' + id).subscribe(  
        (response)  => {
-         console.log(id);
          this.subLocationList = response['locations'];
        },
        (error) => {
@@ -269,7 +275,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
  
    
    changeSubLocation(event){
-     console.log(event.target.value);
      this.subLocationVal = event.target.value;
    }
 
@@ -279,8 +284,8 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
 
      this.http.get(this.authSer.pathApi + '/page_list/3/1/1000/all'  + searchKey).subscribe(
       (responce) => {
-        console.log('adminstraitions', responce);
         this.adminstrations = responce['adminstrations'];
+        console.log('adminstrationnns', this.adminstrations);
       },
       (error) => {
         console.log(error);
@@ -291,7 +296,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
   //search function 
   filtterFunc(event) {
     this.adminstrations = [];
-    console.log(event.target.value);
     this.getAdminstrationList(event.target.value);
   }
 
@@ -320,8 +324,9 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
         this.selectedAdminstrations.push(this.adminstrations[i]);
       }
     }
-    console.log(this.adminstrationsIds);
-    console.log(this.selectedAdminstrations);
+
+    console.log('adminstartion id', this.adminstrationsIds);
+    console.log('selectedAdminstrations', this.selectedAdminstrations);
   }
 
   //get sub location list 
@@ -329,7 +334,6 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     this.http.get(this.authSer.pathApi + '/childs_locations_list_by_parent_id/' + parentId).subscribe(  
       (response)  => {
         this.subLocationList = response['locations'];
-        console.log('sub Location', this.subLocationList);
       },
       (error) => {
         console.log(error)
@@ -339,31 +343,30 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
 
   //get value of reason reOpen
   getReopenReason(event) {
-    console.log(event.target.value);
-    console.log(this.reOpenReasonObject);
-    this.reOpenReasonObject.reopen_closed_communication = event.target.value;
+    this.reOpenReasonObject.reopen_status_reason = event.target.value;
   }
 
   //reOpen mentainence function
   reOpenMaintenance() {
-    this.http.post(this.authSer.pathApi + '/reopen_closed_communication', this.reOpenReasonObject).subscribe(
-      (responce) => {
-        console.log(responce);
-        this.toastr.success('تم إعاده الفتح بنجاح');
-        this.location.back();
-      },
-      (error) => {
-        console.log(error);
-        this.toastr.error('حدث خطا في الحفظ ، حاول لاحقاً');
-        this.location.back();
-      }
-    );
+    if(!this.reOpenReasonObject.reopen_status_reason){
+      this.toastr.warning('أدخل إعاده سبب فتح البلاغ !');
+    } else {
+       this.http.post(this.authSer.pathApi + '/reopen_closed_communication', this.reOpenReasonObject).subscribe(
+        (responce) => {
+          this.toastr.success('تم إعاده الفتح بنجاح');
+          this.location.back();
+        },
+        (error) => {
+          console.log(error);
+          this.toastr.error('حدث خطا في الحفظ ، حاول لاحقاً');
+        }
+      );
+    }
   }
 
 
   //remove remove selected adminsration 
   removeSelectedAdminsration(adminstrationData) {
-    console.log(adminstrationData);
 
     //to remove checked from adminstrations list
       for(let j = 0; j < this.adminstrations.length; j++) {
@@ -375,14 +378,12 @@ export class MaintenanceCommunicationEditComponent implements OnInit {
     const index = this.selectedAdminstrations.indexOf(adminstrationData);
     this.selectedAdminstrations.splice(index, 1);
     
-    console.log(index);
   }
 
   //return substring of subject and check negaive and positive time 
 returnEditData() {
   for(let i = 0; i < this.maintData['adminstrations'].length; i++) {
       this.maintData['adminstrations'][i].countdown = this.maintData['adminstrations'][i].countdown ? this.dashBoardSer.secondsToDhms(this.maintData['adminstrations'][i].countdown) : '-';
-      console.log(this.maintData['adminstrations'][i].countdown);
   }
 }
 
@@ -424,9 +425,10 @@ onPrint(): void {
 
     if(this.communicationData.urgent_communication) {
       this.communicationData.urgent_communication = '1';
-    } else {
-      this.communicationData.urgent_communication = '0';
     }
+    // } else {
+    //   this.communicationData.urgent_communication = '0';
+    // }
 
     for(let i = 0; i < this.selectedAdminstrations.length; i++) {
       this.adminstrationsIds.push(this.selectedAdminstrations[i].id);
@@ -434,15 +436,19 @@ onPrint(): void {
 
     this.communicationData['adminstrations_ids'] = this.adminstrationsIds;
 
-    console.log(this.communicationData);
 
     if(this.adminstrationsIds.length == 0 && this.communicationData.urgent_communication == '1') {
       this.toastr.warning('قم بإختيار الإدارات');
       this.checkSaveClick = false;
+    }else if( this.communicationData.status == 'closed' && !this.communicationData.closed_status_reason){
+      this.toastr.warning('قم بإختيار سبب غلق البلاغ !');
+      this.checkSaveClick = false;
     } else {
+      if(this.communicationData.urgent_communication != '1'){
+        this.communicationData.urgent_communication = '0';
+      }
       this.http.post(this.authSer.pathApi + '/maintenance_handle_communication', this.communicationData).subscribe(
         (responce) => {
-          console.log(responce['status']);
           if(responce['status'] == 'some adminstrations didnt closed yet') {
             this.toastr.warning('بعض الإدارات لم تقم بإغلاق البلاغ بعد !');
           } else {
@@ -452,6 +458,7 @@ onPrint(): void {
         },
         (error) => {
           console.log(error);
+          this.checkSaveClick = false;
           this.toastr.error('خطأ في الحفظ حاول لاحقاً');
         }
       );

+ 6 - 4
src/app/dashboard/maintenance-communications/maintenance-communications-list/maintenance-communications-list.component.html

@@ -11,7 +11,7 @@
     <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>
+        <li class="headingText-w activeLi-w" style="margin-right:5px">{{typeList}}</li>
       </ul>
     </div>
   </div>
@@ -48,7 +48,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:0;" (input)="filtterFunc($event)"/>
+          <input type="text" placeholder=" البحث (رقم البلاغ - إداره منشأ البلاغ - عنوان البلاغ )" class="form-control inputSearchTable-w" style="margin-top:0;" (input)="filtterFunc($event)"/>
           <hr>
         </div>
       </div>
@@ -62,6 +62,7 @@
           <th>وقت انشاء البلاغ</th>
           <th>موضوع البلاغ</th>
           <th>الادارات / الاقسام / الموظفين الموجه لهم</th> 
+          <!-- <th>إداره منشئ البلاغ</th> -->
           <th>الفئة</th>
           <th>مده التأخير</th>
           <th>الحالة</th>
@@ -74,16 +75,17 @@
           <td>{{data.id}}</td>
           <td>{{data.created_date + " " + data.created_time }}</td>
           <td>{{data.subject }}</td>
-          <td >
+          <td>
             <div class="dropdown">
               <button class="btn btn-secondary dropdown-toggle buttonW" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                 عرض
               </button>
               <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="text-align:right;"> 
-                <a class="dropdown-item" *ngFor="let admin of dataList[i]['adminstrations']"> {{ admin.adminstration_name ? admin.adminstration_name : 'لا يوجد'}} </a>
+                <a class="dropdown-item" *ngFor="let admin of dataList[i]['adminstrations']"> {{ admin.name ? admin.name : 'لا يوجد'}} </a>
               </div>
             </div>
           </td>
+          <!-- <td>{{data.adminstration_name}}</td> -->
           <td>{{data.time_period_name ? data.time_period_name : '-'}}</td>
           <td>{{data.total_count_down == 0 ? '-' : data.total_count_down }}</td>
           <td>{{ 

+ 9 - 1
src/app/dashboard/maintenance-communications/maintenance-communications-list/maintenance-communications-list.component.ts

@@ -49,6 +49,8 @@ export class MaintenanceCommunicationsListComponent implements OnInit {
     counter$: Observable<number>;
     counter = 180;
 
+    typeList: string;
+
   ngOnInit() {
 
       //init values of permisions
@@ -81,6 +83,8 @@ export class MaintenanceCommunicationsListComponent implements OnInit {
 
           if(this.pageId == 56) {
 
+            this.typeList = 'متابعه البلاغات الصادره';
+
             this.route.parent.params.subscribe(
               (params:Params) => {
                   this.userLoginId = params['userID'];
@@ -125,6 +129,8 @@ export class MaintenanceCommunicationsListComponent implements OnInit {
               );
           } else if(this.pageId == 58) {
 
+            this.typeList = 'متابعه البلاغات الوارده للصيانه';
+
             this.route.parent.params.subscribe(
               (params:Params) => {
                   this.userLoginId = params['userID'];
@@ -169,6 +175,8 @@ export class MaintenanceCommunicationsListComponent implements OnInit {
               );
           } else if(this.pageId == 59) {
 
+            this.typeList = 'متابعه البلاغات الوارده للإداره';
+
             this.route.parent.params.subscribe(
               (params:Params) => {
                   this.userLoginId = params['userID'];
@@ -213,7 +221,7 @@ export class MaintenanceCommunicationsListComponent implements OnInit {
                 }
               );
           } else if(this.pageId == 60) {
-
+            this.typeList = 'متابعه البلاغات الوارده للقسم';
             this.route.parent.params.subscribe(
               (params:Params) => {
                   this.userLoginId = params['userID'];

+ 1 - 1
src/app/shared/dashboard.service.ts

@@ -61,7 +61,7 @@ export class DashboardService {
         console.log('url', 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 {
-        console.log('urrrrrl',this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' );
+        console.log('urrrrrl',this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' + data);
         return this.http.get(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' + data);
       }
     }