eventDetailView.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <v-dialog v-model="props.isEventDetailModal" persistent width="62.5rem">
  3. <div class="v-common-dialog-wrapper custom-dialog">
  4. <div class="modal-tit">
  5. <strong>이벤트 이력 상세 정보</strong>
  6. <button class="btn-close" @click="fnEventDetailClose()"></button>
  7. </div>
  8. <div class="v-common-dialog-content">
  9. <div class="form-style1 col4 shadow--type">
  10. <table>
  11. <colgroup>
  12. <col style="width:8.75rem;">
  13. <col style="calc(50% - 8.75rem);">
  14. <col style="width:8.75rem;">
  15. <col style="calc(50% - 8.75rem);">
  16. </colgroup>
  17. <tbody>
  18. <tr>
  19. <th>번호</th>
  20. <td>{{ props.eventDetailData.no }}</td>
  21. <th>이벤트 유형</th>
  22. <td>{{ props.eventDetailData.eventType }}</td>
  23. </tr>
  24. <tr>
  25. <th>이벤트 코드</th>
  26. <td>{{ props.eventDetailData.eventCode }}</td>
  27. <th>심각도</th>
  28. <td class="critical">{{ props.eventDetailData.severity }}</td>
  29. </tr>
  30. <tr>
  31. <th>알람 그룹</th>
  32. <td>{{ props.eventDetailData.alarmGroup }}</td>
  33. <th>위치</th>
  34. <td>{{ props.eventDetailData.location }}</td>
  35. </tr>
  36. <tr>
  37. <th>테넌트 이름</th>
  38. <td>{{ props.eventDetailData.tenantName }}</td>
  39. <th>수집 시스템</th>
  40. <td>{{ props.eventDetailData.emsName }}</td>
  41. </tr>
  42. <tr>
  43. <th>NE 그룹 이름</th>
  44. <td>{{ props.eventDetailData.neGroup }}</td>
  45. <th>NE 이름</th>
  46. <td>{{ props.eventDetailData.neName }}</td>
  47. </tr>
  48. <tr>
  49. <th>발생 원인</th>
  50. <td colspan="3">{{ props.eventDetailData.probcause }}</td>
  51. </tr>
  52. <tr>
  53. <th>추가 정보</th>
  54. <td colspan="3">{{ props.eventDetailData.additionalText }}</td>
  55. </tr>
  56. <tr>
  57. <th>발생 시간</th>
  58. <td>{{ props.eventDetailData.alarmTime }}</td>
  59. <th>상태</th>
  60. <td>{{ props.eventDetailData.alarmState }}</td>
  61. </tr>
  62. </tbody>
  63. </table>
  64. </div>
  65. <div class="form-style1 col4 shadow--type mt--125rem" v-if="props.currentAlarmYn">
  66. <table>
  67. <colgroup>
  68. <col style="width:8.75rem;">
  69. <col style="calc(50% - 8.75rem);">
  70. <col style="width:8.75rem;">
  71. <col style="calc(50% - 8.75rem);">
  72. </colgroup>
  73. <tbody>
  74. <tr>
  75. <th>인지 시간</th>
  76. <td>{{ props.eventDetailData.ackTime }}</td>
  77. <th>인지 사용자</th>
  78. <td>{{ props.eventDetailData.ackUser }}</td>
  79. </tr>
  80. <tr>
  81. <th>인지 시스템</th>
  82. <td colspan="3">{{ props.eventDetailData.ackSystem }}</td>
  83. </tr>
  84. </tbody>
  85. </table>
  86. </div>
  87. <div class="form-style1 col4 shadow--type mt--125rem" v-if="props.currentAlarmYn">
  88. <table>
  89. <colgroup>
  90. <col style="width:8.75rem;">
  91. <col style="calc(50% - 8.75rem);">
  92. <col style="width:8.75rem;">
  93. <col style="calc(50% - 8.75rem);">
  94. </colgroup>
  95. <tbody>
  96. <tr>
  97. <th>해제 시간</th>
  98. <td>{{ props.eventDetailData.clearTime }}</td>
  99. <th>해제 사용자</th>
  100. <td>{{ props.eventDetailData.clearUser }}</td>
  101. </tr>
  102. <tr>
  103. <th>해제 시스템</th>
  104. <td colspan="3">{{ props.eventDetailData.clearSystem }}</td>
  105. </tr>
  106. </tbody>
  107. </table>
  108. </div>
  109. <div class="form-style1 col4 shadow--type mt--125rem" v-if="!props.currentAlarmYn">
  110. <table>
  111. <colgroup>
  112. <col style="width:8.75rem;">
  113. <col style="calc(50% - 8.75rem);">
  114. <col style="width:8.75rem;">
  115. <col style="calc(50% - 8.75rem);">
  116. </colgroup>
  117. <tbody>
  118. <tr>
  119. <th>인지/해제 사용자</th>
  120. <td>{{ props.eventDetailData.modifyUser }}</td>
  121. <th>인지/해제 시스템</th>
  122. <td>{{ props.eventDetailData.modifySystem }}</td>
  123. </tr>
  124. </tbody>
  125. </table>
  126. </div>
  127. </div>
  128. <div class="btn-wrap">
  129. <v-btn class="custom-btn btn-blue mini" @click="fnEventDetailClose()"><i class="ico"></i>확인</v-btn></div>
  130. </div>
  131. </v-dialog>
  132. </template>
  133. <script setup>
  134. import { useI18n } from 'vue-i18n';
  135. /***********************
  136. * import
  137. ************************/
  138. /***********************
  139. * plugins inject
  140. ************************/
  141. const { $toast, $log, $dayjs, $eventBus } = useNuxtApp()
  142. // props
  143. const props = defineProps({
  144. isEventDetailModal: Boolean,
  145. eventDetailData: Object,
  146. currentAlarmYn: Boolean //true:currentAlarm활성화
  147. })
  148. // 참조가능 데이터 설정
  149. defineExpose({
  150. fnInit
  151. })
  152. const emit = defineEmits(['closeModal'])
  153. const i18n = useI18n()
  154. const detailData = ref({})
  155. function fnInit(){
  156. // 데이터 초기화
  157. }
  158. function fnEventDetailClose() {
  159. emit('closeModal')
  160. }
  161. </script>