hb_zhgd_screen/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html

569 lines
16 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">
<link rel="stylesheet" href="../../css/tipCommon.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>
<span class="info-icon">
<img src="../../img/dataAnalysisOctober/common_icon.png" alt=""
style="cursor: pointer; width: 20px; height: 20px;margin-right: 10px;margin-top: 5px;">
</span>
</div>
<div class="tooltip-box">
监测数据超过阈值的系统进行预警提醒。
</div>
<div class="module-content">
<div class="search-bar">
<span class="search-label">检测点:</span>
<input type="text" id="keywordInput" class="search-input" placeholder="请输入关键字">
<span class="search-label">日期范围:</span>
<input type="text" id="recordDateRange" class="search-input date-input" placeholder="请选择日期范围"
readonly>
<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 {
position: relative;
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: auto;
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.6) !important;
}
.table-module .layui-table thead th {
background-color: rgba(13, 34, 37, 0.6) !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.2) !important;
}
.table-module .layui-table tbody tr:hover {
background-color: rgba(25, 62, 68, 0.4) !important;
}
.table-module .layui-table tbody td {
background-color: rgba(25, 62, 68, 0.2) !important;
color: #FFFFFF !important;
border-color: rgba(6, 189, 221, 0.2) !important;
}
.table-module .layui-table-page {
background-color: rgba(13, 34, 37, 0.5) !important;
border-top: 1px solid rgba(6, 189, 221, 0.3) !important;
padding: 10px 0 !important;
}
/* 确保表格主体有滚动条 */
.table-module .layui-table-body {
overflow-y: auto !important;
overflow-x: auto !important;
}
/* 表格主体滚动条样式 */
.table-module .layui-table-body::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.table-module .layui-table-body::-webkit-scrollbar-track {
background: rgba(13, 34, 37, 0.5);
border-radius: 4px;
}
.table-module .layui-table-body::-webkit-scrollbar-thumb {
background: rgba(6, 189, 221, 0.6);
border-radius: 4px;
}
.table-module .layui-table-body::-webkit-scrollbar-thumb:hover {
background: rgba(6, 189, 221, 0.8);
}
.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;
}
/* 分析改进列文本样式 - 限制最多显示2行 */
.analysis-text-cell {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
line-height: 1.5;
max-height: 3em;
/* 2行的高度1.5行高 * 2 */
padding: 4px 8px;
color: #FFFFFF;
background-color: #16BAAA;
}
/* 确保固定列样式正确 */
.table-module .layui-table-fixed-r {
box-shadow: -2px 0 6px rgba(0, 0, 0, 0.3);
background-color: rgba(13, 34, 37, 0.7) !important;
}
/* 固定列表头背景 */
.table-module .layui-table-fixed-r .layui-table-header {
background-color: rgba(13, 34, 37, 0.6) !important;
}
/* 固定列单元格背景 */
.table-module .layui-table-fixed-r .layui-table-body td {
background-color: rgba(25, 62, 68, 1) !important;
}
.table-module .layui-table-fixed-r .layui-table-body tr:hover td {
background-color: rgba(25, 62, 68, 0.4) !important;
}
/* 分析改进列单元格背景 */
.table-module .layui-table tbody td .analysis-text-cell {
background-color: transparent !important;
}
</style>
<script src="../../js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js" type="text/javascript"></script>
</html>