Files
cattleTransportation/datav/monitor.html

256 lines
7.1 KiB
HTML
Raw Normal View History

2025-12-10 17:19:01 +08:00
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>仓库监控</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
<style>
body {
background: url(images/data08.png) no-repeat #061537;
background-size: cover;
color: #fff;
font-family: '微软雅黑';
display: flex;
justify-content: flex-start;
align-items: center;
height: 100vh;
margin: 0;
flex-direction: column;
overflow: hidden;
}
.head_top {
position: relative;
text-align: center;
width: 100%;
margin-bottom: 10px;
height: 60px;
flex-shrink: 0;
}
.head_top .head_decor {
display: block;
width: 80%;
margin: 0 auto;
}
.head_logo {
position: absolute;
top: 6px;
left: 50%;
transform: translateX(-50%);
color: #55bfff;
font-size: 35px;
font-weight: 600;
z-index: 10;
text-shadow: 0 0 10px rgba(0, 216, 255, 0.5);
}
.decor_side {
position: absolute;
top: 15px;
width: 45px;
height: auto;
z-index: 11;
opacity: 0.9;
}
.decor_left {
left: 50%;
margin-left: -170px; /* Logo half width ~110px + spacing */
}
.decor_right {
left: 50%;
margin-left: 125px; /* Logo half width ~110px + spacing */
transform: scaleX(-1);
}
.monitor-box {
background: rgba(13, 38, 71, 0.8);
padding: 10px;
border: none;
border-radius: 0;
text-align: center;
box-shadow: none;
width: 100%;
max-width: none;
flex: 1;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
h1 {
color: #00d8ff;
margin-bottom: 10px;
font-size: 20px;
text-align: left;
padding-left: 10px;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 0;
}
.back-btn {
margin-top: 0;
display: inline-block;
padding: 5px 15px;
background: #0096ff;
color: #fff;
border-radius: 5px;
text-decoration: none;
transition: all 0.3s;
font-size: 14px;
}
.back-btn:hover {
background: #00d8ff;
color: #fff;
text-decoration: none;
}
.camera-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(2, 1fr);
gap: 10px;
margin-top: 0;
flex: 1;
height: 100%;
}
.camera-item {
background: rgba(0, 0, 0, 0.3);
padding: 5px;
border: 1px solid #134572;
border-radius: 4px;
display: flex;
flex-direction: column;
}
.camera-mock {
width: 100%;
flex: 1;
padding-bottom: 0;
background: #000;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #333;
position: relative;
overflow: hidden;
}
.camera-content {
position: relative;
top: auto;
left: auto;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.camera-label {
color: #aaa;
font-size: 14px;
margin-top: 5px;
text-align: left;
padding-left: 5px;
flex-shrink: 0;
}
.camera-mock::after {
content: 'LIVE';
position: absolute;
top: 10px;
right: 10px;
color: red;
font-size: 12px;
font-weight: bold;
animation: blink 1s infinite;
z-index: 10;
}
@keyframes blink {
50% { opacity: 0; }
}
</style>
</head>
<body>
<div class="head_top">
<img class="head_decor" src="images/header.png" alt="标题装饰">
<img class="decor_side decor_left" src="images/ksh42.png" alt="">
<div class="head_logo">牛只管理系统</div>
<img class="decor_side decor_right" src="images/ksh42.png" alt="">
</div>
<div class="monitor-box">
<h1 id="warehouse-title">
<span>正在连接仓库监控...</span>
<a href="index.html" class="back-btn">返回大屏</a>
</h1>
<div class="camera-grid">
<!-- 摄像头 1 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">大门监控</div>
</div>
<!-- 摄像头 2 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">仓库内景 A区</div>
</div>
<!-- 摄像头 3 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">仓库内景 B区</div>
</div>
<!-- 摄像头 4 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">卸货区</div>
</div>
<!-- 摄像头 5 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">饲料区</div>
</div>
<!-- 摄像头 6 -->
<div class="camera-item">
<div class="camera-mock">
<div class="camera-content">
<span class="glyphicon glyphicon-facetime-video" style="font-size: 30px; color: #333;"></span>
</div>
</div>
<div class="camera-label">通道监控</div>
</div>
</div>
</div>
<script>
// 获取URL参数
function getQueryParam(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
const warehouse = getQueryParam('warehouse');
if (warehouse) {
document.querySelector('#warehouse-title span').textContent = warehouse + ' - 实时监控';
} else {
document.querySelector('#warehouse-title span').textContent = '未指定仓库';
}
</script>
</body>
</html>