hb_zhgd_screen/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html

489 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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/echarts.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>
<title>工程安全分析</title>
</head>
<body>
<div id="proQuality">
<!-- 顶部查询栏 -->
<div class="top-date-filter">
<div class="date-filter-label">日期范围:</div>
<div class="date-range-wrapper">
<input type="text" id="dateRange" class="search-input date-input" placeholder="请选择日期范围" readonly>
</div>
</div>
<!-- 中间图表区域 - 三个图表横向排列 -->
<div class="charts-container">
<!-- 模块1: 温湿度 (左) -->
<div class="module module-1">
<div class="module-title">
<span class="title-indicator"></span>
<span class="title-text">温湿度</span>
</div>
<div class="module-content">
<div id="temperatureHumidityChart" class="chart-container"></div>
</div>
</div>
<!-- 模块2: 风速 (中) -->
<div class="module module-2">
<div class="module-title">
<span class="title-indicator"></span>
<span class="title-text">风速</span>
</div>
<div class="module-content">
<div id="windSpeedChart" class="chart-container"></div>
</div>
</div>
<!-- 模块3: 空气质量 (右) -->
<div class="module module-3">
<div class="module-title">
<span class="title-indicator"></span>
<span class="title-text">空气质量</span>
</div>
<div class="module-content">
<div id="airQualityChart" class="chart-container"></div>
</div>
</div>
</div>
<!-- 底部表格区域 -->
<div class="table-module">
<div class="module-title">
<span class="title-indicator"></span>
<span class="title-text">质量检测记录</span>
</div>
<div class="module-content">
<div class="search-bar">
<span class="search-label">检测点:</span>
<input type="text" id="keywordInput" class="search-input" placeholder="请输入关键字">
<button type="button" class="search-btn" onclick="queryRecords()">查询</button>
</div>
<div class="table-container">
<table id="environmentRecordTable" lay-filter="environmentRecordTable"></table>
</div>
</div>
</div>
</div>
<!-- 视频查看弹框 -->
<div id="videoModal" class="video-modal">
<div class="modal-overlay" onclick="closeVideoModal()"></div>
<div class="modal-content">
<div class="modal-header">
<span class="modal-title">现场视频</span>
<span class="modal-close" onclick="closeVideoModal()">×</span>
</div>
<div class="modal-body">
<div class="video-container">
<video id="videoPlayer" controls style="width: 100%; height: 100%; background: #000;">
您的浏览器不支持视频播放。
</video>
</div>
</div>
</div>
</div>
</body>
<style>
#proQuality {
width: 100%;
height: 100%;
/* padding: 1%; */
box-sizing: border-box;
overflow: hidden;
display: flex;
flex-direction: column;
}
/* 顶部日期筛选区域(与工程质量分析保持一致) */
.top-date-filter {
display: flex;
align-items: center;
gap: 10px;
padding: 4px 20px;
background: rgba(13, 34, 37, 0.8);
border-bottom: 1px solid rgba(6, 189, 221, 0.3);
flex-shrink: 0;
}
.date-filter-label {
font-size: 14px;
color: #FFFFFF;
font-weight: bold;
white-space: nowrap;
}
.date-range-wrapper {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
/* 中间图表容器 - 三个图表横向排列 */
.charts-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 1%;
height: 0;
flex: 1;
min-height: 0;
margin-bottom: 1%;
}
/* 底部表格模块 */
.table-module {
height: 0;
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
overflow: hidden;
/* background-size: 100% 100%;
background-position: center center;
background-repeat: no-repeat; */
background-image: url("../../img/dataAnalysisOctober/proQualityAnalysis/common_bg.png");
}
.module {
position: relative;
display: flex;
flex-direction: column;
box-sizing: border-box;
overflow: hidden;
min-height: 0;
/* background-size: 100% 100%;
background-position: center center;
background-repeat: no-repeat; */
background-image: url("../../img/dataAnalysisOctober/proQualityAnalysis/common_bg.png");
}
.module-title {
display: flex;
align-items: center;
height: 40px;
min-height: 40px;
margin-bottom: 10px;
padding-left: 18px;
}
.title-indicator {
width: 4px;
height: 20px;
background: linear-gradient(180deg, #FF9C65 0%, #FFD700 100%);
margin-right: 10px;
flex-shrink: 0;
}
.title-text {
font-size: 16px;
font-weight: bold;
color: #FFFFFF;
white-space: nowrap;
}
.module-content {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
min-height: 0;
height: 0;
}
/* 图表容器 */
.chart-container {
width: 100%;
height: 100%;
position: relative;
min-height: 0;
}
/* 搜索输入框样式 */
.search-input {
width: 160px;
height: 32px;
padding: 0 12px;
background: rgba(25, 62, 68, 0.6);
border: 1px solid rgba(6, 189, 221, 0.6);
border-radius: 2px;
color: #FFFFFF;
font-size: 14px;
transition: all 0.3s;
flex-shrink: 0;
}
.search-input:focus {
outline: none;
border-color: rgba(6, 189, 221, 1);
background: rgba(25, 62, 68, 0.8);
}
.search-input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.date-input {
width: 240px;
}
.search-btn {
height: 32px;
padding: 0 24px;
background: linear-gradient(135deg, #207E75 0%, #2A9D8F 100%);
border: none;
border-radius: 2px;
color: #FFFFFF;
cursor: pointer;
font-size: 14px;
transition: all 0.3s;
flex-shrink: 0;
}
.search-btn:hover {
background: linear-gradient(135deg, #2A9D8F 0%, #3AB5A5 100%);
box-shadow: 0 2px 8px rgba(6, 189, 221, 0.3);
}
.search-btn:active {
transform: translateY(1px);
}
/* 表格搜索栏 */
.table-module .search-bar {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 15px;
padding: 0 10px;
}
.search-label {
color: #FFFFFF;
font-size: 14px;
flex-shrink: 0;
}
.table-container {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
position: relative;
min-height: 0;
padding: 0 10px;
}
/* Layui表格样式覆盖 */
.table-module .layui-table {
background-color: transparent !important;
}
.table-module .layui-table thead tr {
background-color: rgba(13, 34, 37, 0.8) !important;
}
.table-module .layui-table thead th {
background-color: transparent !important;
color: #FFFFFF !important;
border-color: rgba(6, 189, 221, 0.3) !important;
font-weight: bold;
}
.table-module .layui-table tbody tr {
background-color: rgba(25, 62, 68, 0.3) !important;
}
.table-module .layui-table tbody tr:hover {
background-color: rgba(25, 62, 68, 0.6) !important;
}
.table-module .layui-table tbody td {
color: #FFFFFF !important;
border-color: rgba(6, 189, 221, 0.2) !important;
}
.table-module .layui-table-page {
background-color: transparent !important;
border-top: 1px solid rgba(6, 189, 221, 0.3) !important;
padding: 10px 0 !important;
}
.table-module .layui-table-page .layui-laypage {
margin: 0 !important;
}
.table-module .layui-table-page .layui-laypage a,
.table-module .layui-table-page .layui-laypage span {
color: #FFFFFF !important;
background-color: rgba(25, 62, 68, 0.6) !important;
border-color: rgba(6, 189, 221, 0.5) !important;
}
.table-module .layui-table-page .layui-laypage .layui-laypage-curr em {
background-color: #207E75 !important;
color: #FFFFFF !important;
}
.table-module .layui-table-page .layui-laypage a:hover {
background-color: rgba(6, 189, 221, 0.6) !important;
border-color: rgba(6, 189, 221, 0.8) !important;
}
.table-module .layui-table-page input {
background-color: rgba(25, 62, 68, 0.6) !important;
border-color: rgba(6, 189, 221, 0.5) !important;
color: #FFFFFF !important;
}
/* 滚动条样式 */
.module-content::-webkit-scrollbar,
.table-container::-webkit-scrollbar {
width: 6px;
height: 6px;
}
.module-content::-webkit-scrollbar-track,
.table-container::-webkit-scrollbar-track {
background: rgba(13, 34, 37, 0.5);
border-radius: 3px;
}
.module-content::-webkit-scrollbar-thumb,
.table-container::-webkit-scrollbar-thumb {
background: rgba(6, 189, 221, 0.5);
border-radius: 3px;
}
.module-content::-webkit-scrollbar-thumb:hover,
.table-container::-webkit-scrollbar-thumb:hover {
background: rgba(6, 189, 221, 0.8);
}
/* 视频查看弹框样式 */
.video-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
align-items: center;
justify-content: center;
z-index: 10000;
}
.video-modal.show {
display: flex;
}
.video-modal .modal-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(4px);
}
.video-modal .modal-content {
position: relative;
width: 80%;
max-width: 1200px;
height: 80%;
max-height: 800px;
background: rgba(13, 34, 37, 0.95);
border: 1px solid rgba(6, 189, 221, 0.6);
border-radius: 8px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
display: flex;
flex-direction: column;
overflow: hidden;
z-index: 10001;
}
.video-modal .modal-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 15px 20px;
background: rgba(13, 34, 37, 0.9);
border-bottom: 1px solid rgba(6, 189, 221, 0.3);
flex-shrink: 0;
}
.video-modal .modal-title {
font-size: 18px;
font-weight: bold;
color: #FFFFFF;
}
.video-modal .modal-close {
font-size: 28px;
color: #FFFFFF;
cursor: pointer;
line-height: 1;
transition: color 0.3s;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
}
.video-modal .modal-close:hover {
color: #00FFB8;
background: rgba(6, 189, 221, 0.2);
}
.video-modal .modal-body {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 0;
min-height: 0;
background: #000;
}
.video-modal .video-container {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background: #000;
}
.video-modal video {
width: 100%;
height: 100%;
object-fit: contain;
}
</style>
<script src="../../js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js" type="text/javascript"></script>
</html>