emergency-info.component.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <div class="list-template">
  2. <div class="list-template__content">
  3. <div class="list-template__top" nz-row>
  4. <div nz-col nzXl='16' class="list-template__searchBox">
  5. <div class="list-template__searchItem">
  6. <span class="label">状态:</span>
  7. <nz-select
  8. [nzDropdownMatchSelectWidth]="false"
  9. class="formItem"
  10. nzServerSearch
  11. nzShowSearch
  12. nzAllowClear
  13. nzPlaceHolder="请选择状态"
  14. [(ngModel)]="alarmStatus"
  15. >
  16. <ng-container *ngFor="let data of alarmList">
  17. <nz-option
  18. nzLabel="{{ data.name }}"
  19. nzValue="{{ data.id }}"
  20. ></nz-option>
  21. </ng-container>
  22. </nz-select>
  23. </div>
  24. <div class="list-template__searchItem">
  25. <span class="label">工单状态:</span>
  26. <nz-select
  27. [nzDropdownMatchSelectWidth]="false"
  28. class="formItem"
  29. nzServerSearch
  30. nzShowSearch
  31. nzAllowClear
  32. nzPlaceHolder="请选择工单状态"
  33. [(ngModel)]="incidentStatus"
  34. >
  35. <ng-container *ngFor="let data of gdList">
  36. <nz-option
  37. nzLabel="{{ data.name }}"
  38. nzValue="{{ data.id }}"
  39. ></nz-option>
  40. </ng-container>
  41. </nz-select>
  42. </div>
  43. <div class="list-template__searchItem">
  44. <span class="label">告警ip:</span>
  45. <input nz-input class="formItem" placeholder="请输入告警ip" [(ngModel)]="alarmIp" />
  46. </div>
  47. <div class="list-template__searchItem">
  48. <span class="label">紧急度:</span>
  49. <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzShowSearch nzAllowClear
  50. nzPlaceHolder="请选择紧急度" [(ngModel)]="alarmUrgency">
  51. <ng-container *ngFor="let data of urgencyList">
  52. <nz-option nzLabel="{{data.name}}" nzValue="{{data.id}}"></nz-option>
  53. </ng-container>
  54. </nz-select>
  55. </div>
  56. <div class="list-template__searchItem">
  57. <span class="label width-105">告警时间区间:</span>
  58. <nz-range-picker nzShowTime [(ngModel)]="dateRange" (nzOnCalendarChange)="onCalendarChangeDate($event)" (ngModelChange)="changeDate($event)"></nz-range-picker>
  59. </div>
  60. </div>
  61. <div nz-col nzXl='6' class="list-template__btns">
  62. <button nz-button class="btn default" (click)='search()'>搜索</button>
  63. <button nz-button class="btn ml8 default" (click)="reset()">重置</button>
  64. <button nz-button *ngIf="coopBtns.batchRecover" class="btn ml8 default" (click)="batchRecover($event)">批量恢复</button>
  65. <button nz-button *ngIf="coopBtns.batchProcessing" class="btn ml8 default" (click)="batchNo($event)">批量不处理</button>
  66. </div>
  67. </div>
  68. <div class="list-template__bottom">
  69. <nz-table class="list-template__nzTable" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false"
  70. [nzLoading]="loading1">
  71. <thead>
  72. <tr class="thead">
  73. <th nzWidth="5%" nzShowCheckbox [(nzChecked)]="isAllDisplayDataChecked"
  74. (nzCheckedChange)="checkAll($event)"></th>
  75. <th nzWidth="10%">告警id</th>
  76. <th nzWidth="10%">告警来源</th>
  77. <th nzWidth="20%">告警内容</th>
  78. <th nzWidth="9%">告警状态</th>
  79. <th nzWidth="10%">告警ip</th>
  80. <th nzWidth="9%">紧急度</th>
  81. <th nzWidth="15%">告警时间</th>
  82. <th nzWidth="10%">工单单号</th>
  83. <th nzWidth="120px">操作</th>
  84. </tr>
  85. </thead>
  86. <tbody>
  87. <tr *ngFor="let data of listOfData;let index=index;">
  88. <td nzShowCheckbox [(nzChecked)]="mapOfCheckedId[data.id]" (nzCheckedChange)="refreshStatus()"></td>
  89. <td>{{ data.alarmId || '-' }}</td>
  90. <td>{{ data.alarmSource || '-' }}</td>
  91. <td>{{ data.alarmContent || '-' }}</td>
  92. <td [ngClass]="{'red': data.alarmStatus?.value == 1, 'yellow ': data.alarmStatus?.value == 2, 'green ': data.alarmStatus?.value == 4}">{{ data.alarmStatus?.name }}</td>
  93. <td>{{ data.alarmIp || '-' }}</td>
  94. <td>{{ data.alarmUrgency?.name }}</td>
  95. <td>{{ data.alarmActiveTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
  96. <td class="text-underline" (click)="detail($event, data)">{{ data.incidentSign }}</td>
  97. <td>
  98. <div class="coop">
  99. <span *ngIf="coopBtns.view" (click)="look(data)">查看</span>
  100. <span *ngIf="coopBtns.send && data.alarmStatus.value == 1" (click)="send(data)">消息发送</span>
  101. <span *ngIf="coopBtns.add && (data.alarmStatus.value == 1 || data.alarmStatus.value == 3)" (click)="addOrder(data)">建单</span>
  102. </div>
  103. </td>
  104. </tr>
  105. </tbody>
  106. </nz-table>
  107. <div class="list-template__pagination">
  108. <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
  109. (nzPageIndexChange)="getList(false,'page')" (nzPageSizeChange)="getList(false, 'page')">
  110. </nz-pagination>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. <!-- 新增/编辑模态框 -->
  116. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="modal">
  117. <div class="modalBody">
  118. <div class="title">{{add?"新增":"编辑"}}<i class="icon_transport transport-guanbi" (click)="hideModal()"></i>
  119. </div>
  120. <overlay-scrollbars #osComponentRef1 class="content">
  121. <form nz-form [formGroup]="validateForm" class="addForm" (ngSubmit)="submitForm()">
  122. <nz-form-item>
  123. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="title">名称</nz-form-label>
  124. <nz-form-control nzErrorTip="请填写名称!">
  125. <nz-input-group>
  126. <input type="text" nz-input formControlName="title" placeholder="请填写名称" />
  127. </nz-input-group>
  128. </nz-form-control>
  129. </nz-form-item>
  130. <nz-form-item>
  131. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="taskTypeIds">绑定任务类型</nz-form-label>
  132. <nz-form-control nzErrorTip="请选择绑定任务类型!">
  133. <nz-select nzMode="multiple" [nzDropdownMatchSelectWidth]="false" formControlName="taskTypeIds" nzShowSearch nzAllowClear nzPlaceHolder="请选择绑定任务类型" nzServerSearch (nzOnSearch)="changeInp($event)" (nzOpenChange)="openTasktype($event)">
  134. <ng-container *ngFor="let data of taskTypeList">
  135. <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
  136. </nz-option>
  137. </ng-container>
  138. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  139. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  140. </nz-option>
  141. </nz-select>
  142. </nz-form-control>
  143. </nz-form-item>
  144. <nz-form-item>
  145. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="deptIds">绑定科室</nz-form-label>
  146. <nz-form-control nzErrorTip="请选择绑定科室!">
  147. <nz-select nzMode="multiple" [nzDropdownMatchSelectWidth]="false" formControlName="deptIds" nzShowSearch nzAllowClear nzPlaceHolder="请选择绑定科室" nzServerSearch (nzOnSearch)="changeDeptInp($event)" (nzOpenChange)="openDept($event)">
  148. <ng-container *ngFor="let data of deptList">
  149. <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
  150. </nz-option>
  151. </ng-container>
  152. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  153. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  154. </nz-option>
  155. </nz-select>
  156. </nz-form-control>
  157. </nz-form-item>
  158. <nz-form-item>
  159. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="type">快捷类型</nz-form-label>
  160. <nz-form-control nzErrorTip="请选择快捷类型!">
  161. <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="type" nzShowSearch nzAllowClear nzPlaceHolder="请选择快捷类型" (nzOpenChange)="openSchedule($event)">
  162. <ng-container *ngFor="let data of typeList">
  163. <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
  164. </nz-option>
  165. </ng-container>
  166. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  167. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  168. </nz-option>
  169. </nz-select>
  170. </nz-form-control>
  171. </nz-form-item>
  172. </form>
  173. </overlay-scrollbars>
  174. <div class="display_flex justify-content_flex-center">
  175. <button nzType="primary" nz-button (click)="submitForm()" [nzLoading]="btnLoading">确认</button>
  176. <button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
  177. </div>
  178. </div>
  179. </div>
  180. <!-- 查看模态框 -->
  181. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="lookModal">
  182. <div class="viewModalBody">
  183. <div class="title">查看<i class="icon_transport transport-guanbi" (click)="close()"></i>
  184. </div>
  185. <overlay-scrollbars #osComponentRef1 class="content">
  186. <div class="df view-item">
  187. <div class="df-item">告警id:{{itemData.alarmId || '-'}}</div>
  188. <div class="df-item">告警ip:{{itemData.alarmIp || '-'}}</div>
  189. <div class="df-item">告警来源:{{itemData.alarmSource || '-'}}</div>
  190. <div class="df-item">告警状态:{{itemData.alarmStatus?.name || '-'}}</div>
  191. </div>
  192. <div class="df view-item">
  193. <div class="df-item">告警地点:{{itemData.alarmLocation || '-'}}</div>
  194. <div class="df-item">紧急度:{{itemData.alarmUrgency?.name || '-'}}</div>
  195. <div class="df-item">告警时间:{{itemData.alarmActiveTime | date:'yyyy-MM-dd HH:mm:ss' || '-'}}</div>
  196. </div>
  197. <div class="view-item">告警内容:{{itemData.alarmContent || '-'}}</div>
  198. <div class="view-item">其他数据:{{itemData.alarmExtension || '-'}}</div>
  199. <div class="view-item">告警描述:{{itemData.alarmDescription || '-'}}</div>
  200. </overlay-scrollbars>
  201. <div class="display_flex justify-content_flex-center">
  202. <button nzType="primary" nz-button (click)="close()">知道了</button>
  203. </div>
  204. </div>
  205. </div>
  206. <!-- 模态框 -->
  207. <app-dialog-delete [delModal]="optModal" (hideDelModalEvent)="hideOptModal()"
  208. [btnLoading]="btnLoading" (confirmDelEvent)="confirmOpt()"
  209. [content]="infoContent"></app-dialog-delete>
  210. <!-- 发送模态框 -->
  211. <app-dialog-delete
  212. [delModal]="sendModal"
  213. (hideDelModalEvent)="hideSendModal()"
  214. [btnLoading]="btnLoading"
  215. (confirmDelEvent)="confirmSend()"
  216. [content]="tipsMsg2"
  217. ></app-dialog-delete>
  218. <!-- 操作成功/失败提示框 -->
  219. <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow" [info]="promptInfo"></app-prompt-modal>
  220. <!-- 遮罩 -->
  221. <app-mask *ngIf="maskFlag"></app-mask>
  222. <!-- 详情 -->
  223. <app-incident-detail [id]="coopData.incidentId" *ngIf="detailModalShow" (closeModelHs)="closeDetailModelOrder($event)" (confirmModelHs)="confirmDetailModelOrder($event)"></app-incident-detail>
  224. <router-outlet (deactivate)="refreshList()"></router-outlet>