hb_zhgd_screen/pages/dataAnalysisOctober/environDetection.html

328 lines
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>环境监测分析</title>
<link rel="stylesheet" href="../../css/font.css">
<link rel="stylesheet" href="../../plugin/layui-v2.9.7/layui/css/layui.css">
<link rel="stylesheet" href="../../css/dataAnalysis/dataAnalysis.css">
<link rel="stylesheet" href="../../css/shuiYin/shuiYin.css">
<link rel="stylesheet" href="../../css/coreTable.css" />
<link rel="stylesheet" href="../../css/accessMge/accessMge.css">
<script src="../../js/publics/sm4.js" type="text/javascript"></script>
<script src="../../js/publics/jquery-3.6.0.min.js" type="text/javascript"></script>
<script src="../../js/publics/public.js"></script>
<script src="../../plugin/scroll/jquery.nicescroll.min.js"></script>
<script src="../../js/publics/4.3.0/echarts.min.js"></script>
<script src="../../plugin/layui-v2.9.7/layui/layui.js"></script>
<script src="../../js/publics/aescbc.js"></script>
<script src="../../js/publics/sm3.js"></script>
<script src="../../api/commonRequest.js"></script>
<style>
#proQuality {
width: 100%;
height: 100%;
position: relative;
/* padding: 1%;
box-sizing: border-box; */
overflow: hidden;
}
/* 顶部查询区域 - 绝对定位,不占用主内容区域高度 */
.filter-bar {
position: absolute;
top: 0;
left: 1%;
right: 1%;
height: 50px;
display: flex;
align-items: center;
gap: 12px;
padding: 0 10px;
z-index: 10;
}
.date-range-input {
width: 280px;
height: 36px;
background: rgba(13, 34, 37, 0.6);
border: 1px solid rgba(0, 255, 255, 0.3);
border-radius: 2px;
color: #fff;
padding: 0 12px;
font-size: 14px;
box-sizing: border-box;
}
.date-range-input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.query-btn {
width: 80px;
height: 36px;
background: linear-gradient(180deg, #00FEFC 0%, #00B8B6 100%);
border: none;
border-radius: 2px;
color: #fff;
font-size: 14px;
cursor: pointer;
transition: all 0.3s;
}
.query-btn:hover {
background: linear-gradient(180deg, #00B8B6 0%, #00FEFC 100%);
box-shadow: 0 0 8px rgba(0, 254, 252, 0.5);
}
/* 主内容区域 - 使用3列2行网格 */
.main-content {
width: 100%;
height: 100%;
display: grid;
/* 3列第一行3个等宽面板第二行噪声占2列空气质量占1列 */
grid-template-columns: repeat(3, 1fr);
/* 2行第一行稍高第二行稍低 */
grid-template-rows: 1.2fr 1fr;
gap: 1%;
min-height: 0;
/* 添加顶部内边距,避免被 filter-bar 遮挡 */
padding-top: 60px;
box-sizing: border-box;
}
.panel {
border: 1px solid rgba(0, 255, 255, 0.15);
box-shadow: 0 0 8px rgba(0, 255, 255, 0.15);
border-radius: 3px;
overflow: hidden;
position: relative;
background-image: url("../../img/dataAnalysisOctober/proQualityAnalysis/common_bg.png");
display: flex;
flex-direction: column;
}
.panel-title {
height: 40px;
display: flex;
align-items: center;
padding: 0 18px;
font-size: 16px;
color: #ffffff;
font-weight: bold;
gap: 8px;
flex-shrink: 0;
}
.title-indicator {
width: 4px;
height: 18px;
background: linear-gradient(180deg, #1CFFA3 0%, #19CC8A 100%);
border-radius: 2px;
flex-shrink: 0;
}
.title-text {
flex: 1;
}
.panel-title .info-icon {
margin-left: auto;
width: 16px;
height: 16px;
cursor: pointer;
opacity: 0.7;
font-size: 14px;
}
.panel-body {
flex: 1;
padding: 10px 12px 12px 12px;
box-sizing: border-box;
overflow: hidden;
min-height: 0;
}
/* 第一行3个等宽面板 */
.panel-temperature-humidity {
grid-column: 1 / 2;
grid-row: 1 / 2;
}
.panel-wind-speed {
grid-column: 2 / 3;
grid-row: 1 / 2;
}
.panel-alerts {
grid-column: 3 / 4;
grid-row: 1 / 2;
}
/* 第二行噪声占2列空气质量占1列 */
.panel-noise {
grid-column: 1 / 3;
grid-row: 2 / 3;
}
.panel-air-quality {
grid-column: 3 / 4;
grid-row: 2 / 3;
}
.chart-container {
width: 100%;
height: 100%;
}
/* 表格样式 */
.alert-table-wrapper {
width: 100%;
height: 100%;
overflow: auto;
}
.alert-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
color: #fff;
}
.alert-table thead {
background: rgba(0, 255, 255, 0.1);
position: sticky;
top: 0;
z-index: 10;
}
.alert-table th {
padding: 10px 8px;
text-align: center;
border: 1px solid rgba(0, 255, 255, 0.2);
font-weight: 500;
color: #00FEFC;
}
.alert-table td {
padding: 8px;
text-align: center;
border: 1px solid rgba(0, 255, 255, 0.15);
color: rgba(255, 255, 255, 0.9);
}
.alert-table tbody tr:hover {
background: rgba(0, 255, 255, 0.05);
}
/* 滚动条样式 */
.alert-table-wrapper::-webkit-scrollbar {
width: 6px;
height: 6px;
}
.alert-table-wrapper::-webkit-scrollbar-track {
background: rgba(13, 34, 37, 0.3);
border-radius: 3px;
}
.alert-table-wrapper::-webkit-scrollbar-thumb {
background: rgba(0, 255, 255, 0.3);
border-radius: 3px;
}
.alert-table-wrapper::-webkit-scrollbar-thumb:hover {
background: rgba(0, 255, 255, 0.5);
}
</style>
</head>
<body>
<div id="proQuality">
<!-- 顶部查询区域 -->
<div class="filter-bar">
<input type="text" id="dateRange" class="date-range-input" placeholder="XXXX-XX-XX~XXXX-XX-XX" readonly>
<button type="button" class="query-btn" onclick="queryData()">查询</button>
</div>
<!-- 主内容区域 -->
<div class="main-content">
<!-- 温湿度 - 第一行左 -->
<div class="panel panel-temperature-humidity">
<div class="panel-title">
<span class="title-indicator"></span>
<span class="title-text">温湿度</span>
</div>
<div class="panel-body">
<div id="temperatureHumidityChart" class="chart-container"></div>
</div>
</div>
<!-- 风速 - 第一行中 -->
<div class="panel panel-wind-speed">
<div class="panel-title">
<span class="title-indicator"></span>
<span class="title-text">风速</span>
</div>
<div class="panel-body">
<div id="windSpeedChart" class="chart-container"></div>
</div>
</div>
<!-- 环境预警 - 第一行右 -->
<div class="panel panel-alerts">
<div class="panel-title">
<span class="title-indicator"></span>
<span class="title-text">环境预警</span>
<span class="info-icon"></span>
</div>
<div class="panel-body">
<div class="alert-table-wrapper">
<table class="alert-table" id="alertTable">
<thead>
<tr>
<th>序号</th>
<th>预警类型</th>
<th>预警时间</th>
<th>预警内容</th>
</tr>
</thead>
<tbody id="alertTableBody">
<!-- 数据将通过JS动态填充 -->
</tbody>
</table>
</div>
</div>
</div>
<!-- 噪声 - 第二行左占2列 -->
<div class="panel panel-noise">
<div class="panel-title">
<span class="title-indicator"></span>
<span class="title-text">噪声</span>
</div>
<div class="panel-body">
<div id="noiseChart" class="chart-container"></div>
</div>
</div>
<!-- 空气质量 - 第二行右占1列 -->
<div class="panel panel-air-quality">
<div class="panel-title">
<span class="title-indicator"></span>
<span class="title-text">空气质量</span>
</div>
<div class="panel-body">
<div id="airQualityChart" class="chart-container"></div>
</div>
</div>
</div>
</div>
</body>
<script src="../../js/pages/dataAnalysisOctober/environDetection.js" type="text/javascript"></script>
</html>