From 4d257552cba074347e8c9043b875edcc77a686d8 Mon Sep 17 00:00:00 2001 From: g82tt Date: Sun, 17 May 2026 15:38:34 +0800 Subject: [PATCH] =?UTF-8?q?W1:=20=E5=AE=9E=E6=97=B6=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E9=A1=B5=E5=AF=B9=E6=8E=A5=E7=BD=91=E5=85=B3=20=E7=9C=9F?= =?UTF-8?q?=E5=AE=9E=E6=91=84=E5=83=8F=E6=9C=BA+WS-FLV=E6=92=AD=E6=94=BE+?= =?UTF-8?q?=E4=BA=91=E5=8F=B0=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- warehouse/src/view/video/Live.vue | 376 ++++++++---------------------- 1 file changed, 93 insertions(+), 283 deletions(-) diff --git a/warehouse/src/view/video/Live.vue b/warehouse/src/view/video/Live.vue index aad9fe2..458b246 100644 --- a/warehouse/src/view/video/Live.vue +++ b/warehouse/src/view/video/Live.vue @@ -3,7 +3,7 @@

实时监控画面

- 刷新画面 + 刷新画面 全屏显示
@@ -16,14 +16,12 @@
设备总数
-
{{ qualifiedCount }}
达标总数
-
{{ qualifiedRate }}
@@ -48,15 +46,30 @@

主监控画面

-
- -

正在加载 {{ selectedCamera.name }} 的实时画面...

+ +
+ +
+ +

{{ streamLoading ? '正在加载' : '' }} {{ selectedCamera.name }} 的实时画面...

+
-
- 播放 - 暂停 - 刷新 - 全屏 + +
+

云台控制

+
+ +
+ + + +
+ +
+ + + +
+
@@ -79,299 +92,96 @@ \ No newline at end of file +.live-monitor { height: 100%; display: flex; flex-direction: column; padding: 20px; } +.monitor-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; } +.monitor-header h2 { margin: 0; color: #fff; font-size: 20px; font-weight: 500; } +.monitor-controls { display: flex; gap: 10px; } +.camera-list { margin-bottom: 20px; } +.camera-list h3 { margin: 0 0 15px 0; color: #fff; font-size: 16px; font-weight: 500; } +.camera-item { background: rgba(255,255,255,0.05); cursor: pointer; } +.camera-name { font-size: 14px; color: #fff; } +.camera-location { font-size: 12px; color: #999; } +.camera-status.online { color: #67c23a; } +.camera-status.offline { color: #f56c6c; } +.stats-cards { display: flex; gap: 16px; margin-bottom: 20px; } +.stat-card { flex: 1; background: rgba(255,255,255,0.05); } +.stat-value { font-size: 24px; color: #409eff; font-weight: bold; } +.stat-label { font-size: 12px; color: #999; } +.main-view { flex: 1; } +.main-view h3 { color: #fff; margin-bottom: 10px; } +.video-container { display: flex; gap: 12px; } +.video-area { flex: 1; min-height: 400px; background: #000; display: flex; align-items: center; justify-content: center; } +.video-placeholder { color: #fff; text-align: center; } +.video-placeholder .el-icon { font-size: 48px; margin-bottom: 8px; } +.ptz-panel { width: 120px; padding: 10px; background: rgba(255,255,255,0.05); border-radius: 8px; } +.ptz-panel h4 { color: #fff; text-align: center; margin: 0 0 8px 0; font-size: 13px; } +.ptz-pad { display: flex; flex-direction: column; align-items: center; gap: 4px; } +.ptz-row { display: flex; gap: 4px; } +.no-selection { flex: 1; display: flex; align-items: center; justify-content: center; } +.system-info { margin-top: 20px; } +.system-info h3 { color: #fff; margin-bottom: 10px; } +