right.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <BasePanelRight>
  3. <div class="warning-container">
  4. <BaseMain title="预警详情">
  5. <template v-slot:mainArea>
  6. <div class="detail-container">
  7. <Carousel :items="items" />
  8. <el-collapse v-model="activeNames" @change="handleChange" class="v-collapse">
  9. <el-collapse-item title="预警来源" name="1">
  10. <div class="form-content">
  11. <div class="form-item">
  12. <div class="label">摄像机编号:</div>
  13. <div class="value">{{ sourceObj.params1 }}</div>
  14. </div>
  15. <div class="form-item">
  16. <div class="label">摄像机名称:</div>
  17. <div class="value">{{ sourceObj.params2 }}</div>
  18. </div>
  19. <div class="form-item">
  20. <div class="label">通道名称:</div>
  21. <div class="value">{{ sourceObj.params3 }}</div>
  22. </div>
  23. <div class="form-item">
  24. <div class="label">摄像机厂家:</div>
  25. <div class="value">{{ sourceObj.params4 }}</div>
  26. </div>
  27. <div class="form-item">
  28. <div class="label">摄像机挂高:</div>
  29. <div class="value">{{ sourceObj.params5 }}</div>
  30. </div>
  31. <div class="form-item">
  32. <div class="label">摄像机经纬度:</div>
  33. <div class="value">{{ sourceObj.params6 }}</div>
  34. </div>
  35. <div class="form-item">
  36. <div class="label">摄像机地址:</div>
  37. <div class="value">{{ sourceObj.params7 }}</div>
  38. </div>
  39. <div class="form-item">
  40. <div class="label">置信度:</div>
  41. <div class="value">{{ sourceObj.params8 }}</div>
  42. </div>
  43. <div class="form-item">
  44. <div class="label">水平方位角:</div>
  45. <div class="value">{{ sourceObj.params9 }}</div>
  46. </div>
  47. </div>
  48. </el-collapse-item>
  49. <el-collapse-item title="事件信息" name="2">
  50. <div class="form-content">
  51. <div class="form-item">
  52. <div class="label">事件编号:</div>
  53. <div class="value">{{ eventInfo.params1 }}</div>
  54. </div>
  55. <div class="form-item">
  56. <div class="label">事件标题:</div>
  57. <div class="value">{{ eventInfo.params2 }}</div>
  58. </div>
  59. <div class="form-item">
  60. <div class="label">预警来源:</div>
  61. <div class="value">{{ eventInfo.params3 }}</div>
  62. </div>
  63. <div class="form-item">
  64. <div class="label">预警类型:</div>
  65. <div class="value">{{ eventInfo.params4 }}</div>
  66. </div>
  67. <div class="form-item">
  68. <div class="label">预警原因:</div>
  69. <div class="value">{{ eventInfo.params5 }}</div>
  70. </div>
  71. <div class="form-item">
  72. <div class="label">重要等级:</div>
  73. <div class="value">{{ eventInfo.params6 }}</div>
  74. </div>
  75. <div class="form-item">
  76. <div class="label">预警时间:</div>
  77. <div class="value">{{ eventInfo.params7 }}</div>
  78. </div>
  79. <div class="form-item">
  80. <div class="label">所属网格:</div>
  81. <div class="value">{{ eventInfo.params8 }}</div>
  82. </div>
  83. <div class="form-item">
  84. <div class="label">所属网格员:</div>
  85. <div class="value">{{ eventInfo.params9 }}</div>
  86. </div>
  87. <div class="form-item">
  88. <div class="label">事发地点:</div>
  89. <div class="value">{{ eventInfo.params10 }}</div>
  90. </div>
  91. <div class="form-item">
  92. <div class="label">经纬度:</div>
  93. <div class="value">{{ eventInfo.params11 }}</div>
  94. </div>
  95. <div class="form-item">
  96. <div class="label">事件描述:</div>
  97. <div class="value">{{ eventInfo.params12 }}</div>
  98. </div>
  99. </div>
  100. </el-collapse-item>
  101. </el-collapse>
  102. </div>
  103. </template>
  104. </BaseMain>
  105. </div>
  106. </BasePanelRight>
  107. </template>
  108. <script>
  109. import BasePanelRight from '@/components/base-panel/base-panel-right'
  110. import BaseMain from '@/components/base-main/base-main.vue'
  111. import Carousel from './carousel.vue'
  112. import ImgUrl from '@/assets/image/smart-early-warning/banner.png'
  113. export default {
  114. data() {
  115. return {
  116. items: [
  117. {
  118. image: ImgUrl,
  119. thumbnail: ImgUrl
  120. },
  121. {
  122. image: ImgUrl,
  123. thumbnail: ImgUrl
  124. },
  125. {
  126. image: ImgUrl,
  127. thumbnail: ImgUrl
  128. }
  129. ],
  130. sourceObj: {
  131. params1: '43030400831327000100',
  132. params2: '咸宁阳兴平仪空村综合机房',
  133. params3: '咸宁阳兴平仪空村综合机房梯次LY',
  134. params4: '大华',
  135. params5: '35.0米',
  136. params6: '112.985866,27.814898',
  137. params7: '咸宁阳兴平仪空村综合机房',
  138. params8: '0.80615',
  139. params9: 'N8.37°E'
  140. },
  141. eventInfo: {
  142. params1: '202508251210241338766566',
  143. params2: '流域乱建预警',
  144. params3: 'AI预警',
  145. params4: '四乱预警',
  146. params5: '暂无',
  147. params6: '一级',
  148. params7: '2025-08-25 09:36:31',
  149. params8: '双马街道',
  150. params9: '戴永强',
  151. params10: '咸宁阳兴平仪空村综合机房',
  152. params11: '112.986374,27.817957',
  153. params12: '暂无'
  154. },
  155. activeNames: ['1','2']
  156. }
  157. },
  158. components: {
  159. BasePanelRight,
  160. BaseMain,
  161. Carousel
  162. },
  163. methods: {
  164. handleChange() {}
  165. }
  166. }
  167. </script>
  168. <style lang="scss" scoped>
  169. .warning-container {
  170. position: absolute;
  171. top: px-to-rem(66);
  172. z-index: 1;
  173. left: px-to-rem(-4);
  174. height: calc(100% - px-to-rem(75));
  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. }
  201. }
  202. }
  203. }
  204. .v-collapse {
  205. :deep(.el-collapse-item__header) {
  206. background: #26344b;
  207. font-weight: 500;
  208. font-size: px-to-rem(14);
  209. color: #ffffff;
  210. padding: px-to-rem(5) px-to-rem(11);
  211. height: auto;
  212. line-height: initial;
  213. border-bottom: 0;
  214. border-left: px-to-rem(1) solid #4f9fff;
  215. }
  216. :deep(.el-collapse-item__wrap) {
  217. background-color: transparent;
  218. border-bottom: 0;
  219. }
  220. :deep(.el-collapse-item__content){
  221. padding:px-to-rem(8) px-to-rem(0)
  222. }
  223. }
  224. }
  225. </style>