report-communications.component.html 21 KB

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