604 lines
28 KiB
Plaintext
604 lines
28 KiB
Plaintext
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="main.aspx.cs" Inherits="FineUIPro.Web.common.main" Async="true" %>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head runat="server">
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Document</title>
|
|
<script src="../res/lib/flex.js"></script>
|
|
<link rel="stylesheet" href="../res/homecss/common.css?v=202512" />
|
|
<link rel="stylesheet" href="../res/homecss/layout.css?v=202512" />
|
|
<link rel="stylesheet" href="../res/homecss/index.css?v=20251208" />
|
|
<%--<link rel="stylesheet" href="../res/homecss/safe.css?v=202512" />--%>
|
|
</head>
|
|
<body style="background-color: #001B35;">
|
|
<div id="app">
|
|
<div class="container bg1">
|
|
<div class="side">
|
|
<div class="site_500" style="height: 2.525rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">历史上的今天</span></h2>
|
|
<div class="site_content" id="yearstoday">
|
|
<div class="scroll">
|
|
<ul>
|
|
<li class="tipli" v-for="(item, idx) in form.accidentWarning" :key="idx">
|
|
<p :title="item.Title">{{item.Title}}</p>
|
|
<span>{{item.AccidentDate}}</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="site_500" style="height: 3.1rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">教育培训</span></h2>
|
|
<div id="education" class="site_content">
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">公司级培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">项目级培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">班组级培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">自行培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">承包商组织培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="ed-box flex_row_start_start">
|
|
<i></i>
|
|
<div class="ed-item">
|
|
<div class="ed-item-tit">承包商培训</div>
|
|
<div class="ed-item-num"><span>0</span><span>个</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="site_500" style="height: 3.1rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">安全隐患排查治理</span></h2>
|
|
<div id="safety1" class="site_content">
|
|
<div>
|
|
<h3 class="tit"><span>企业级检查</span></h3>
|
|
<div class="flex_column_start_start">
|
|
<div class="flex_row_between_center">
|
|
<p><span>安全隐患</span><span>0</span><span>项</span></p>
|
|
<p><span>未完成</span><span>0</span><span>项</span></p>
|
|
</div>
|
|
<div class="flex_row_between_center">
|
|
<p><span>整改闭环</span><span>0</span><span>项</span></p>
|
|
<p><span>整改率</span><span>0</span><span>%</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3 class="tit"><span>项目级检查</span></h3>
|
|
<div class="flex_column_start_start">
|
|
<div class="flex_row_between_center">
|
|
<p><span>安全隐患</span><span>0</span><span>项</span></p>
|
|
<p><span>未完成</span><span>0</span><span>项</span></p>
|
|
</div>
|
|
<div class="flex_row_between_center">
|
|
<p><span>整改闭环</span><span>0</span><span>项</span></p>
|
|
<p><span>整改率</span><span>0</span><span>%</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="site_500" style="height: 2.15rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">安全费用</span></h2>
|
|
<div id="cost" class="site_content">
|
|
<h2>
|
|
<i></i>
|
|
<span>安全费用</span>
|
|
</h2>
|
|
<h2>
|
|
<i></i>
|
|
<span>施工机具设备</span>
|
|
</h2>
|
|
<div class="flex_row_between_center">
|
|
<span>费用提取</span>
|
|
<p>
|
|
<span class="gradient_white_yellow">0</span><span>亿元</span>
|
|
</p>
|
|
</div>
|
|
<div class="flex_row_between_center">
|
|
<span>费用使用</span>
|
|
<p>
|
|
<span class="gradient_white_yellow">0</span><span>亿元</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="center" style="height: 100%">
|
|
<div class="aqsc">
|
|
<span>安全生产累计</span>
|
|
<p><span>{{form?.projectInfo?.workSafetyDay1000 || 0}}</span><span>{{form?.projectInfo?.workSafetyDay100 || 0}}</span><span>{{form?.projectInfo?.workSafetyDay10 || 0}}</span><span>{{form?.projectInfo?.workSafetyDay1 || 0}}</span></p>
|
|
<span>天</span>
|
|
</div>
|
|
<div id="project1" class="flex_row_between_center">
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div>
|
|
<h6 class="gradient_white_yellow">在建项目</h6>
|
|
<p><span class="gradient_white_yellow">{{form?.projectInfo?.projectsUnderConstruction || 0}}</span><span>个</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div>
|
|
<h6 class="gradient_white_yellow">停工项目</h6>
|
|
<p><span class="gradient_white_yellow">{{form?.projectInfo?.shutdownProject || 0}}</span><span>个</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div>
|
|
<h6 class="gradient_white_red">参建人数</h6>
|
|
<p><span class="gradient_white_yellow">{{form?.projectInfo?.participateInNum || 0}}</span><span>人</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div>
|
|
<h6 class="gradient_white_red">在施危大工程</h6>
|
|
<p><span class="gradient_white_yellow">{{form?.projectInfo?.dangerousProject || 0}}</span><span>项</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="map"></div>
|
|
</div>
|
|
<div class="side">
|
|
<div class="site_500" style="height: 2.7rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">待办</span></h2>
|
|
<div id="today" class="site_content">
|
|
<div class="scroll">
|
|
<ul>
|
|
<li>开发中,请耐心等待</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="site_500" style="height: 2.275rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">高风险作业许可</span></h2>
|
|
<div id="job" class="site_content">
|
|
<div class="flex_row_end_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>许可</h6>
|
|
<p>
|
|
<span class="gradient_white_yellow">0</span><span>项</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<i></i>
|
|
<div class="flex_row_start_center">
|
|
<div class="flex_column_between_start">
|
|
<h6>关闭</h6>
|
|
<p>
|
|
<span class="gradient_white_blue">0</span><span>项</span>
|
|
</p>
|
|
</div>
|
|
<i></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="site_500" style="height: 3.05rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">风险分级管控</span></h2>
|
|
<div id="risk" class="site_content">
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>重大风险</h6>
|
|
<p><span>0</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>较大风险</h6>
|
|
<p><span>0</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>一般风险</h6>
|
|
<p><span>0</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="flex_row_center_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>低风险</h6>
|
|
<p><span>0</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="site_500" style="height: 2.275rem; margin-bottom: 0.25rem">
|
|
<h2><span class="gradient_white_blue">高风险作业许可</span></h2>
|
|
<div id="job" class="site_content">
|
|
<div class="flex_row_end_center">
|
|
<i></i>
|
|
<div class="flex_column_between_start">
|
|
<h6>许可</h6>
|
|
<p>
|
|
<span class="gradient_white_yellow">0</span><span>项</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<i></i>
|
|
<div class="flex_row_start_center">
|
|
<div class="flex_column_between_start">
|
|
<h6>关闭</h6>
|
|
<p>
|
|
<span class="gradient_white_blue">0</span><span>项</span>
|
|
</p>
|
|
</div>
|
|
<i></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<svg class="loading" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); display: none;" width="60" height="60" viewBox="0 0 38 38" stroke="#ffffff">
|
|
<g fill="none" fill-rule="evenodd">
|
|
<g transform="translate(1 1)" stroke-width="2">
|
|
<circle stroke-opacity=".5" cx="18" cy="18" r="18" />
|
|
<path d="M36 18c0-9.94-8.06-18-18-18">
|
|
<animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite" />
|
|
</path>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
</body>
|
|
|
|
</html>
|
|
<script src="../res/lib/vue.min.js?v=20251"></script>
|
|
<script src="../res/lib/echarts.min.js?v=20251"></script>
|
|
<script src="../res/lib/china1.js?v=20251"></script>
|
|
<script src="../res/lib/jquery.js?v=20251"></script>
|
|
<script>
|
|
new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
iframeSrc: "",
|
|
// 控制显示状态
|
|
show: false,
|
|
// 当前激活的导航索引
|
|
nav_idx: 1,
|
|
// 当前激活的管理菜单索引
|
|
manage_idx: 1,
|
|
// 存储所有数据的主要对象
|
|
form: {},
|
|
// 当前时间显示
|
|
nowTime: '09:00:12',
|
|
chinaData: []
|
|
}
|
|
},
|
|
mounted() {
|
|
// 组件挂载后执行的操作
|
|
this.show = true; // 显示内容
|
|
hoverEvent();
|
|
this.createChinaMap();
|
|
this.loadData(); // 加载数据
|
|
// this.startTimer(); //启动时间定时器
|
|
},
|
|
methods: {
|
|
// 从后台加载HSSE数据
|
|
loadData() {
|
|
$(".loading").show()
|
|
const that = this;
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "main.aspx/GetMainData", //调用后台WebMethod
|
|
contentType: "application/json; charset=utf-8",
|
|
dataType: "json",
|
|
success: function (response) {
|
|
//console.log("请求结果:", response.d)
|
|
if (response.d.success) {
|
|
// 更新数据成功
|
|
that.form = { ...response.d.data }; // 更新表单数据
|
|
that.chinaData = [...response.d.data.chinaData]; // 更新地图数据
|
|
//console.log("地图数据",that.chinaData);
|
|
that.createChinaMap(that.chinaData); // 重新创建地图
|
|
console.log("form", that.form)
|
|
} else {
|
|
// 更新数据失败
|
|
alert("加载数据失败:" + response.d.msg);
|
|
}
|
|
$(".loading").hide()
|
|
},
|
|
error: function (xhr, status, error) {
|
|
// AJAX请求错误处理
|
|
$(".loading").hide()
|
|
alert("请求失败:" + error);
|
|
}
|
|
});
|
|
},
|
|
//// 启动时间定时器,每秒更新一次当前时间
|
|
//startTimer() {
|
|
// setInterval(() => {
|
|
// const now = new Date();
|
|
// this.nowTime = now.toLocaleTimeString('zh-CN', {
|
|
// hour12: false, // 使用24小时制
|
|
// hour: '2-digit', // 两位数显示小时
|
|
// minute: '2-digit', // 两位数显示分钟
|
|
// second: '2-digit' // 两位数显示秒钟
|
|
// });
|
|
// }, 1000); // 1000毫秒 = 1秒
|
|
//},
|
|
//// 切换主导航菜单
|
|
//onSwitchMenu(idx) {
|
|
// this.nav_idx = idx; // 更新导航索引
|
|
//},
|
|
//// 切换管理菜单
|
|
//onSwitchManage(idx) {
|
|
// this.manage_idx = idx; // 更新管理菜单索引
|
|
//},
|
|
//// 刷新数据
|
|
//onRefresh() {
|
|
// this.loadData(); // 重新加载数据
|
|
//},
|
|
// 创建中国地图
|
|
createChinaMap(data) {
|
|
let list = data || [];
|
|
//console.log("地图数据", data);
|
|
if (!this.chainaMap) {
|
|
this.chainaMap = echarts.init(document.getElementById('map'));
|
|
}
|
|
// 中国地图配置
|
|
echarts.registerMap('china', chinaJson);
|
|
let chinaOption = {
|
|
geo: [
|
|
{
|
|
// 地理坐标系组件
|
|
map: "china",
|
|
roam: false, //可以缩放和平移
|
|
aspectScale: 0.85, //比例
|
|
top: 150,
|
|
zlevel: 2,
|
|
zoom: 1.1,
|
|
label: {
|
|
show: false
|
|
},
|
|
regions: [
|
|
{
|
|
name: "南海诸岛",
|
|
itemStyle: {
|
|
//隐藏地图
|
|
normal: {
|
|
opacity: 0, // 为 0 时不绘制该图形
|
|
}
|
|
},
|
|
label: {
|
|
show: false // 隐藏文字
|
|
}
|
|
}
|
|
],
|
|
itemStyle: {
|
|
// 图形上的地图区域
|
|
normal: {
|
|
areaColor: "#07121B",
|
|
borderColor: "#07121B",
|
|
}
|
|
},
|
|
emphasis: {
|
|
disabled: true,
|
|
}
|
|
},
|
|
{
|
|
// 地理坐标系组件
|
|
map: "china",
|
|
roam: false, // 可以缩放和平移
|
|
aspectScale: 0.85, // 比例
|
|
top: 140,
|
|
zlevel: 9,
|
|
zoom: 1.1,
|
|
regions: [
|
|
{
|
|
name: "南海诸岛",
|
|
itemStyle: {
|
|
// 隐藏地图
|
|
normal: {
|
|
opacity: 0, // 为 0 时不绘制该图形
|
|
}
|
|
},
|
|
label: {
|
|
show: false // 隐藏文字
|
|
}
|
|
}
|
|
],
|
|
itemStyle: {
|
|
// 图形上的地图区域
|
|
normal: {
|
|
areaColor: "#076393",
|
|
borderColor: "#076393",
|
|
}
|
|
},
|
|
emphasis: {
|
|
disabled: true,
|
|
}
|
|
},
|
|
],
|
|
tooltip: {
|
|
trigger: 'item',
|
|
backgroundColor: 'rgba(0,0,0,0.7)',
|
|
borderColor: '#fff',
|
|
borderWidth: 1,
|
|
padding: 10,
|
|
formatter: function (params) {
|
|
console.log("地图数据明细", params)
|
|
// 自定义 tooltip 内容
|
|
if (params.seriesType === 'effectScatter') {
|
|
return `<div style="color: white;">
|
|
<p><strong>${params.name}</strong></p>
|
|
<p>工程造价: ${params.data.projectMoney}万元</p>
|
|
<p>开工时间: ${params.data.startDate}</p>
|
|
<p>完工时间: ${params.data.endDate}</p>
|
|
<p>项目地址: ${params.data.address}</p>
|
|
</div>`;
|
|
}
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
// 地理坐标系组件
|
|
type: 'map',
|
|
map: "china",
|
|
roam: false, // 可以缩放和平移
|
|
aspectScale: 0.85, // 比例
|
|
top: 130,
|
|
zlevel: 12,
|
|
zoom: 1.1,
|
|
data: list,
|
|
regions: [
|
|
{
|
|
name: "南海诸岛",
|
|
label: {
|
|
show: false // 隐藏文字
|
|
}
|
|
}
|
|
],
|
|
itemStyle: {
|
|
// 图形上的地图区域
|
|
normal: {
|
|
borderWidth: 1,
|
|
areaColor: "rgba(0, 221, 255, .8)",
|
|
borderColor: "RGBA(27, 225, 255, 1)",
|
|
}
|
|
},
|
|
emphasis: {
|
|
disabled: true,
|
|
}
|
|
},
|
|
{
|
|
name: '散点',
|
|
type: 'effectScatter',
|
|
coordinateSystem: 'geo',
|
|
data: data,
|
|
zlevel: 14,
|
|
symbolSize: 10,
|
|
showEffectOn: 'render',
|
|
rippleEffect: {
|
|
brushType: 'stroke'
|
|
},
|
|
hoverAnimation: true,
|
|
label: {
|
|
formatter: '{b}',
|
|
position: 'right',
|
|
show: false
|
|
},
|
|
itemStyle: {
|
|
color: '#FBE795'
|
|
}
|
|
}
|
|
],
|
|
}
|
|
this.chainaMap.setOption(chinaOption);
|
|
this.chainaMap.on('click', function (params) {
|
|
// 控制台打印点击的地区名称
|
|
//if (params.seriesType == 'effectScatter') {
|
|
// alert('点击了' + params.name);
|
|
//}
|
|
// 你可以在这里添加你的逻辑代码
|
|
});
|
|
},
|
|
}
|
|
})
|
|
|
|
function hoverEvent() {
|
|
$(".jshover").click(function (e) {
|
|
e.stopPropagation()
|
|
|
|
if ($(".popu").css("display") == "block") {
|
|
$(".popu").hide()
|
|
return
|
|
}
|
|
let type = this.getAttribute("data-type")
|
|
let iframe = $('iframe')
|
|
switch (type) {
|
|
case "1":
|
|
// 组织人员
|
|
// iframe.attr('src', '../DataShow/CompanyPerson.aspx')
|
|
window.open('../DataShow/CompanyPerson.aspx')
|
|
break
|
|
case "2":
|
|
// 教育培训/安全工时
|
|
// iframe.attr('src', '../DataShow/EduTrain.aspx')
|
|
window.open('../DataShow/EduTrain.aspx')
|
|
break
|
|
case "3":
|
|
// 安全隐患排查治理
|
|
// iframe.attr('src', '../DataShow/HiddenRectification.aspx')//一般隐患
|
|
window.open('../DataShow/HiddenRectification.aspx')
|
|
break
|
|
case "4":
|
|
// 费用及机具
|
|
// iframe.attr('src', '../DataShow/SecurityCost.aspx')
|
|
window.open('../DataShow/SecurityCost.aspx')
|
|
break
|
|
case "5":
|
|
// 危大工程管控数据
|
|
// iframe.attr('src', '../DataShow/LargeEngineering.aspx')
|
|
window.open('../DataShow/LargeEngineering.aspx')
|
|
break
|
|
case "6":
|
|
// 风险分级管控
|
|
// iframe.attr('src', '../DataShow/SecurityRisk.aspx')
|
|
window.open('../DataShow/SecurityRisk.aspx')
|
|
break
|
|
case "7":
|
|
// 高风险作业许可
|
|
// iframe.attr('src', '../DataShow/License.aspx')
|
|
window.open('../DataShow/License.aspx')
|
|
break
|
|
case "8":
|
|
// 应急管理数据
|
|
// iframe.attr('src', '../DataShow/Emergency.aspx')
|
|
window.open('../DataShow/Emergency.aspx')
|
|
break
|
|
}
|
|
// $("#hover").hide()
|
|
$(".popu").show()
|
|
})
|
|
$(".container").css({
|
|
position: "relative",
|
|
})
|
|
$(".container")
|
|
.click(function (e) {
|
|
$(".popu").hide()
|
|
})
|
|
}
|
|
|
|
</script>
|