CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/common/main_new.aspx

2602 lines
98 KiB
Plaintext
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.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="main_new.aspx.cs" Inherits="FineUIPro.Web.common.main_new" Async="true"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>项目概况</title>
<script src="lib/flex.js"></script>
<link rel="stylesheet" href="css/base.css" />
<link rel="stylesheet" href="css/overview.css" />
<script src="../res/lib/flex.js"></script>
<script src="../res/lib/jquery.js"></script>
<script src="../res/lib/china.js"></script>
<script src="../res/lib/echarts.min.js"></script>
<link rel="stylesheet" href="../res/css/company.css">
<script type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=Lma56vCk88x46KEXSyc2cIXk6kT2W7KB"></script>
<style>
.BMap_mask {
background-color: red;
}
.BMap_bubble_pop {
color: white;
background-color: #000099 !important;
color: white !important;
}
.BMap_bubble_pop td {
color: white !important;
}
.table {
height: calc(100% - 0.3rem) !important;
margin-top: 0.05rem !important;
}
.cl-tab {
padding: 0.025rem 0 !important;
}
.c-site>.num-box>.num {
font-size: .215rem;
color: #21FFAF;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="body">
<div class="side">
<div class="site zg">
<div class="label">
安全整改数据
</div>
<div class="main js-hover" data-type="HiddenRectification">
<div class="box">
<div class="num" style="color: #7CB4FF;" runat="server" id="div_zgsj">256</div>
<div class="label">总数</div>
</div>
<div class="box">
<div class="num" style="color: #12CDA2;" runat="server" id="div_zgywc">256</div>
<div class="label">已完成</div>
</div>
<div class="box">
<div class="num" style="color: #FF7474;" runat="server" id="div_zgwwc">0</div>
<div class="label">未完成</div>
</div>
<div class="box">
<div class="num" style="color: #FFD130;" runat="server" id="div_zgwcl">100%</div>
<div class="label">整改率</div>
</div>
</div>
</div>
<div class="site zl">
<div class="label">
质量概况
</div>
<div class="main">
<div class="total">
<div class="glry js-hover" data-type="ManagerData">
<div class="lab">质量管理人员</div>
<div class="num" id="divCqmsManageNum" runat="server">1307</div>
</div>
<div class="glry js-hover" data-type="ManagerTrainData">
<div class="lab">质量培训累计人员</div>
<div class="num" id="divCqmsPxNum" runat="server">5217</div>
</div>
</div>
<div class="zl-maps">
<div id="zl-map1" class="js-hover" data-type="QualityProblem"></div>
<div id="zl-map2" class="js-hover" data-type="InspectionManagement"></div>
<div id="zl-map3" class="js-hover" data-type="WeldOneOK"></div>
</div>
</div>
</div>
<div class="site p-ry">
<div class="label">
人员信息
</div>
<div class="total">
<div class="rs js-hover" data-type="Person1">
<div class="lab">当前现场人数</div>
<div class="num" id="div_xcrs" runat="server">1307</div>
</div>
<div class="rs js-hover" data-type="Person2">
<div class="lab">作业人员总数</div>
<div class="num" id="div_zyxcrs" runat="server">5217</div>
</div>
<div class="rs js-hover" data-type="Person3">
<div class="lab">管理人员总数</div>
<div class="num" id="div_glxcrs" runat="server">5217</div>
</div>
</div>
<div id="ry-map"></div>
</div>
</div>
<div class="c-side">
<div class="c-site">
<div class="num-box js-hover" data-type="WorkingHourData">
<div class="num" id="divSafeWorkTime" runat="server">1656059</div>
<div class="lab">累计安全人工时</div>
</div>
<div class="num-box js-hover" data-type="WorkingHourData">
<div class="num" id="divSafeWorkTimeMonth" runat="server">0</div>
<div class="lab">本月安全人工时</div>
</div>
<div class="num-box js-hover" data-type="SafeTrainData">
<div class="num" id="divSafePersonNum" runat="server">1161</div>
<div class="lab">安全培训累计人员</div>
</div>
<div class="num-box js-hover" data-type="SafePerson">
<div class="num" id="divSafeManagePersonNum" runat="server">3</div>
<div class="lab">安全管理人员</div>
</div>
<div class="num-box js-hover" data-type="AccidentEventData">
<div class="num" runat="server" id="divWS">4564</div>
<div class="lab">未遂事件</div>
</div>
</div>
<div id="c-map"></div>
<div class="c-site1 js-hover" data-type="ProjectData">
<div class="num-box">
<div class="lab">在建项目</div>
<div class="num" id="div_zjxmCount" runat="server">16<span>个</span></div>
</div>
<div class="num-box">
<div class="lab">参建人数</div>
<div class="num" id="div_cjrsCount" runat="server">20164<span>人</span></div>
</div>
<div class="num-box">
<div class="lab">在施危大工程</div>
<div class="num" id="div_wdgcCount" runat="server">0<span>个</span></div>
</div>
</div>
</div>
<div class="side">
<div class="site zlzg js-hover" data-type="GJSX">
<div class="label">
关键事项
</div>
<div class="main">
<div class="total">
<div class="zg">
<div class="lab">关键事项总计</div>
<div class="num" id="divGjsxzj" runat="server">719</div>
</div>
<div class="zg">
<div class="lab">到期应完成</div>
<div class="num" id="divGjsxdq" runat="server">681</div>
</div>
<div class="zg">
<div class="lab">未准点完成</div>
<div class="num" id="divGjsxwzd" runat="server">120</div>
</div>
</div>
<div id="zlzg"></div>
</div>
</div>
<div class="site jd">
<div class="label">
进度情况
</div>
<div id="jdqk"></div>
</div>
<div class="site cl">
<div class="label">
材料到货
</div>
<div class="main" style="padding: .1875rem .25rem;">
<div class="cl-tab">
<div class="cl-btn cl-btn-act" id="span_gdcl" onclick="clOnclick(0)" style="cursor:pointer">管道材料</div>
<div class="cl-btn" id="span_sbcl" onclick="clOnclick(1)" style="cursor:pointer">设备材料</div>
</div>
<div class="table">
<div class="row" id="div_cldhHead">
<%=gdclHead %>
<%--<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>--%>
</div>
<div class="t-body" id="div_cldhList">
<%=gdclHtml %>
<%--<div class="row">
<div class="th">项目321322132132121321321213213</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>
<div class="row">
<div class="th">项目</div>
<div class="th">管子</div>
<div class="th">管件</div>
<div class="th">阀门</div>
<div class="th">垫片</div>
<div class="th">紧固件</div>
</div>--%>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
<script src="./lib/echarts.min.js"></script>
<script src="./lib/jquery.js"></script>
<script type="text/javascript" src="../res/index/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="../res/index/js/swiper-3.4.2.jquery.min.js"></script>
<script type="text/javascript" src="../res/index/js/china.js"></script>
<script type="text/javascript" src="../res/index/js/world.js"></script>
<script>
$(function () {
initClick();
})
function initClick() {
// 设置iframe高度
$('.click-wrap .click-item iframe').height($('.click-wrap').height())
$(".js-hover").click(function () {
var htmlContent = GetClickHtml(this)
// $('.click-wrap').show()
// $(".hover-wrap").hide()
})
$('.click-close').click(function () {
$('.click-wrap').hide()
})
}
function GetClickHtml(obj) {
var $this = $(obj), type = $this.attr('data-type'), tabType = $this.attr('data-tabType') || '';
var title = '';
if (tabType != '') {
tabType = $this.closest('.bb-item').find('.tab-wrap .tab .active').attr('data-type')
if (tabType == null) {
tabType = $this.closest('.str-bottom').find('.tab-wrap .tab .active').attr('data-type')
}
}
console.log(type)
if (type == 'HeadOfficeNum') {
$('iframe').attr('src', '../DataShow/CompanyPerson.aspx') //企业总部
window.open("../DataShow/CompanyPerson.aspx")
}
else if (type == 'Branch') {
$('iframe').attr('src', '../DataShow/CompanyPerson.aspx') //分支机构
window.open("../DataShow/CompanyPerson.aspx")
}
else if (type == 'ProjectNum') {
$('iframe').attr('src', '../DataShow/ProjectPerson.aspx')//项目人员
window.open("../DataShow/ProjectPerson.aspx")
}
else if (type == 'SafetyInjectionEngineer') {
$('iframe').attr('src', '../DataShow/ProjectPerson.aspx')//项目人员
window.open("../DataShow/ProjectPerson.aspx")
}
else if (type == 'Certificate') {
$('iframe').attr('src', '../DataShow/ProjectPerson.aspx') //项目人员
window.open("../DataShow/ProjectPerson.aspx")
}
else if (type == 'SafetyMeetingData') {
$('iframe').attr('src', '../DataShow/Meeting.aspx') //安全会议数据
window.open("../DataShow/Meeting.aspx")
}
else if (type == 'BeUnderConstructionNum') {
$('iframe').attr('src', '../DataShow/Project.aspx') //项目信息
window.open("../DataShow/Project.aspx")
}
else if (type == 'ShutdownNum') {
$('iframe').attr('src', '../DataShow/Project.aspx') //项目信息
window.open("../DataShow/Project.aspx")
}
else if (type == 'JoinConstructionPersonNum') {
$('iframe').attr('src', '../DataShow/Project.aspx') //项目信息
window.open("../DataShow/Project.aspx")
}
else if (type == 'MajorProjectsUnderConstructionNum') {
$('iframe').attr('src', '../DataShow/Project.aspx') //项目信息
window.open("../DataShow/Project.aspx")
}
else if (type == 'WorkingHourData') {
$('iframe').attr('src', '../DataShow/WorkingHours.aspx') //工时数据
window.open("../DataShow/WorkingHours.aspx")
}
else if (type == 'SafeTrainData') {
$('iframe').attr('src', '../DataShow/EduTrain.aspx') //安全教育培训
window.open("../DataShow/EduTrain.aspx")
}
else if (type == 'EnvironmentalData') {
$('iframe').attr('src', '../DataShow/Environmental.aspx') //环保数据
window.open("../DataShow/Environmental.aspx")
}
else if (type == 'SafeCost') {
$('iframe').attr('src', '../DataShow/SecurityCost.aspx') //安全费用
window.open("../DataShow/SecurityCost.aspx")
}
else if (type == 'ConstructionEquipment') {
$('iframe').attr('src', '../DataShow/ConstructionEquipment.aspx') //施工机具设备
window.open("../DataShow/ConstructionEquipment.aspx")
}
else if (type == 'HighRiskWorkPermit') {
$('iframe').attr('src', '../DataShow/License.aspx') //高风险作业许可
window.open("../DataShow/License.aspx")
}
else if (type == 'SafetySupervisionAndInspectionData') {
$('iframe').attr('src', '../DataShow/Check.aspx') //安全监督检查
window.open("../DataShow/Check.aspx")
}
else if (type == 'AccidentEventData') {
$('iframe').attr('src', '../DataShow/Accident.aspx') //事故事件数据
window.open("../DataShow/Accident.aspx")
}
else if (type == 'SafeRiskData') {
$('iframe').attr('src', '../DataShow/SecurityRisk.aspx') //安全风险数据
window.open("../DataShow/SecurityRisk.aspx")
}
else if (type == 'yjglsj'<%-- && tabType == "qyj"--%>) {
$('iframe').attr('src', '../DataShow/Emergency.aspx')//应急管理数据-企业级
window.open("../DataShow/Emergency.aspx")
}<%--
else if (type == 'yjglsj' && tabType == "xmj") {
$('iframe').attr('src', '../DataShow/Emergency.aspx')//应急管理数据-项目级
window.open("../DataShow/Emergency.aspx")
}--%>
else if (type == 'wdgcsj'<%-- && tabType == "large"--%>) {
$('iframe').attr('src', '../DataShow/LargeEngineering.aspx')//危大工程- 危大工程
window.open("../DataShow/LargeEngineering.aspx")
}<%--
else if (type == 'wdgcsj' && tabType == "super") {
$('iframe').attr('src', '../DataShow/LargeEngineering.aspx') // 危大工程 - 超危大工程
window.open("../DataShow/LargeEngineering.aspx")
}--%>
else if (type == 'yhpc' && tabType == "yb") {
$('iframe').attr('src', '../DataShow/HiddenRectification.aspx') //隐患排查-一般隐患
window.open("../DataShow/HiddenRectification.aspx")
} else if (type == 'HiddenRectification') {
window.open("../DataShow/HiddenRectification.aspx") //整改数据
}
else if (type == 'yhpc' && tabType == "zd") {
$('iframe').attr('src', '../DataShow/HiddenRectification.aspx')//隐患排查-重大隐患
window.open("../DataShow/HiddenRectification.aspx")
} else if (type == 'QualityProblem') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //质量问题数据
window.open("../DataShow/QualityProblem.aspx")
} else if (type == 'InspectionManagement') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //质量共检数据
window.open("../DataShow/InspectionManagement.aspx")
} else if (type == 'SafePerson') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //安全管理人员数据
window.open("../DataShow/SafePerson.aspx")
} else if (type == 'Person1') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //当前现场人员数据
window.open("../DataShow/Person1.aspx")
} else if (type == 'Person2') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //作业人员总数数据
window.open("../DataShow/Person2.aspx")
} else if (type == 'Person3') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //管理人员总数数据
window.open("../DataShow/Person3.aspx")
} else if (type == 'WeldOneOK') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //焊接一次合格数据
window.open("../DataShow/WeldOneOK.aspx")
} else if (type == 'GJSX') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //关键事项数据
window.open("../DataShow/GJSX.aspx")
}
else if (type == 'ManagerData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据
window.open("../DataShow/QualityPerson.aspx")
title = '管理人员数据'
} else if (type == 'ManagerTrainData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityTraining.aspx') //质量培训人员数据
window.open("../DataShow/QualityTraining.aspx")
title = '质量培训人员数据'
} else if (type == 'ProjectData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据
window.open("../DataShow/Project.aspx")
title = '项目数据'
}
else if (type == 'ProjectPersonData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据
window.open("../DataShow/ProjectPerson.aspx")
title = '项目数据'
}
/*
else if (type == 'Video') {
$('iframe').attr('src', '../InterfacePopup/HSSE/VideoView.aspx') //视频监控
}*/
else {
// $('iframe').attr('src', '../SysManage/Unit.aspx')
// window.open("../DataShow/Unit.aspx")
console.log("通用")
}
}
function clOnclick(objval) {
if (objval == 0) {
$("#span_gdcl").addClass("cl-btn-act")
$("#span_sbcl").removeClass("cl-btn-act")
$("#div_cldhHead").html('<%=gdclHead%>')
$("#div_cldhList").html('<%=gdclHtml%>')
} else {
$("#span_sbcl").addClass("cl-btn-act")
$("#span_gdcl").removeClass("cl-btn-act")
$("#div_cldhHead").html('<%=sbclHead%>')
$("#div_cldhList").html('<%=sbclHtml%>')
}
}
</script>
<script>
var map = null
// 质量问问题整改率
zlmap()
function zlmap() {
let AOption1 = {
title: [
{
text: '质量巡检问题整改率',
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12)
}
},
{
text: '总计 ' + '{a|' + <%=zlallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=zlfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
text: <%=zlzgl%> + '{a|%}',
top: fontSize(40),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
}
}
}
],
series: [
{
center: ['50%', fontSize(50)],
name: '',
type: 'pie',
radius: ['40%', '50%'],
avoidLabelOverlap: false,
labelLine: {
show: false
},
data: [
{ value: <%=zlzgl%>, itemStyle: { color: '#FFA602' } },
{ value: <%=zgzglDataValue%>, itemStyle: { color: '#2A396A' } },
],
}
]
};
var aPassChart = echarts.init(document.getElementById('zlmap'));
aPassChart.setOption(AOption1);
}
// 施工质量一次共检合格率
ycmap()
function ycmap() {
let allNumber = 70 // 总计
let finishNumber = 360 // 完成的数量
let zg = 72
let AOption1 = {
title: [
{
text: '施工质量一次共检合格率',
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12)
}
},
{
text: '总计 ' + '{a|' + <%=zlgjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=zlgjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
text: <%=zlgjzgl%> + '{a|%}',
top: fontSize(40),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
}
}
}
],
series: [
{
center: ['50%', fontSize(50)],
name: '',
type: 'pie',
radius: ['40%', '50%'],
avoidLabelOverlap: false,
labelLine: {
show: false
},
data: [
{ value: <%=zlgjzgl%>, itemStyle: { color: '#FFA602' } },
{ value: <%=zggjzglDataValue%>, itemStyle: { color: '#2A396A' } },
],
}
]
};
var aPassChart = echarts.init(document.getElementById('ycmap'));
aPassChart.setOption(AOption1);
}
// 焊接一次合格率
hjmap()
function hjmap() {
let allNumber = 70 // 总计
let finishNumber = 360 // 完成的数量
let zg = 72
let AOption1 = {
title: [
{
text: '焊接一次合格率',
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12)
}
},
{
text: '总计 ' + '{a|' + <%=hjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=hjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(12),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
text: <%=hjzgl%> + '{a|%}',
top: fontSize(40),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
}
}
}
],
series: [
{
center: ['50%', fontSize(50)],
name: '',
type: 'pie',
radius: ['40%', '50%'],
avoidLabelOverlap: false,
labelLine: {
show: false
},
data: [
{ value: <%=hjzgl%> , itemStyle: { color: '#FFA602' } },
{ value: <%=hjDataValue%> , itemStyle: { color: '#2A396A' } },
],
}
]
};
var aPassChart = echarts.init(document.getElementById('hjmap'));
aPassChart.setOption(AOption1);
}
// 准点率
zhglmap()
function zhglmap() {
let value = 72
let AOption1 = {
series: [
{
center: ['50%', '50%'],
id: '准点率',
radius: '75%',
type: 'gauge',
startAngle: 225,
endAngle: -45,
roundCap: true,
pointer: {
show: false,
},
progress: {
show: true,
overlap: false,
roundCap: true, // 顶端圆角
clip: false,
},
axisLine: {
roundCap: true,
lineStyle: {
width: fontSize(16),
color: [[1, '#2A396A']],
// shadowColor: '#1C466C',
// shadowBlur: 10,
}
},
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: '#0066FF'
},
{
offset: 1,
color: '#00F0FF'
}
]),
},
splitLine: {
show: false,
distance: 0,
length: fontSize(20)
},
axisTick: {
show: false
},
axisLabel: {
show: false,
},
data: [
{
value: <%=gjsxZdl%>,
name: '准点率',
title: {
color: '#63CAFF',
offsetCenter: ['0%', '60%'],
fontSize: fontSize(12)
},
detail: {
valueAnimation: true,
offsetCenter: ['0%', '0%'],
}
}
],
detail: {
offsetCenter: ['0%', '120%'],
fontSize: fontSize(28),
color: '#00FFFF',
formatter: '{value}{a|%}',
rich: {
a: {
fontSize: fontSize(14),
color: '#00FFFF'
}
}
}
}
]
};
var aPassChart = echarts.init(document.getElementById('zglmap'));
aPassChart.setOption(AOption1);
}
// 人员信息
rymap()
function rymap() {
let value = [<%=ProjectPersonCount%>]
let label = [<%=ProjectPersonMc%>]
let opt = {
grid: {
top: fontSize(30),
bottom: fontSize(40)
},
dataZoom: [
{
type: 'slider',
// start: 0,
// end: 60
maxValueSpan: 6,
show: true,
xAxisIndex: [0],
bottom: 25, height: 10,
backgroundColor: 'rgba(0,0,0,0)',
borderColor: 'none',
brushSelect: false,
textStyle: {
color: 'rgba(0,0,0,0)'
},
selectedDataBackground: {
areaStyle: {
color: 'red',
borderWidth: 0
}
},
handleStyle: { // 缩放手柄的样式
color: "#0a1449"
},
moveHandleStyle: {
color: '#0a1449'
}
}
],
xAxis: {
type: 'category',
data: label,
axisLabel: {
interval: 0,//使x轴文字显示全
rotate: -10, // 标签倾斜的角度
color: '#3FB0FF'
},
axisLine: {
show: false,
lineStyle: {
color: '#84D7FE'
}
},
axisTick: {
show: false
}
},
yAxis: {
type: 'value',
axisLabel: {
color: '#3FB0FF'
},
splitLine: {
show: true,
lineStyle: {
color: '#1B538B',
type: 'dashed'
}
}
},
series: [
{
name: '',
data: value,
type: 'bar',
barWidth: fontSize(20),
itemStyle: {
color: '#38ECC3'
},
label: {
// 柱图头部显示值
show: true,
position: "top",
color: "#ffffff",
fontSize: fontSize(10),
formatter: (params) => {
//return params.value[params.encode.x[0]];
return params.value;
},
},
}
]
};
var aPassChart = echarts.init(document.getElementById('rymap'));
aPassChart.setOption(opt);
}
// 进度情况
jdmap()
function jdmap() {
let value = [<%=ProjectJd%>]
let label = [<%=ProjectMc %>]
let opt = {
legend: {
top: fontSize(10),
left: 'center',
data: [{ name: '进度统计', textStyle: { color: '#63CAFF' } }, { name: '进度百分比', textStyle: { color: '#12CDA2' } }]
},
grid: {
top: fontSize(60),
bottom: fontSize(40)
},
xAxis: {
type: 'category',
data: label,
axisLabel: {
interval: 0,//使x轴文字显示全
color: '#3FB0FF'
},
axisLine: {
show: false,
lineStyle: {
color: '#84D7FE'
}
},
axisTick: {
show: false
}
},
yAxis: {
type: 'value',
axisLabel: {
color: '#3FB0FF'
},
splitLine: {
show: true,
lineStyle: {
color: '#1B538B',
type: 'dashed'
}
}
},
series: [
{
name: '进度统计',
data: value,
type: 'bar',
barWidth: fontSize(20),
itemStyle: {
color: '#63CAFF'
},
label: {
// 柱图头部显示值
show: true,
position: "top",
color: "#ffffff",
fontSize: fontSize(10),
formatter: (params) => {
return params.value;
},
},
},
{
name: '进度百分比',
data: value,
type: 'line',
barWidth: fontSize(20),
itemStyle: {
color: '#6BD98D'
},
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: '#6BD98D'
}, // %0的颜色值
{
offset: 1,
color: 'rgba(107, 217, 141, 0)'
} // 100%的颜色值
])
},
}
]
};
var aPassChart = echarts.init(document.getElementById('jdmap'));
aPassChart.setOption(opt);
}
// 创建地图
//myWorldMap()
function myWorldMap() {
map = new BMapGL.Map("y_map")
map.centerAndZoom(new BMapGL.Point(118.5, 27.5), 4)
map.enableScrollWheelZoom(true)
map.setMapType(BMAP_EARTH_MAP)
map.setDisplayOptions({
skyColors: ['rgba(186, 0, 255, 0)', 'rgba(186, 0, 255, 0.2)']
})
createPont()
}
// 创建图表标记
function createPont(obj = { projectName: '项目名称', startTime: '2023-11-22', endTime: '2023-11-22', residue: 360, progress: 80, url: 'https://www.baidu.com/', lng: 116.404, lat: 39.915 }) {
let str = ` <div class="y_mark_info">
<div class="title">${obj.projectName}</div>
<div class="row y_row"><div class="label">开工日期</div><div class="value">${obj.startTime}</div></div>
<div class="row y_row"><div class="label">完工日期</div><div class="value">${obj.endTime}</div></div>
<div class="row y_row"><div class="label">剩余天数</div><div class="value">${obj.residue}天</div></div>
<div class="row y_row"><div class="label">进度</div><div class="value">${obj.progress}%</div></div>
<a class="row_more" href='${obj.url}' data-id='${obj.id}'>项目详情</a>
</div>`
var point = new BMapGL.Point(obj.lng, obj.lat);
var marker = new BMapGL.Marker(point); // 创建标注
map.addOverlay(marker);
var infoWindow = new BMapGL.InfoWindow(str, { enableMessage: false });
marker.addEventListener("click", function () {
map.openInfoWindow(infoWindow, point); //开启信息窗口
});
}
</script>
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=3.0&ak=Lma56vCk88x46KEXSyc2cIXk6kT2W7KB"></script>
<script type="text/javascript">
function randomData() {
return Math.round(Math.random() * 1000);
}
var project =<%=Project %>
//var projectNum = { "name": null, "type": null, "data": [31.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 5.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "dataString": null, "dataObject": null }
var projectMaxNum = 5;
var myChart = null
var geoCoordMap = {
'上海': [121.48, 31.22],
'天津': [117.2, 39.13],
'北京': [116.46, 39.92],
'河北': [114.48, 38.03],
'黑龙江': [126.63, 45.75],
'河南': [113.65, 34.76],
'重庆': [106.54, 29.59],
'山西': [112.53, 37.87],
'辽宁': [123.38, 41.8],
'吉林': [125.35, 43.88],
'浙江': [120.19, 30.26],
'福建': [119.3, 26.08],
'山东': [118.54, 36.59],
'湖北': [114.31, 30.52],
'湖南': [113, 28.21],
'广东': [113.23, 23.16],
'海南': [110.35, 20.02],
'四川': [104.06, 30.67],
'贵州': [106.71, 26.57],
'云南': [102.73, 25.04],
'江西': [115.89, 28.68],
'陕西': [108.95, 34.27],
'青海': [101.74, 36.56],
'甘肃': [103.73, 36.03],
'广西': [106.54, 29.59],
'新疆': [87.68, 43.77],
'内蒙古': [111.65, 40.82],
'西藏': [91.11, 29.97],
'宁夏': [106.27, 38.47],
'台湾': [121.5, 25.14],
'香港': [114.1, 22.2],
'澳门': [113.33, 22.13],
'安徽': [117.27, 31.86],
'江苏': [118.78, 32.04],
};
var projectDesc = [{
name: "上海",
value: project.data[1],
JD: project.jd[1],
SG: project.sg[1],
Time: project.time[1],
HT: project.ht[1]
},
{
name: "河北",
value: project.data[2],
JD: project.jd[2],
SG: project.sg[2],
Time: project.time[2],
HT: project.ht[2]
},
{
name: "山西",
value: project.data[3],
JD: project.jd[3],
SG: project.sg[3],
Time: project.time[3],
HT: project.ht[3]
},
{
name: "内蒙古",
value: project.data[4],
JD: project.jd[4],
SG: project.sg[4],
Time: project.time[4],
HT: project.ht[4]
},
{
name: "辽宁",
value: project.data[5],
JD: project.jd[5],
SG: project.sg[5],
Time: project.time[5],
HT: project.ht[5]
},
{
name: "吉林",
value: project.data[6],
JD: project.jd[6],
SG: project.sg[6],
Time: project.time[6],
HT: project.ht[6]
},
{
name: "黑龙江",
value: project.data[7],
JD: project.jd[7],
SG: project.sg[7],
Time: project.time[7],
HT: project.ht[7]
},
{
name: "江苏",
value: project.data[8],
JD: project.jd[8],
SG: project.sg[8],
Time: project.time[8],
HT: project.ht[8]
},
{
name: "浙江",
value: project.data[9],
JD: project.jd[9],
SG: project.sg[9],
Time: project.time[9],
HT: project.ht[9]
},
{
name: "安徽",
value: project.data[10],
JD: project.jd[10],
SG: project.sg[10],
Time: project.time[10],
HT: project.ht[10]
},
{
name: "福建",
value: project.data[11],
JD: project.jd[11],
SG: project.sg[11],
Time: project.time[11],
HT: project.ht[11]
},
{
name: "江西",
value: project.data[12],
JD: project.jd[12],
SG: project.sg[12],
Time: project.time[12],
HT: project.ht[12]
},
{
name: "山东",
value: project.data[13],
JD: project.jd[13],
SG: project.sg[13],
Time: project.time[13],
HT: project.ht[13]
},
{
name: "河南",
value: project.data[14],
JD: project.jd[14],
SG: project.sg[14],
Time: project.time[14],
HT: project.ht[14]
},
{
name: "湖北",
value: project.data[15],
JD: project.jd[15],
SG: project.sg[15],
Time: project.time[15],
HT: project.ht[15]
},
{
name: "湖南",
value: project.data[16],
JD: project.jd[16],
SG: project.sg[16],
Time: project.time[16],
HT: project.ht[16]
},
{
name: "广东",
value: project.data[17],
JD: project.jd[17],
SG: project.sg[17],
Time: project.time[17],
HT: project.ht[17]
},
{
name: "广西",
value: project.data[18],
JD: project.jd[18],
SG: project.sg[18],
Time: project.time[18],
HT: project.ht[18]
},
{
name: "海南",
value: project.data[19],
JD: project.jd[19],
SG: project.sg[19],
Time: project.time[19],
HT: project.ht[19]
},
{
name: "四川",
value: project.data[20],
JD: project.jd[20],
SG: project.sg[20],
Time: project.time[20],
HT: project.ht[20]
},
{
name: "贵州",
value: project.data[21],
JD: project.jd[21],
SG: project.sg[21],
Time: project.time[21],
HT: project.ht[21]
},
{
name: "云南",
value: project.data[22],
JD: project.jd[22],
SG: project.sg[22],
Time: project.time[22],
HT: project.ht[22]
},
{
name: "西藏",
value: project.data[23],
JD: project.jd[23],
SG: project.sg[23],
Time: project.time[23],
HT: project.ht[23]
},
{
name: "陕西",
value: project.data[24],
JD: project.jd[24],
SG: project.sg[24],
Time: project.time[24],
HT: project.ht[24]
},
{
name: "甘肃",
value: project.data[25],
JD: project.jd[25],
SG: project.sg[25],
Time: project.time[25],
HT: project.ht[25]
},
{
name: "青海",
value: project.data[26],
JD: project.jd[26],
SG: project.sg[26],
Time: project.time[26],
HT: project.ht[26]
},
{
name: "宁夏",
value: project.data[27],
JD: project.jd[27],
SG: project.sg[27],
Time: project.time[27],
HT: project.ht[27]
},
{
name: "新疆",
value: project.data[28],
JD: project.jd[28],
SG: project.sg[28],
Time: project.time[28],
HT: project.ht[28]
},
{
name: "北京",
value: project.data[29],
JD: project.jd[29],
SG: project.sg[29],
Time: project.time[29],
HT: project.ht[29]
},
{
name: "天津",
value: project.data[30],
JD: project.jd[30],
SG: project.sg[30],
Time: project.time[30],
HT: project.ht[30]
},
{
name: "重庆",
value: project.data[31],
JD: project.jd[31],
SG: project.sg[31],
Time: project.time[31],
HT: project.ht[31]
},
{
name: "香港",
value: project.data[32],
JD: project.jd[32],
SG: project.sg[32],
Time: project.time[32],
HT: project.ht[32]
},
{
name: "澳门",
value: project.data[33],
JD: project.jd[33],
SG: project.sg[33],
Time: project.time[33],
HT: project.ht[33]
},
{
name: "台湾",
value: project.data[34],
JD: project.jd[34],
SG: project.sg[34],
Time: project.time[34],
HT: project.ht[34]
}]
var getItem = function (name) {
for (var i = 0; i < projectDesc.length; i++) {
var item = projectDesc[i]
if (item.name == name) {
return item
}
}
}
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var geoCoord = geoCoordMap[data[i]];
if (geoCoord) {
res.push({
name: data[i],
value: geoCoord.concat(""),
});
}
}
return res;
};
function mapEchart(id, mapType) {
myChart = echarts.init(document.getElementById(id));
var mapType = mapType || 'china'
var mapZoom = mapType == 'china' ? 1.2 : 0.8
optionMap = {
title: {
// x:"center",
text: '',
textStyle: {
fontSize: 15,
fontWeight: 'normal',
color: '#fff'
// color:'rgba(0,162,233)'
}
, left: "center"
, top: 35
},
tooltip: {
trigger: 'item'
, formatter: function (params) {
var res = params.name + '<br/>';
var myseries = optionMap.series;
if (convertData) {
for (var i = 0; i < myseries.length - 1; i++) {
for (var j = 0; j < myseries[i].data.length; j++) {
if (myseries[i].data[j].name == params.name) {
res += myseries[i].name + ' : ' + myseries[i].data[j].value + '</br>';
var itemT = getItem(params.name)
if (itemT) {
if (itemT.JD != "") {
res += itemT.JD + '</br>';
res += itemT.SG + '</br>';
res += itemT.Time + '</br>';
res += itemT.HT + '</br>';
}
}
}
}
}
}
else {
for (var i = 0; i < myseries.length; i++) {
for (var j = 0; j < myseries[i].data.length; j++) {
if (myseries[i].data[j].name == params.name) {
res += myseries[i].name + ' : ' + myseries[i].data[j].value + '</br>';
}
}
}
}
console.log(res)
return res;
}
},
roamController: {
show: true,
x: 'right',
mapTypeControl: {
'china': true
}
},
geo: {
map: mapType,
label: {
emphasis: {
show: true
}
},
itemStyle: {
normal: {
// areaColor: '#FFE4CA',
//areaColor: '#09295b',
areaColor: '#ffffff',
borderColor: '#84C1FF',
borderWidth: 0.8
},
emphasis: {
areaColor: '#3066ba'
}
}
},
series: [
{
name: '数量',
type: 'map',
// mapType: 'world',
mapType: mapType,
//zoom: mapZoom,
roam: false,
data: [
{ name: 'China', value: project.data[0] },
{ name: 'United States', value: randomData() },
{ name: '上海', value: project.data[1] },
{ name: '河北', value: project.data[2] },
{ name: '山西', value: project.data[3] },
{ name: '内蒙古', value: project.data[4] },
{ name: '辽宁', value: project.data[5] },
{ name: '吉林', value: project.data[6] },
{ name: '黑龙江', value: project.data[7] },
{ name: '江苏', value: project.data[8] },
{ name: '浙江', value: project.data[9] },
{ name: '安徽', value: project.data[10] },
{ name: '福建', value: project.data[11] },
{ name: '江西', value: project.data[12] },
{ name: '山东', value: project.data[13] },
{ name: '河南', value: project.data[14] },
{ name: '湖北', value: project.data[15] },
{ name: '湖南', value: project.data[16] },
{ name: '广东', value: project.data[17] },
{ name: '广西', value: project.data[18] },
{ name: '海南', value: project.data[19] },
{ name: '四川', value: project.data[20] },
{ name: '贵州', value: project.data[21] },
{ name: '云南', value: project.data[22] },
{ name: '西藏', value: project.data[23] },
{ name: '陕西', value: project.data[24] },
{ name: '甘肃', value: project.data[25] },
{ name: '青海', value: project.data[26] },
{ name: '宁夏', value: project.data[27] },
{ name: '新疆', value: project.data[28] },
{ name: '北京', value: project.data[29] },
{ name: '天津', value: project.data[30] },
{ name: '重庆', value: project.data[31] },
{ name: '香港', value: project.data[32] },
{ name: '澳门', value: project.data[33] },
{ name: '台湾', value: project.data[34] }
],
//地图区域的多边形 图形样式,有 normal 和 emphasis 两个状态
itemStyle: {
//normal 是图形在默认状态下的样式;
normal: {
show: false,
areaColor: "#66b2ff",
borderColor: "#FCFCFC",
borderWidth: "1"
},
//emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
emphasis: {
show: false,
areaColor: "#0073e6",
}
},
//图形上的文本标签,可用于说明图形的一些数据信息
label: {
normal: {
show: false
},
emphasis: {
show: false
}
}
},
{
name: 'tips',
type: 'effectScatter',//影响散点
coordinateSystem: 'geo',
symbolSize: [12.5, 19.5],
symbolOffset: [0, '-50%'],
showEffectOn: 'render',
symbol: 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAnCAYAAAD6meO+AAACeElEQVRIia2WsUscQRTGn6BgsLhUybzZPW7vEgiKnIVd4MAUErBJLSn0D7DxP9gikHNm79bGQpBcmpg0VglESBFIG7wysdGUVmKIEOOhfClW7uJld3ZnbxceC7v73m+/me/NDFHKBV2fQst5Ai3XsCH8fmi5Fj2vT6XVMBSvVBHILSg+gxJIDj6DllsIPc8SIH0ovjAXHwrNv6Gln168WStByfdWxf+DyQ8IvbvxgI43Cc1fRwIMVHXRdu/EDBG/KQTQD7l7GxA4KxkSr6H4EIq/RHdxnZoTOCuDYVLixPBxD1oq6Er19o9VK9CyCcWXhtwTdLzJNBW/0C43jGZpycdQ4qdRDTTvG5zyLNWSRATlLhlMsE/Q4jyhyT5lAQxA/DEeIs4pWab73AoSyOWkWsmQljNnBWk5c/aQQMzYKREzOZS4S1YQw+QTtOglOGvHDsLbCRPfI2juJr3EpnyUCdB2H0LznwQLdwmaw+Rm5ENsVu8bAfrBPSj+ZuiTkKC4Yeh4QIkfCPhpLCCQi1Di2JzPDQIwBiWOUkCA5u9QsgPNL6DlK+PfD+IIwNiNZOlnSLCPf3dKKE+krKY5gi+hPDE0gfJ1oZBAdmJcUp4tdqjKswl25L1iALxn8LxbLwbi1k29Nboak4o+JORpaHGVDyCuEPJ0KiRSI3fyQSwWVbRdx/qYqvgCbdfJDInUiKZdX/BLKwAREbZrJWg+zajiFM1ayRpCRATF6xkh67kAkZr5CWhOW8qPsT0/kRtCZD7qRHMhl0cCENHNfsMHCSoO+vvFyKBoB4xTsVgIoA/S8u0Q4F2hACIi+AvjUM4qNoQP5azi88J41ty/StsHfhsMLgIAAAAASUVORK5CYII=',
rippleEffect: {
brushType: 'stroke'
},
hoverAnimation: true,
label: {
normal: {
color: '#c60fff',
formatter: '{b}',
position: 'right',
show: false
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
color: 'red', // 标记点颜色
shadowBlur: 10,
shadowColor: '#333'
},
},
data: convertData(project.convert
),
}
]
};
myChart.clear()
//为echarts对象加载数据
myChart.setOption(optionMap);
}
function initMap() {
var map = new BMapGL.Map("map"); // 创建Map实例
map.centerAndZoom(new BMapGL.Point(100.5, 33.5), 4); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
map.setMapType(BMAP_EARTH_MAP);
var myIcon = new BMapGL.Icon("/Images/loc.png", new BMapGL.Size(36, 36));
// 创建Marker标注使用小车图标
project.loc.forEach(function (item, index) {
var pt = new BMapGL.Point(item.split(',')[0], item.split(',')[1]);
var marker = new BMapGL.Marker(pt, {
icon: myIcon
});
console.log(item);
var content = '<table>'
content = content + '<tr><td> 项目名称:' + item.split(',')[7] + '</td></tr>'
content = content + '<tr><td> 开工日期:' + item.split(',')[9] + '</td></tr>'
content = content + '<tr><td> 完工日期:' + item.split(',')[10] + '</td></tr>'
content = content + '<tr><td> 剩余天数:' + item.split(',')[11] + '</td></tr>'
content = content + '<tr><td> 进度:' + item.split(',')[4] + '</td></tr>'
/* content = content + '<tr><td> 合同额:(' + item.split(',')[5] + ');收款额:(' + item.split(',')[6] + ')</td></tr>'*/
content = content + '<tr><td style="width:180px;"><a style="text-decoration:underline;color:#00a2e9;text-overflow: ellipsis; white - space: nowrap;" target="_top" href="../indexProject.aspx?projectId=' + item.split(',')[8] + '&projectName=' + item.split(',')[7] + '">项目详情</a></td> </tr>'
content += '</table>'
var infowindow = new BMapGL.InfoWindow(content, { title: item.split(',')[7] })
// 点标记添加点击事件
marker.addEventListener('click', function () {
this.openInfoWindow(infowindow)
})
// 将标注添加到地图
map.addOverlay(marker);
});
}
initMap()
//mapEchart('map', 'china')
//定义全国省份的数组
var provinces = ['shanghai', 'hebei', 'shanxi', 'neimenggu', 'liaoning', 'jilin', 'heilongjiang', 'jiangsu', 'zhejiang', 'anhui', 'fujian', 'jiangxi', 'shandong', 'henan', 'hubei', 'hunan', 'guangdong', 'guangxi', 'hainan', 'sichuan', 'guizhou', 'yunnan', 'xizang', 'shanxi1', 'gansu', 'qinghai', 'ningxia', 'xinjiang', 'beijing', 'tianjin', 'chongqing', 'xianggang', 'aomen'];
var provincesText = ['上海', '河北', '山西', '内蒙古', '辽宁', '吉林', '黑龙江', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '广西', '海南', '四川', '贵州', '云南', '西藏', '陕西', '甘肃', '青海', '宁夏', '新疆', '北京', '天津', '重庆', '香港', '澳门'];
//展示对应的省
function showProvince(pName, pRealName) {
//这写省份的js都是通过在线构建工具生成的保存在本地需要时加载使用即可最好不要一开始全部直接引入。
loadBdScript('$' + pName + 'JS', '../res/index/js/province/' + pName + '.js', function () {
//初始化echarts:具体代码参考上面初始化中国地图即可,这里不再重复。
initEcharts(pName, pRealName)
});
}
//加载对应的JS
function loadBdScript(scriptId, url, callback) {
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function () {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function () {
callback();
};
}
script.src = url;
script.id = scriptId;
document.getElementsByTagName("head")[0].appendChild(script);
}
function initEcharts(pName, pRealName) {
optionMap = {
title: {
// x:"left",
text: pRealName,
textStyle: {
fontSize: 20,
fontWeight: 'normal',
color: '#fff'
// color:'rgba(0,162,233)'
}
, left: "center"
, top: 35
},
tooltip: {
trigger: 'item'
, formatter: '{b}<br>数量:{c}'
},
geo: {
map: pRealName,
label: {
emphasis: {
show: true
}
},
itemStyle: {
normal: {
areaColor: '#FFE4CA',
borderColor: '#84C1FF',
borderWidth: 0.8
},
emphasis: {
areaColor: '#FFC78E'
}
}
},
//visualMap: {
// min: 0,
// max: 100,
// left: 20,
// bottom: 10,
// text: ['高', '低'],// 文本,默认为数值文本
// color: ['rgba(0, 64, 128, 0.1)', 'rgba(0, 64, 128,1)'],
// calculable: false,
// textStyle: {
// color: '#fff'
// }
//},
series: [
{
type: 'map',
mapType: pRealName,
roam: false,
data: [
{ name: '合肥市', value: randomData() },
{ name: '芜湖市', value: randomData() },
{ name: '蚌埠市', value: randomData() },
{ name: '淮南市', value: randomData() },
{ name: '马鞍山市', value: randomData() },
{ name: '淮北市', value: randomData() },
{ name: '铜陵市', value: randomData() },
{ name: '黄山市', value: randomData() },
{ name: '滁州市', value: randomData() },
{ name: '阜阳市', value: randomData() },
{ name: '宿州市', value: randomData() },
{ name: '亳州市', value: randomData() },
{ name: '池州市', value: randomData() },
{ name: '宣城市', value: randomData() }
],
//地图区域的多边形 图形样式,有 normal 和 emphasis 两个状态
itemStyle: {
//normal 是图形在默认状态下的样式;
normal: {
show: true,
areaColor: "#1a75ff",
borderColor: "#FCFCFC",
borderWidth: "1"
},
//emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
emphasis: {
show: true,
areaColor: "#0052cc",
}
},
//图形上的文本标签,可用于说明图形的一些数据信息
label: {
normal: {
show: false
},
emphasis: {
show: false
}
}
}
]
};
myChart.clear();
//为echarts对象加载数据
myChart.setOption(optionMap);
}
$(document).ready(function () {
// 导航按钮点击事件
$(".nav-btn>div").on("click", function (e) {
if ($(e.target).hasClass("n-btn-r") || $(e.target).hasClass("n-btn-l")) {
$(".nav-btn>div").removeClass("n-btn-r-act")
$(".nav-btn>div").removeClass("n-btn-l-act")
if ($(e.target).hasClass("n-btn-r")) {
$(e.target).addClass("n-btn-r-act")
} else if ($(e.target).hasClass("n-btn-l")) {
$(e.target).addClass("n-btn-l-act")
}
} else if ($(e.target).hasClass("t-btn")) {
$(".nav-btn>div").removeClass("t-btn-act")
$(e.target).addClass("t-btn-act")
}
// 获取跳转属性
console.log($(e.target).attr("url"))
})
$('.btns>div').on("click", function (e) {
console.log($(e.target).attr("type"))
})
$('.cl-btn').on("click", function (e) {
$('.cl-btn').removeClass("cl-btn-act")
$(e.target).addClass("cl-btn-act")
})
});
</script>
<!-- echarts 图表 -->
<script>
// 质量概况
<%-- let weekData = [
{ name: '质量问题整改率', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' },
{ name: '一次共检合格率', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' },
{ name: '焊接一次合格率', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' },
]--%>
createZL({ name: '质量问题整改率', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' })
createZL({ name: '一次共检合格率', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' })
createZL({ name: '焊接一次合格率', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
function createZL(obj) {
let AOption1 = {
title: [{
text: obj.name || '',
top: '62%',
left: 'center',
textStyle: {
color: '#FFFFFF',
fontSize: 14,
fontWeight: 100
}
}, {
// text: `总计:${obj.value1} | 完成:${obj.value2}`,
text: [`{a|总计:}{b|${obj.value1}}{c||}{a|完成:}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
rich: {
a: {
fontSize: 12,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 12,
},
c: {
padding: [0, 6],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 12,
color: '#12CDA2',
}
},
}
},
],
series: [
{
name: '',
type: 'gauge',
radius: "60%",
center: ["50%", "30%"],
startAngle: 360,
endAngle: 0,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 20,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
detail: {
valueAnimation: true,
formatter: function (value) {
//str = `{a|${(obj.value2 / obj.value1 * 100).toFixed(2)}}{b|%}`
str = `{a|${parseFloat((obj.value2 / obj.value1 * 100).toFixed(2))}}{b|%}`
return str;
},
color: 'inherit',
offsetCenter: [0, 0],
rich: {
a: {
fontSize: 20,
color: '#FFFFFF'
},
b: {
fontSize: 12,
color: '#FFFFFF'
}
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
distance: -20,
length: 20,
lineStyle: {
color: '#021837',
width: 4,
}
},
axisTick: {
show: false
},
anchor: {
show: false
},
data: [
{ value: obj.value1 },
],
},
{
name: '',
type: 'gauge',
radius: "68%",
center: ["50%", "30%"],
startAngle: 20,
endAngle: 200,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 1,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
anchor: {
show: false
},
}
]
};
var aPassChart = echarts.init(document.getElementById(obj.el));
aPassChart.setOption(AOption1);
}
// 人员信息
createRYXX()
function createRYXX() {
let type = [<%=ProjectPersonMc%>]
// 计划月进度
let value = [<%=ProjectPersonCount%>]
let opt = {
grid: {
top: 30,
bottom: 40,
},
xAxis: {
type: 'category',
data: type,
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
axisLabel: {
interval: 0,
rotate: -16, // 如果数据较多时旋转标签以避免重叠
margin: 8, // 设置标签与轴线之间的距离
// align: 'center'
},
axisTick: {
show: false
}
},
yAxis: {
type: 'value',
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
splitLine: {
lineStyle: {
color: '#2E87AC',
type: 'dashed'
}
}
},
dataZoom: [
{
// 设置滚动条的隐藏或显示
show: value.length > 10,
// 设置类型
type: "slider",
// 设置背景颜色
backgroundColor: "rgb(19, 63, 100)",
// 设置选中范围的填充颜色
fillerColor: "rgb(16, 171, 198)",
// 设置边框颜色
borderColor: "rgb(19, 63, 100)",
// 是否显示detail即拖拽时候显示详细数值信息
showDetail: false,
// 数据窗口范围的起始数值
startValue: 0,
// 数据窗口范围的结束数值(一页显示多少条数据)
endValue: 9,
// 控制哪个轴如果是number表示控制一个轴
// 如果是Array表示控制多个轴。此处控制第二根轴
xAxisIndex: 0,
// empty当前数据窗口外的数据被设置为空。
// 即不会影响其他轴的数据范围
filterMode: "empty",
// 滚动条高度
// width: "90%",
// 滚动条显示位置
height: 8,
// 距离右边
right: 20,
left: 20,
// 控制手柄的尺寸
handleSize: 0,
// 是否锁定选择区域(或叫做数据窗口)的大小
zoomLoxk: true,
// 组件离容器上侧的距离
// 如果top的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐
bottom: 0,
},
],
series: [
{
name: '',
data: value,
type: 'bar',
barWidth: 14,
itemStyle: {
color: '#3780FF'
}
},
]
};
var myEchart = echarts.init(document.getElementById('ry-map'));
myEchart.setOption(opt);
}
// 质量整改
createZG()
function createZG() {
let guardData = [
{
value: <%=gjsxZdl%>,
name: '准点率',
title: {
color: '#F9F9F9',
offsetCenter: ['0%', '160%'],
},
detail: {
valueAnimation: true,
offsetCenter: [0, 0]
}
}
];
let opt = {
series: [
{
center: ['50%', '50%'],
id: '准点率',
radius: '50%',
type: 'gauge',
startAngle: 45,
endAngle: -360,
pointer: {
show: false,
},
progress: {
show: true,
overlap: false,
roundCap: false,
clip: false,
},
axisLine: {
lineStyle: {
width: 10,
color: [[1, 'rgba(0,0,0,0)']],
shadowColor: 'rgba(0,0,0,0)',
shadowBlur: 2,
}
},
itemStyle: {
color: new echarts.graphic.LinearGradient(
1, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'rgba(0,0,0,0)' }, // 0% 处的颜色
{ offset: 1, color: '#00D99A' } // 100% 处的颜色
]
),
},
splitLine: {
show: false,
distance: 0,
length: 10
},
axisTick: {
show: false
},
axisLabel: {
show: false,
},
data: guardData,
detail: {
offsetCenter: [0, 0],
fontSize: 30,
color: '#ffffff',
formatter: '{value}{a|%}',
rich: {
a: {
fontSize: 8,
color: '#F9F9F9'
}
}
}
},
{
center: ['50%', '50%'],
radius: '60%',
type: 'gauge',
startAngle: 0,
endAngle: 360,
pointer: {
show: false,
},
progress: {
show: true,
overlap: false,
roundCap: false,
clip: false,
},
axisLine: {
lineStyle: {
width: 2,
color: [[1, '#091F24']],
shadowColor: '#091F24',
shadowBlur: 2,
}
},
itemStyle: {
color: '#091F24'
},
splitLine: {
show: false,
distance: 0,
length: 6
},
axisTick: {
show: false
},
axisLabel: {
show: false,
},
}
]
};
var myEchart = echarts.init(document.getElementById('zlzg'));
myEchart.setOption(opt);
}
// 进度情况
createJDQK()
function createJDQK() {
let type = [<%=ProjectMc %>]
// 计划月进度
let value = [<%=ProjectJd%>]
let value1 = [<%=ProjectJd%>]
let opt = {
grid: {
top: 60,
bottom: 40,
},
legend: {
top: 30,
data: [
{
name: "进度统计",
textStyle: {
color: '#2FC4AC'
}
},
{
name: "进度百分比",
textStyle: {
color: '#E29C18'
}
},
]
},
xAxis: {
type: 'category',
data: type,
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
axisLabel: {
interval: 0,
rotate: -10, // 如果数据较多时旋转标签以避免重叠
margin: 8, // 设置标签与轴线之间的距离
// align: 'center'
},
axisTick: {
show: false
}
},
yAxis: {
type: 'value',
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
splitLine: {
lineStyle: {
color: '#2E87AC',
type: 'dashed'
}
}
},
dataZoom: [
{
// 设置滚动条的隐藏或显示
/* show: value.length > 10,*/
show: true,
// 设置类型
type: "slider",
// 设置背景颜色
backgroundColor: "rgb(19, 63, 100)",
// 设置选中范围的填充颜色
fillerColor: "rgb(16, 171, 198)",
// 设置边框颜色
borderColor: "rgb(19, 63, 100)",
// 是否显示detail即拖拽时候显示详细数值信息
showDetail: false,
// 数据窗口范围的起始数值
startValue: 0,
// 数据窗口范围的结束数值(一页显示多少条数据)
endValue: 9,
// 控制哪个轴如果是number表示控制一个轴
// 如果是Array表示控制多个轴。此处控制第二根轴
xAxisIndex: 0,
// empty当前数据窗口外的数据被设置为空。
// 即不会影响其他轴的数据范围
filterMode: "empty",
// 滚动条高度
// width: "90%",
// 滚动条显示位置
height: 8,
// 距离右边
right: 20,
left: 20,
// 控制手柄的尺寸
handleSize: 0,
// 是否锁定选择区域(或叫做数据窗口)的大小
zoomLoxk: true,
// 组件离容器上侧的距离
// 如果top的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐
bottom: 0,
},
],
series: [
{
name: '进度统计',
data: value,
type: 'bar',
barWidth: 20,
itemStyle: {
color: '#2FC4AC'
},
label: {
show: true,
position: "top",
color: '#ffffff'
}
},
{
name: '进度百分比',
data: value1,
type: 'line',
symbol: 'none',
itemStyle: {
color: '#EDB627'
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(237, 182, 39, 1)' // 折线底下区域渐变色
},
{
offset: 0.8,
color: 'rgba(237, 182, 39, 0)' // 折线底下区域渐变色
}
],
false
)
}
}
},
]
};
var myEchart = echarts.init(document.getElementById('jdqk'));
myEchart.setOption(opt);
}
//let chinaData = [
// {
// name: '云南双氧水项目二期',
// value: [117.27, 31.86, { value: '啊实打实的' }],
// },
// {
// name: '史丹利宜化践酸及氨站项目',
// value: [116.40, 39.90, { value: 222,name:'张三' }],
// },
// {
// name: '陕西龙华项目',
// value: [106.55, 29.56, { value: 111 }],
// }
// ]
//let chinaData = [
// {
// name: '宜都固体废弃物研发项目',
// value: [111.481555,30.376217, { value: '宜都固体废弃物研发项目', value2: '2023-07-06', value3: '2023-11-30', value4: '-196', value5: '0%' }],
// },
// {
// name: '甘肃能化金昌公司煤化工项目',
// value: [102.057367, 38.421971, { value: '甘肃能化金昌公司煤化工项目', value2: '2023-05-08', value3: '2025-01-08', value4: '209', value5: '0%' }],
// },
// {
// name: '云天安年产20万吨双氧水项目',
// value: [102.37784, 24.941141, { value: '云天安年产20万吨双氧水项目', value2: '2021-12-23', value3: '2023-04-15', value4: '-425', value5: '0%' }],
// }
// ]
let chinaData = [
<%=Project2 %>
]
let chinaOption = {
tooltip: { show: false, },
geo: [
{
// 地理坐标系组件
map: "china",
roam: false, // 可以缩放和平移
aspectScale: 0.75, // 比例
top: 130,
left: 170,
zlevel: 1,
zoom: 1.4,
tooltip: {
show: true,
backgroundColor: "#031849",
borderColor: 'none',
color: "#ffffff",
formatter: function (h) {
console.log(h)
let name = h.data.name;
let data = h.data.value;
let str = `
<div style="color:#fff;"><span>项目名称</span>:<span>${data[2].value}</span><div>
<div style="color:#fff;"><span>开工日期</span>:<span>${data[2].value2}</span><div>
<div style="color:#fff;"><span>完工日期</span>:<span>${data[2].value3}</span><div>
<div style="color:#fff;"><span>剩余天数</span>:<span>${data[2].value4}</span><div>
<div style="color:#fff;"><span>进度</span>:<span>${data[2].value5}</span><div>
`
return str
},
},
regions: [
{
name: "南海诸岛",
itemStyle: {
// 隐藏地图
normal: {
opacity: 0, // 为 0 时不绘制该图形
}
},
label: {
show: false // 隐藏文字
}
}
],
itemStyle: {
// 图形上的地图区域
normal: {
areaColor: "#1B3885",
}
},
emphasis: {
disabled: true,
}
},
{
// 地理坐标系组件
map: "china",
roam: false, // 可以缩放和平移
aspectScale: 0.75, // 比例
top: 130,
left: 170,
zlevel: 10,
zoom: 1.4,
regions: [
{
name: "南海诸岛",
itemStyle: {
// 隐藏地图
normal: {
opacity: 0, // 为 0 时不绘制该图形
}
},
label: {
show: false // 隐藏文字
}
}
],
itemStyle: {
// 图形上的地图区域
normal: {
borderWidth: 1,
areaColor: "#214DA9",
borderColor: "#2FA1D7",
// shadowBlur: 20,
// shadowOffsetY:10,
// shadowOffsetX:10,
}
},
emphasis: {
disabled: true,
itemStyle: {
areaColor: 'red',
}
}
},
],
series: [{
id: 'isSkip',
type: 'effectScatter',
coordinateSystem: 'geo',
symbolSize: 20,
zlevel: 100,
selectedMode: true,
select: {
disabled: true,
label: true,
},
itemStyle: {
color: "#FDFF04"
},
rippleEffect: {
},
data: chinaData,
}],
}
echarts.registerMap('china', chinaJson);
var chart = echarts.init(document.getElementById('c-map'));
chart.setOption(chinaOption);
</script>