follow-communications-add.component.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. <div class="addHospital-w">
  2. <div class="container">
  3. <!-- <h3 style="font-size: 18px; color: red">سيتم تحديث الصفحه بعد <countdown #countdown [config]="{leftTime: 180}">$!m!:$!s!</countdown></h3> -->
  4. <h3 style="font-size: 18px; color: red">سيتم تحديث الصفحه بعد {{counter$ | async }} ثانيه</h3>
  5. <div class="row">
  6. <div class="col-12">
  7. <ul class="list-unstyled titileLi-w">
  8. <li class="headingText-w">خدمه البلاغات </li>
  9. <li class="headingText-w" style="cursor:pointer" (click)="authSer.perviousLocation()"> عرض التفاصيل</li>
  10. </ul>
  11. </div>
  12. </div>
  13. <div class="containerContent-w">
  14. <form (ngSubmit)="onSubmittedForm()" #f="ngForm">
  15. <div class="row">
  16. <div class="col-12">
  17. <h2 class="title">بيانات منشئ البلاغ</h2>
  18. <div class="row">
  19. <div class="wrapper">
  20. <div class="col-12 col-md-4">
  21. <div class="form-group">
  22. <label for="name" style="float:right">رقم البلاغ</label>
  23. <input id="name" type="text" class="form-control" placeholder="رقم البلاغ" ngModel name="commmun_number" [(ngModel)]="maintData.id" [disabled]="disabledInput" />
  24. </div>
  25. </div>
  26. <div class="col-12 col-md-4">
  27. <div class="form-group">
  28. <label for="name" style="float:right">إسم المستخدم</label>
  29. <input id="name" type="text" class="form-control" placeholder="الإسم" ngModel name="name" [(ngModel)]="userData.comm_creator_name" [disabled]="disabledInput" />
  30. </div>
  31. </div>
  32. <div class="col-12 col-md-4">
  33. <div class="form-group">
  34. <label for="name" style="float:right">الإداره</label>
  35. <input id="name" type="text" class="form-control" placeholder="الإداره" ngModel name="comm_adminstration_creator_name" [(ngModel)]="userData.comm_adminstration_creator_name" [disabled]="disabledInput" />
  36. </div>
  37. </div>
  38. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  39. <div class="form-group">
  40. <label style="float:right">رقم الجوال <span class="spanReqired-w">*</span></label>
  41. <input type="phone" placeholder="رقم الجوال" class="form-control" ngModel name="phone" [(ngModel)]="userData.comm_creator_phone" [disabled]="disabledInput" />
  42. </div>
  43. </div>
  44. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  45. <div class="form-group">
  46. <label for="endDate" style="float:right" >التاريخ<span class="spanReqired-w">*</span></label>
  47. <div *ngIf='bindingDateSplitEnd'>
  48. <app-end-higri-date (onDatePicked)="getDate($event, 'end')" [myEndDate]="bindingDateSplitEnd" [higriDisabled]="disabledVal"> </app-end-higri-date>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  53. <div class="form-group">
  54. <label for="time" style="float:right"> الوقت<span class="spanReqired-w">*</span></label>
  55. <input type="time" id="time" placeholder="الوقت" class="form-control" ngModel name="time" [(ngModel)]="maintData.created_time" [disabled]="disabledInput" />
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="col-12">
  62. <h2 class="title">بيانات البلاغ</h2>
  63. <div class="row">
  64. <div class="wrapper">
  65. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  66. <div class="form-group">
  67. <label for="subject" style="float: right; margin-right:5px;margin-top:10px">موضوع البلاغ</label>
  68. <input type="text" id="subject" class="form-control" placeholder="موضوع البلاغ" name="subject" ngModel [(ngModel)]="maintData.subject" [disabled]="disabledInput" />
  69. </div>
  70. </div>
  71. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  72. <div class="form-group">
  73. <label for="message" style="float: right; margin-right:5px;margin-top:10px">نص البلاغ</label>
  74. <input type="text" id="message" class="form-control" placeholder="نص البلاغ" name="message" ngModel [(ngModel)]="maintData.message" [disabled]="disabledInput" />
  75. </div>
  76. </div>
  77. <div class="col-12 col-sm-12 col-md-4 col-lg-4" style="margin-top: 10px;">
  78. <div class="form-group">
  79. <label for="reportTopic" style="float: right;margin-right: 5px"> الموقع الرئيسي </label>
  80. <select name="main_location_id" class="form-control" [ngModel]="mainLocationVal" (change)="onChangemainLocation($event)" [disabled]="disabledInput" >
  81. <option *ngFor="let location of locationList" [value]="location.id" required> {{location.name}} </option>
  82. </select>
  83. </div>
  84. </div>
  85. <div class="col-12 col-sm-12 col-md-4 col-lg-4">
  86. <div class="form-group">
  87. <label for="sub_location_id" style="float: right;margin-right: 5px"> الموقع الفرعي </label>
  88. <select name="sub_location_id" class="form-control" [ngModel]="subLocationVal" (change)="changeSubLocation($event)" [disabled]="disabledInput">
  89. <option *ngFor="let location of subLocationList" [value]="location.id" required> {{location.name}} </option>
  90. </select>
  91. </div>
  92. </div>
  93. <div class="col-12">
  94. <h2 class="title">المرفقات</h2>
  95. <div class="row">
  96. <div class="wrapper">
  97. <h3 *ngIf="!showAttachements" style="font-size: 18px;">لا توجد مرفقات لعرضها </h3>
  98. <table class="table table-bordered" *ngIf="showAttachements">
  99. <thead class="headBackground-w">
  100. <tr>
  101. <th> إسم المرفق</th>
  102. <th>عرض الملف</th>
  103. </tr>
  104. </thead>
  105. <tbody>
  106. <tr style="text-align:center;" *ngFor="let file of maintData['files']; let i = index">
  107. <td><input type="text" class="form-control" placeholder="إسم الملف" [(ngModel)]="file.title" [ngModelOptions]="{standalone: true}" [disabled]="disabledInput" /></td>
  108. <th style="text-align:center"><a href="{{authSer.pathImg + file.file}}" target="_blank"><i class="fas fa-download"></i></a></th>
  109. </tr>
  110. </tbody>
  111. </table>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. <div class="col-12">
  119. <h2 class="title">عمليات البلاغ</h2>
  120. <div class="row">
  121. <div class="wrapper">
  122. <div class="col-12 col-sm-12 col-md-6 col-lg-4">
  123. <div class="form-group">
  124. <label style="float:right" for="parent_category_id">التصنيف الرئيسي</label>
  125. <select class="form-control" id="parent_category_id" style="padding:0 5px" ngModel name="parent_category_id" (input)="changeParentCategory($event)" [(ngModel)]="communicationData.parent_category_id" [disabled]="disabledInput">
  126. <option *ngFor="let categorie of parentCategoriesList; let i = index" [value]="categorie.id">{{categorie.name}}</option>
  127. </select>
  128. </div>
  129. </div>
  130. <div class="col-12 col-sm-12 col-md-6 col-lg-4" *ngIf="checkStatusClosed">
  131. <div class="form-group">
  132. <label style="float:right" for="reopen_reason">سبب إعاده فتح البلاغ</label>
  133. <select class="form-control" id="reopen_reason" style="padding:0 5px" ngModel name="reopen_reason" (input)="getReopenReason($event)" [(ngModel)]="reOpenReasonObject.reopen_closed_communication">
  134. <option value="ظهور المشكلة مجددا">ظهور المشكلة مجددا</option>
  135. <option value="عدم حل المشكلة من البداية">عدم حل المشكلة من البداية</option>
  136. <option value="إغلاق البلاغ دون موافقتنا">إغلاق البلاغ دون موافقتنا</option>
  137. </select>
  138. </div>
  139. </div>
  140. <div class="col-12 col-md-4">
  141. <div class="form-group">
  142. <label style="float:right" for="child_category_id">التصنيف الفرعي</label>
  143. <select class="form-control" id="child_category_id" style="padding:0 5px" ngModel name="child_category_id" [(ngModel)]="communicationData.child_category_id" [disabled]="disabledInput">
  144. <option *ngFor="let childCategorie of childsCategoriesList; let i = index" [value]="childCategorie.id">{{childCategorie.name}}</option>
  145. </select>
  146. </div>
  147. </div>
  148. <div class="col-12 col-md-4">
  149. <div class="form-group">
  150. <label style="float:right" for="time_period_id">الفئه - الوقت</label>
  151. <select class="form-control" id="time_period_id" style="padding:0 5px" ngModel name="time_period_id" [(ngModel)]="communicationData.time_period_id" [disabled]="disabledInput">
  152. <option *ngFor="let timePeriod of times; let i = index" [value]="timePeriod.id">{{timePeriod.name}}</option>
  153. </select>
  154. </div>
  155. </div>
  156. <div class="col-12 col-md-12">
  157. <div class="form-group">
  158. <label for="maintenance_notes" style="float:right">ملاحظات إداره الصيانه</label>
  159. <textarea cols="3" class="form-control" name="maintenance_notes" id="maintenance_notes" [(ngModel)]="communicationData.maintenance_notes" [disabled]="disabledInput"> </textarea>
  160. </div>
  161. </div>
  162. <div class="col-12 col-md-4">
  163. <div style="float:right">
  164. <input type="checkbox" class="form-check-input" name="urgent_communication" id="urgent_communication" [(ngModel)]="communicationData.urgent_communication" [value]="communicationData.urgent_communication" [disabled]="disabledInput">
  165. <label class="form-check-label" for="urgent_communication" style="margin: 0 20px;">بلاغ عاجل</label>
  166. </div>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="col-12">
  172. <h2 class="title">إغلاف البلاغ</h2>
  173. <div class="row">
  174. <div class="wrapper" style="padding: 10px 20px;">
  175. <div style="float:right">
  176. <input type="checkbox" class="form-check-input" name="status" id="status" [(ngModel)]="communicationData.status" [value]="communicationData.status" [disabled]="disabledInput">
  177. <label class="form-check-label" for="status" style="margin: 0 20px;">إغلاق البلاغ</label>
  178. </div>
  179. <div class="col-12 col-md-12" style="margin: 20px 0;" *ngIf="communicationData.status">
  180. <div class="form-group">
  181. <label for="closed_status_reason" style="float:right; margin-right: 5px;"> سبب إغلاق البلاغ</label>
  182. <textarea cols="3" class="form-control" name="closed_status_reason" id="closed_status_reason" [(ngModel)]="communicationData.closed_status_reason" [disabled]="disabledInput"> </textarea>
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. <div class="col-12">
  189. <h2 class="title">الإدارات الموجه لها البلاغ</h2>
  190. <div class="row">
  191. <div class="wrapper">
  192. <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" style="float: right; margin: 20px 0;" [disabled]="disabledInput">
  193. الإدارات الموجه لها البلاغ
  194. </button>
  195. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  196. <div class="modal-dialog" role="document">
  197. <div class="modal-content">
  198. <div class="modal-header">
  199. <h5 class="modal-title" id="exampleModalLabel">الإدارات</h5>
  200. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  201. <span aria-hidden="true">&times;</span>
  202. </button>
  203. </div>
  204. <div class="modal-body">
  205. <div class="form-group">
  206. <input type="text" placeholder="البحث" class="form-control inputSearchTable-w" style="margin-top:0;" (input)="filtterFunc($event)"/>
  207. <hr>
  208. </div>
  209. <table class="table table-bordered" *ngIf="this.count != 0">
  210. <thead class="headBackground-w">
  211. <tr>
  212. <th style="text-align:right">
  213. <div class="custom-control custom-checkbox">
  214. <input type="checkbox" class="custom-control-input" [(ngModel)]="selectedAll" (change)="selectAll();" id="customCheck" name="example1">
  215. </div>
  216. </th>
  217. <th style="text-align:right">الإسم</th>
  218. </tr>
  219. </thead>
  220. <tbody>
  221. <tr *ngFor="let data of adminstrations ">
  222. <td>
  223. <div class="custom-control custom-checkbox centerIneerItem">
  224. <input type="checkbox" class="custom-control-input" id="{{data.id}}" [(ngModel)]="data.selected" [value]='data' (change)="checkIfAllSelected();" [ngModelOptions]="{standalone: true}">
  225. <label class="custom-control-label disblayBlock-w" for="{{data.id}}" style="color:#2a2a2a"></label>
  226. </div>
  227. </td>
  228. <td>{{data.name}}</td>
  229. </tr>
  230. </tbody>
  231. </table>
  232. </div>
  233. <div class="modal-footer">
  234. <button type="button" class="btn btn-secondary" data-dismiss="modal" style="margin: 0 10px;">إغلاق</button>
  235. <button type="button" class="btn btn-primary" data-dismiss="modal" (click)="getDepartments()">حفظ</button>
  236. </div>
  237. </div>
  238. </div>
  239. </div>
  240. <table class="table table-bordered">
  241. <thead class="headBackground-w">
  242. <tr>
  243. <th>الجهه المستلمه للبلاغ</th>
  244. <th>وقت التحويل</th>
  245. <th>ملاحظات</th>
  246. <th>حاله البلاغ</th>
  247. <th>مده التأخير</th>
  248. <!-- <th>حذف</th> -->
  249. </tr>
  250. </thead>
  251. <tbody>
  252. <tr *ngFor="let selectAdmin of selectedAdminstrations; let i = index">
  253. <td>{{selectAdmin.name ? selectAdmin.name : '-'}}</td>
  254. <td>{{ selectAdmin.created_at ? selectAdmin.created_at : '-' }}</td>
  255. <td>{{selectAdmin.adminstration_notes ? selectAdmin.adminstration_notes : '-'}}</td>
  256. <td>
  257. {{
  258. selectAdmin.adminstration_status == 'new' ? 'جديد'
  259. : selectAdmin.adminstration_status == 'closed' ? 'مغلق'
  260. : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف'
  261. : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
  262. </td>
  263. <td style="font-size: 14px;">{{selectAdmin.countdown}}</td>
  264. <!-- <td><button type="button" class="btn btn-danger" (click)="removeSelectedAdminsration(selectAdmin)">حذف</button></td> -->
  265. </tr>
  266. </tbody>
  267. </table>
  268. </div>
  269. </div>
  270. </div>
  271. <div class="col-12">
  272. <button type="button" class="btn btn-primary rightW" *ngIf="checkStatusClosed" (click)="reOpenMaintenance()">إعاده فتح البلاغ</button>
  273. <button type="button" class="btn btn-warning rightW" (click)="authSer.backFromEdit()" style="margin:20px 10px;">إلغاء</button>
  274. </div>
  275. </div>
  276. </form>
  277. </div>
  278. </div>
  279. </div>