securityAlarmManage.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <div class="securityAlarmManage">
  3. <div class="page-query-core">
  4. <Query :show="['floor', 'time']" :query-data.sync="queryData" :reset="reset" :search="search"></Query>
  5. <Card title="核心指标">
  6. <CoreData :data-list="coreData"></CoreData>
  7. </Card>
  8. </div>
  9. <div style="margin-top: 12px">
  10. <a-row :gutter="[12,12]">
  11. <a-col :span="16">
  12. <div class="securityAlarmManage-distributeMap">
  13. <Card title="告警分布">
  14. <SecurityAlarmManageDistributeMap></SecurityAlarmManageDistributeMap>
  15. </Card>
  16. </div>
  17. </a-col>
  18. <a-col :span="8">
  19. <div class="securityAlarmManage-trend">
  20. <Card title="告警趋势">
  21. <div style="padding: 0 15px 8px">
  22. <SecurityAlarmManageTrend ref="SecurityAlarmManageTrend" :query-data="queryData" :height="415"></SecurityAlarmManageTrend>
  23. </div>
  24. </Card>
  25. </div>
  26. </a-col>
  27. <a-col :span="8">
  28. <div class="securityAlarmManage-distribute">
  29. <Card title="楼层告警分布">
  30. <SecurityAlarmManageDistribute ref="SecurityAlarmManageDistribute" :query-data="queryData" :height="300"></SecurityAlarmManageDistribute>
  31. </Card>
  32. </div>
  33. </a-col>
  34. <a-col :span="8">
  35. <div class="securityAlarmManage-onlineTrend">
  36. <Card title="设备在线趋势">
  37. <div style="padding: 0 15px">
  38. <SecurityAlarmManageOnlineTrend ref="SecurityAlarmManageOnlineTrend" :query-data="queryData" :height="300"></SecurityAlarmManageOnlineTrend>
  39. </div>
  40. </Card>
  41. </div>
  42. </a-col>
  43. <a-col :span="8">
  44. <div class="securityAlarmManage-category">
  45. <Card title="告警分类">
  46. <SecurityAlarmManageCategory ref="SecurityAlarmManageCategory" :query-data="queryData" :height="300"></SecurityAlarmManageCategory>
  47. </Card>
  48. </div>
  49. </a-col>
  50. </a-row>
  51. </div>
  52. </div>
  53. </template>
  54. <script>
  55. import Query from "@/components/common/query.vue";
  56. import Card from "@/components/common/card.vue";
  57. import CoreData from "@/components/common/coreData.vue";
  58. import SecurityAlarmManageDistributeMap from "@/components/security/alarm/manage/securityAlarmManageDistributeMap.vue";
  59. import SecurityAlarmManageTrend from "@/components/security/alarm/manage/securityAlarmManageTrend.vue";
  60. import SecurityAlarmManageDistribute from "@/components/security/alarm/manage/securityAlarmManageDistribute.vue";
  61. import SecurityAlarmManageOnlineTrend from "@/components/security/alarm/manage/securityAlarmManageOnlineTrend.vue";
  62. import SecurityAlarmManageCategory from "@/components/security/alarm/manage/securityAlarmManageCategory.vue";
  63. import apiSecurityAlarmMgr from "@/api/security/apiSecurityAlarmMgr";
  64. export default {
  65. data() {
  66. return {
  67. queryData: {
  68. floor: '0',
  69. timeRange: this.$util.dateUtil.getNearlyMonthRange()
  70. },
  71. coreData: [
  72. {
  73. title: '告警事件',
  74. num: 0,
  75. historyDesc: '同比',
  76. historyNum: 0
  77. }, {
  78. title: '紧急告警事件',
  79. num: 0,
  80. historyDesc: '同比',
  81. historyNum: 0
  82. }, {
  83. title: '已处理事件',
  84. num: 0,
  85. historyDesc: '同比',
  86. hideTrend: true,
  87. historyNum: 0
  88. }, {
  89. title: '告警最多类型',
  90. num: '',
  91. historyDesc: '同比',
  92. historyNum: 0
  93. }, {
  94. type: 1,
  95. title: '值得关注',
  96. }
  97. ]
  98. }
  99. },
  100. components: {
  101. Card,
  102. Query,
  103. CoreData,
  104. SecurityAlarmManageDistributeMap,
  105. SecurityAlarmManageTrend,
  106. SecurityAlarmManageDistribute,
  107. SecurityAlarmManageOnlineTrend,
  108. SecurityAlarmManageCategory,
  109. },
  110. mounted() {
  111. this.init()
  112. },
  113. methods: {
  114. init() {
  115. this.$store.loadingStore().loadingWithApi(this.getCoreData(), 2000)
  116. },
  117. reset() {
  118. },
  119. search() {
  120. this.$util.asyncPromise(
  121. this.getCoreData(),
  122. this.$refs.SecurityAlarmManageCategory.getData(),
  123. this.$refs.SecurityAlarmManageDistribute.getData(),
  124. this.$refs.SecurityAlarmManageOnlineTrend.getData(),
  125. this.$refs.SecurityAlarmManageTrend.getData()
  126. )
  127. },
  128. getCoreData() {
  129. return apiSecurityAlarmMgr.getCoreData(this.queryData).then(res=>{
  130. this.coreData[0].num = res.list[0].value
  131. this.coreData[0].historyNum = res.list[0].compare
  132. this.coreData[1].num = res.list[1].value
  133. this.coreData[1].historyNum = res.list[1].compare
  134. this.coreData[2].num = res.list[2].value
  135. this.coreData[2].historyNum = res.list[2].compare
  136. this.coreData[3].num = res.list[3].value
  137. this.coreData[3].historyNum = res.list[3].compare
  138. this.coreData[4].content = res.worthAttention
  139. })
  140. }
  141. }
  142. }
  143. </script>
  144. <style lang="less" scoped>
  145. .securityAlarmManage {
  146. padding-bottom: 20px;
  147. .securityAlarmManage-distributeMap {
  148. height: 450px;
  149. overflow: hidden;
  150. }
  151. .securityAlarmManage-trend {
  152. height: 450px;
  153. overflow: hidden;
  154. }
  155. .securityAlarmManage-distribute {
  156. }
  157. }
  158. </style>