right.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <template>
  2. <BasePanelRight :isHidePanel="isHide">
  3. <div class="num-area">
  4. <div class="txt-num"><img src="@/assets/image/smart-early-warning/yjNum.png" alt="">今日预警数量:3,258</div>
  5. <div class="txt-num"><img src="@/assets/image/smart-early-warning/jrDcl.png" alt="">今日待处理:3,258</div>
  6. </div>
  7. <div class="warning-container">
  8. <BaseMain title="预警详情">
  9. <template v-slot:mainArea>
  10. <div class="detail-container">
  11. <Carousel :items="items" />
  12. <el-collapse v-model="activeNames" class="v-collapse">
  13. <el-collapse-item title="预警来源" name="1">
  14. <div class="form-content">
  15. <div class="form-item">
  16. <div class="label">摄像机编号:</div>
  17. <div class="value">{{ info.deviceCode }}</div>
  18. </div>
  19. <div class="form-item">
  20. <div class="label">摄像机名称:</div>
  21. <div class="value">{{ info.deviceName }}</div>
  22. </div>
  23. <div class="form-item">
  24. <div class="label">通道名称:</div>
  25. <div class="value">{{ info.channelName }}</div>
  26. </div>
  27. <!-- <div class="form-item">
  28. <div class="label">摄像机厂家:</div>
  29. <div class="value">{{ info.params4 }}</div>
  30. </div>
  31. <div class="form-item">
  32. <div class="label">摄像机挂高:</div>
  33. <div class="value">{{ info.params5 }}</div>
  34. </div> -->
  35. <div class="form-item">
  36. <div class="label">摄像机经纬度:</div>
  37. <div class="value">{{ info.longitude }},{{ info.latitude }}</div>
  38. </div>
  39. <div class="form-item">
  40. <div class="label">摄像机地址:</div>
  41. <div class="value">{{ info.address }}</div>
  42. </div>
  43. <div class="form-item">
  44. <div class="label">置信度:</div>
  45. <div class="value">{{ info.confidenceLevel }}</div>
  46. </div>
  47. <!-- <div class="form-item">
  48. <div class="label">水平方位角:</div>
  49. <div class="value">{{ info.params9 }}</div>
  50. </div> -->
  51. </div>
  52. </el-collapse-item>
  53. <el-collapse-item title="事件信息" name="2">
  54. <div class="form-content">
  55. <div class="form-item">
  56. <div class="label">事件编号:</div>
  57. <div class="value">{{ info.orderId }}</div>
  58. </div>
  59. <div class="form-item">
  60. <div class="label">事件标题:</div>
  61. <div class="value">{{ info.alarmBody }}</div>
  62. </div>
  63. <div class="form-item">
  64. <div class="label">预警来源:</div>
  65. <div class="value">{{ info.warningSourceName }}</div>
  66. </div>
  67. <div class="form-item">
  68. <div class="label">预警类型:</div>
  69. <div class="value">{{ info.warningTypeName }}</div>
  70. </div>
  71. <!-- <div class="form-item">
  72. <div class="label">预警原因:</div>
  73. <div class="value">{{ info.params5 }}</div>
  74. </div> -->
  75. <div class="form-item">
  76. <div class="label">重要等级:</div>
  77. <div class="value">{{ info.emergencyLevelName }}</div>
  78. </div>
  79. <div class="form-item">
  80. <div class="label">预警时间:</div>
  81. <div class="value">{{ info.alarmTime }}</div>
  82. </div>
  83. <!-- <div class="form-item">
  84. <div class="label">所属网格:</div>
  85. <div class="value">{{ info.params8 }}</div>
  86. </div>
  87. <div class="form-item">
  88. <div class="label">所属网格员:</div>
  89. <div class="value">{{ info.params9 }}</div>
  90. </div>
  91. <div class="form-item">
  92. <div class="label">事发地点:</div>
  93. <div class="value">{{ info.params10 }}</div>
  94. </div>
  95. <div class="form-item">
  96. <div class="label">经纬度:</div>
  97. <div class="value">{{ info.params11 }}</div>
  98. </div>
  99. <div class="form-item">
  100. <div class="label">事件描述:</div>
  101. <div class="value">{{ info.params12 }}</div>
  102. </div> -->
  103. </div>
  104. </el-collapse-item>
  105. </el-collapse>
  106. </div>
  107. </template>
  108. </BaseMain>
  109. </div>
  110. </BasePanelRight>
  111. </template>
  112. <script>
  113. import BasePanelRight from '@/components/base-panel/base-panel-right'
  114. import BaseMain from '@/components/base-main/base-main.vue'
  115. import Carousel from './carousel.vue'
  116. import ImgUrl from '@/assets/image/smart-early-warning/banner.png'
  117. export default {
  118. props:{
  119. info:Object
  120. },
  121. data() {
  122. return {
  123. isHide:true,
  124. items: [
  125. {
  126. image: ImgUrl,
  127. thumbnail: ImgUrl
  128. },
  129. {
  130. image: ImgUrl,
  131. thumbnail: ImgUrl
  132. },
  133. {
  134. image: ImgUrl,
  135. thumbnail: ImgUrl
  136. }
  137. ],
  138. activeNames: ['1', '2']
  139. }
  140. },
  141. components: {
  142. BasePanelRight,
  143. BaseMain,
  144. Carousel
  145. }
  146. }
  147. </script>
  148. <style lang="scss" scoped>
  149. .num-area{
  150. position: absolute;
  151. top: px-to-rem(8);
  152. right: px-to-rem(130);
  153. z-index: 1;
  154. display: flex;
  155. .txt-num{
  156. display: flex;
  157. align-items: center;
  158. width: px-to-rem(180);
  159. font-weight: 400;
  160. font-size: px-to-rem(14);
  161. color: #FFFFFF;
  162. margin-left: px-to-rem(130);
  163. img{
  164. width: px-to-rem(30);
  165. margin-bottom: px-to-rem(7);
  166. }
  167. }
  168. }
  169. .warning-container {
  170. position: absolute;
  171. top: px-to-rem(30);
  172. z-index: 1;
  173. left: px-to-rem(-4);
  174. height: calc(100% - px-to-rem(55));
  175. :deep(.baseMainContainer) {
  176. height: inherit;
  177. .content-area {
  178. height: 100%;
  179. }
  180. }
  181. .detail-container {
  182. padding: px-to-rem(10) px-to-rem(8);
  183. .form-content {
  184. .form-item {
  185. display: flex;
  186. justify-content: flex-end;
  187. gap: px-to-rem(11);
  188. .label {
  189. width: 35%;
  190. font-weight: 400;
  191. font-size: px-to-rem(14);
  192. color: #abb4c1;
  193. text-align: right;
  194. }
  195. .value {
  196. width: 65%;
  197. font-weight: 400;
  198. font-size: px-to-rem(14);
  199. color: #ffffff;
  200. overflow: hidden;
  201. text-overflow: ellipsis;
  202. white-space: nowrap;
  203. }
  204. }
  205. }
  206. }
  207. .v-collapse {
  208. border-top:0;
  209. border-bottom:0;
  210. :deep(.el-collapse-item__header) {
  211. background: #26344b;
  212. font-weight: 500;
  213. font-size: px-to-rem(14);
  214. color: #ffffff;
  215. padding: px-to-rem(5) px-to-rem(11);
  216. height: auto;
  217. line-height: initial;
  218. border-bottom: 0;
  219. border-left: px-to-rem(1) solid #4f9fff;
  220. }
  221. :deep(.el-collapse-item__wrap) {
  222. background-color: transparent;
  223. border-bottom: 0;
  224. }
  225. :deep(.el-collapse-item__content) {
  226. padding: px-to-rem(13) px-to-rem(0);
  227. }
  228. }
  229. }
  230. </style>