follow-communication-sections-details.component.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  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">
  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)]="formData.status" [value]="formData.status">
  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="formData.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)]="formData.closed_status_reason"> </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" style="padding: 10px 20px;">
  192. <div class="col-12 col-md-12" style="margin: 20px 0;">
  193. <div class="form-group">
  194. <label for="department_notes" style="float:right; margin-right: 5px;"> </label>
  195. <textarea cols="3" class="form-control" name="department_notes" id="department_notes" [(ngModel)]="formData.department_notes"> </textarea>
  196. </div>
  197. </div>
  198. </div>
  199. </div>
  200. </div>
  201. <div class="col-12">
  202. <h2 class="title">الإدارات الموجه لها البلاغ</h2>
  203. <div class="row">
  204. <div class="wrapper">
  205. <table class="table table-bordered">
  206. <thead class="headBackground-w">
  207. <tr>
  208. <th>الجهه المستلمه للبلاغ</th>
  209. <th>وقت التحويل</th>
  210. <th>ملاحظات</th>
  211. <th>حاله البلاغ</th>
  212. <th>الاٌقسام</th>
  213. <th>مده التأخير</th>
  214. </tr>
  215. </thead>
  216. <tbody>
  217. <tr *ngFor="let selectAdmin of maintData['adminstrations']; let i = index">
  218. <td>{{selectAdmin.name ? selectAdmin.name : '-'}}</td>
  219. <td>{{ selectAdmin.created_at ? selectAdmin.created_at : '-' }}</td>
  220. <td>{{selectAdmin.adminstration_notes ? selectAdmin.adminstration_notes : '-'}}</td>
  221. <td>
  222. {{
  223. selectAdmin.adminstration_status == 'new' ? 'جديد'
  224. : selectAdmin.adminstration_status == 'closed' ? 'مغلق'
  225. : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف'
  226. : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
  227. </td>
  228. <th style="text-align:center">
  229. <div class="dropdown">
  230. <button class="btn btn-secondary dropdown-toggle buttonW" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  231. عرض
  232. </button>
  233. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="text-align:right;">
  234. <a class="dropdown-item" *ngFor="let department of selectAdmin['departments']"> {{ department.name ? department.name : 'لا يوجد'}} </a>
  235. </div>
  236. </div>
  237. </th>
  238. <td style="font-size: 12px;">{{selectAdmin.countdown}}</td>
  239. </tr>
  240. </tbody>
  241. </table>
  242. </div>
  243. </div>
  244. </div>
  245. <!-- <div class="col-12">
  246. <h2 class="title">الأقسام الموجه لها البلاغ</h2>
  247. <div class="row">
  248. <div class="wrapper">
  249. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  250. <div class="modal-dialog" role="document">
  251. <div class="modal-content">
  252. <div class="modal-header">
  253. <h5 class="modal-title" id="exampleModalLabel">الأقسام</h5>
  254. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  255. <span aria-hidden="true">&times;</span>
  256. </button>
  257. </div>
  258. <div class="modal-body">
  259. <div class="form-group">
  260. <input type="text" placeholder="البحث" class="form-control inputSearchTable-w" style="margin-top:0;" (input)="filtterFunc($event)"/>
  261. <hr>
  262. </div>
  263. <table class="table table-bordered">
  264. <thead class="headBackground-w">
  265. <tr>
  266. <th style="text-align:right">
  267. <div class="custom-control custom-checkbox">
  268. <input type="checkbox" class="custom-control-input" [(ngModel)]="selectedAll" (change)="selectAll();" id="customCheck" name="example1">
  269. </div>
  270. </th>
  271. <th style="text-align:right">الإسم</th>
  272. </tr>
  273. </thead>
  274. <tbody>
  275. <tr *ngFor="let data of departments; let i = index">
  276. <td>
  277. <div class="custom-control custom-checkbox centerIneerItem">
  278. <input type="checkbox" class="custom-control-input" id="{{data.id}}" [(ngModel)]="data.selected" [value]='data' (change)="checkIfAllSelected();" [ngModelOptions]="{standalone: true}">
  279. <label class="custom-control-label disblayBlock-w" for="{{data.id}}" style="color:#2a2a2a"></label>
  280. </div>
  281. </td>
  282. <td>{{data.name}}</td>
  283. </tr>
  284. </tbody>
  285. </table>
  286. </div>
  287. <div class="modal-footer">
  288. <button type="button" class="btn btn-secondary" data-dismiss="modal" style="margin: 0 10px;">إغلاق</button>
  289. <button type="button" class="btn btn-primary" data-dismiss="modal" (click)="getDepartments()">حفظ</button>
  290. </div>
  291. </div>
  292. </div>
  293. </div>
  294. <table class="table table-bordered">
  295. <thead class="headBackground-w">
  296. <tr>
  297. <th>الجهه المستلمه للبلاغ</th>
  298. <th>وقت التحويل</th>
  299. <th>ملاحظات</th>
  300. <th>حاله البلاغ</th>
  301. <th>مده التأخير</th>
  302. </tr>
  303. </thead>
  304. <tbody>
  305. <tr *ngFor="let selectAdmin of selectedDepartments; let i = index">
  306. <td>{{selectAdmin.name ? selectAdmin.name : '-'}}</td>
  307. <td>{{ selectAdmin.created_at ? selectAdmin.created_at : '-' }}</td>
  308. <td>{{selectAdmin.adminstration_notes ? selectAdmin.adminstration_notes : '-'}}</td>
  309. <td>
  310. {{
  311. selectAdmin.adminstration_status == 'new' ? 'جديد'
  312. : selectAdmin.adminstration_status == 'closed' ? 'مغلق'
  313. : selectAdmin.adminstration_status == 'reopen' ? 'إستأنف'
  314. : selectAdmin.adminstration_status == 'redirect_to_adminstrations' ? 'العائد للإدارات' : 'لايوجد'}}
  315. </td>
  316. <td style="font-size: 12px;">{{selectAdmin.countdown}}</td>
  317. </tr>
  318. </tbody>
  319. </table>
  320. </div>
  321. </div>
  322. </div> -->
  323. <div class="col-12">
  324. <button type="submit" class="btn btn-success rightW" [disabled]="!f.valid || checkSaveClick">حفظ</button>
  325. <!-- <button type="button" class="btn btn-primary rightW" *ngIf="checkStatusClosed" (click)="reOpenMaintenance()">إعاده فتح البلاغ</button> -->
  326. <button type="button" class="btn btn-primary rightW" (click)="onPrint()" *ngIf="maintData.reopen == 1">طباعه</button>
  327. <button type="button" class="btn btn-warning rightW" (click)="authSer.backFromEdit()" style="margin:20px 10px;">إلغاء</button>
  328. </div>
  329. </div>
  330. </form>
  331. </div>
  332. </div>
  333. </div>