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

2174 lines
81 KiB
Plaintext
Raw Normal View History

2023-09-12 15:20:29 +08:00
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainProject2.aspx.cs" Inherits="FineUIPro.Web.common.mainProject2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
2024-06-14 16:52:37 +08:00
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2023-09-12 15:20:29 +08:00
<title>项目级首页(新)</title>
<script src="lib/flex.js"></script>
2024-06-14 16:52:37 +08:00
<link rel="stylesheet" href="css/base.css" />
<link rel="stylesheet" href="css/project.css" />
2023-09-12 15:20:29 +08:00
<link rel="stylesheet" href="css/swiper-bundle.min.css" />
2024-06-14 16:52:37 +08:00
<script src="lib/jquery.js"></script>
<link rel="stylesheet" href="~/res/css/swiper.min.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>
<script src="~/res/lib/swiper.min.js"></script>
<link rel="stylesheet" href="~/res/css/company.css">
2023-09-12 15:20:29 +08:00
</head>
<style>
2024-06-14 16:52:37 +08:00
html,body{
height:100%;
}
2023-09-12 15:20:29 +08:00
.BMap_mask {
background-color: red;
}
2024-06-14 16:52:37 +08:00
.table{
margin-top: 0;
}
.zyp{
margin-top: 0;
}
2023-09-12 15:20:29 +08:00
body.f-body {
2024-06-14 16:52:37 +08:00
padding: 0px;
}
/*头部按钮样式*/
.bgbtn_dbsx {
display: inline-block;
position: absolute;
width: 5%;
height: 4%;
left: 79%;
top: 51px;
background: green !important;
border: none !important;
padding: 0 !important;
}
.bgbtn_gjsx {
display: inline-block;
position: absolute;
width: 5%;
height: 4%;
left: 72%;
top: 51px;
background: red !important;
border: none !important;
padding: 0 !important;
}
2023-08-25 09:52:24 +08:00
2023-09-12 15:20:29 +08:00
.div_border {
2024-06-14 16:52:37 +08:00
border: 1px solid #00FFFF;
2023-09-12 15:20:29 +08:00
}
</style>
<body>
2024-06-14 16:52:37 +08:00
<form id="form1" runat="server" style="background-color: #000231">
<f:PageManager ID="PageManager1" runat="server" />
<div class="body">
<div class="side">
<div class="site fx" style="width: 100%;">
<div class="label">
风险预警
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="main">
<div id="fx-map"></div>
<div class="fx-box">
<div class="yj-bars">
<div class="yj-bar">
<div class="lab">资质预警</div>
<div class="num">6</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="yj-bar">
<div class="lab">机械预警</div>
<div class="num">6</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="wd-box">
<div class="tit">危大工程</div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab" style=" width: 1rem">培训人次数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="wd-box">
<div class="tit">超危大工程</div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab" style=" width: 1rem;">培训人次数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="num">2</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="site zl">
<div class="label">
质量概况
</div>
<div class="main">
<div class="total">
<div class="glry">
<div class="lab">质量管理人员</div>
<div class="num">1307</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="glry">
<div class="lab">质量培训累计人员</div>
<div class="num">5217</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="zl-maps">
<div id="zl-map1"></div>
<div id="zl-map2"></div>
<div id="zl-map3"></div>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="site zy">
<div class="label">
作业许可
</div>
<div class="total">
<div class="zyp">
<div class="lab">动火</div>
<div class="num">0/33</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="zyp">
<div class="lab">高出</div>
<div class="num">0/33</div>
</div>
<div class="zyp">
<div class="lab">吊装</div>
<div class="num">0/33</div>
</div>
<div class="zyp">
<div class="lab">其他</div>
<div class="num">0/33</div>
</div>
</div>
<div class="zy-table">
<div class="row" title="003-十一化建-合成氨区域-"><a
href="">003-十一化建-合成氨区域-非高风险-T0001设备吊装03-十一化建-合成氨区域-非高风险-T0001设备吊装03-十一化建-合成氨区域-非高风险-T0001设备吊装03-十一化建-合成氨区域-非高风险-T0001设备吊装</a>
</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
<div class="row">003-十一化建-合成氨区域-非高风险-T0001设备吊装</div>
</div>
</div>
</div>
<div class="c-side">
<div class="c-site">
<div class="num-box">
<div class="num">1656059</div>
<div class="lab">累计安全人工时</div>
</div>
<div class="num-box">
<div class="num">0</div>
<div class="lab">本月安全人工时</div>
</div>
<div class="num-box">
<div class="num">1161</div>
<div class="lab">安全培训累计人员</div>
</div>
<div class="num-box">
<div class="num">3</div>
<div class="lab">安全管理人员</div>
</div>
<div class="num-box">
<div class="num">4564</div>
<div class="lab">未遂事件</div>
</div>
</div>
<div class="aqyh">
<div class="an-boxs">
<div>安全隐患</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #4F97F9;"></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<p>总数</p>
<p style="color: #4F97F9;">265</p>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div>
<div class="dot">
<div class="dot-c" style="background: #12CDA2;"></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<p>已完成</p>
<p style="color: #12CDA2;">265</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FF7474;"></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<p>已完成</p>
<p style="color: #FF7474;">12</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FFD130;"></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<p>整改率</p>
<p style="color: #FFD130;">100%</p>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="aerial-view">
2023-09-12 15:20:29 +08:00
2024-06-14 16:52:37 +08:00
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img src="../res/images/16.png">
<%--<div class="detail-box">
<div class="title">应城宏宜年产40万吨合成氨项目</div>
<div class="det-row">
<div class="col">
<span>建设单位:</span>
<span>应城宏宜年产40万端应城宏宜年产40万端应城宏宜年产40万端</span>
</div>
<div class="col">
<span >施工单位:</span>
<span >十一化建</span>
</div>
<div class="col">
<span >监理单位:</span>
<span >xxxx</span>
</div>
2023-10-12 19:33:22 +08:00
</div>
2024-06-14 16:52:37 +08:00
<p><span>工程概况:</span><span>应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目...</span></p>
</div>--%>
2023-10-12 19:33:22 +08:00
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="ht-boxs">
<div class="ht-box">
<div class="label">合同工期</div>
<div class="value">700<span>天</span></div>
</div>
<div class="ht-box">
<div class="label">合同到期时间</div>
<div class="value">2024-07-14</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="ht-box">
<div class="label">合同剩余</div>
<div class="value">100<span>天</span></div>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="site aqtj">
<div class="gjl">关键事项准点率 <span>90%</span></div>
<div class="label">
安全统计
</div>
<div class="main">
<div id="aq-map"></div>
</div>
</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="side">
<div class="site gz">
<div class="label">
工作台面
</div>
<div class="main">
<div class="total">
<div class="zg">
<div class="lab">关键事项</div>
<div class="num">719</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="zg">
<div class="lab">待办事项</div>
<div class="num">681</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="zg">
<div class="lab">个人流程</div>
<div class="num">120</div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="zg">
<div class="lab">已办任务</div>
<div class="num">120</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<ul>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装003-十一化建-合成氨区域-非高风险-T0001设备吊装003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
<li>003-十一化建-合成氨区域-非高风险-T0001设备吊装</li>
</ul>
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<div class="site p-ry" style="height: 3.75rem;">
<div class="label">
人员信息
</div>
<div class="total">
<div class="rs">
<div class="lab">当前现场人数</div>
<div class="num">1307</div>
</div>
<div class="rs">
<div class="lab">作业人员总数</div>
<div class="num">5217</div>
</div>
<div class="rs">
<div class="lab">管理人员总数</div>
<div class="num">5217</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
2024-06-14 16:52:37 +08:00
<div id="ry-map" style="height: 2.3125rem;"></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="site cltj">
<div class="label">
材料统计
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="main" style="padding: .1875rem .25rem;">
<div class="cl-tab">
<div class="cl-btn cl-btn-act">管道材料</div>
<div class="cl-btn">设备材料</div>
</div>
2023-09-12 15:20:29 +08:00
<div class="table">
2024-06-14 16:52:37 +08:00
<div class="row">
<div class="th-p">材料类别</div>
<div class="th-p">设计量</div>
<div class="th-p"><p>采购量</p><p><span>采购量</span><span>百分比</span></p></div>
<div class="th-p"><p>到货量</p><p><span>已到货</span><span>百分比</span></p></div>
<div class="th-p"><p>出库量</p><p><span>已出库</span><span>百分比</span></p></div>
2023-09-12 15:20:29 +08:00
</div>
2024-06-14 16:52:37 +08:00
<div class="t-body">
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span title="154154.1">154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
<div class="row">
<div class="tr">材料类别</div>
<div class="tr">154154.1</div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
<div class="tr"><p><span>154154.1</span><span>105.2%</span></p></div>
</div>
2023-09-12 15:20:29 +08:00
</div>
</div>
</div>
</div>
</div>
</div>
2024-06-14 16:52:37 +08:00
<input type="hidden" id="hiddenUrl" value="" runat="server" />
<f:Button runat="server" CssClass="bgbtntop" IconFont="Gear" OnClick="btnshowWindows" ToolTip="打开代办" Hidden="true"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnShowWindows">
</f:Button>
<f:Window ID="Window1" Title="代办" Hidden="true" EnableIFrame="true" EnableMaximize="true"
2023-09-12 15:20:29 +08:00
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1300px" Height="660px">
</f:Window>
</form>
</body>
</html>
<script src="lib/swiper-bundle.min.js"></script>
<script src="lib/echarts.min.js"></script>
<script>
function clOnclick(objval) {
if (objval == 0) {
$("#span_gdcl").addClass("y_tab-action")
$("#span_sbcl").removeClass("y_tab-action")
$("#div_cldhHead").html('<%=gdclHead%>')
$("#div_cldhList").html('<%=gdclHtml%>')
} else {
$("#span_sbcl").addClass("y_tab-action")
$("#span_gdcl").removeClass("y_tab-action")
$("#div_cldhHead").html('<%=sbclHead%>')
$("#div_cldhList").html('<%=sbclHtml%>')
2023-09-04 16:20:02 +08:00
}
2023-09-12 15:20:29 +08:00
}
2023-09-04 16:20:02 +08:00
2023-09-12 15:20:29 +08:00
</script>
<script>
//点击切换台面
function showGztm(objval) {
//关键事项
if (objval == 0) {
$("#div_gjsxlist").show();
$("#div_dbsxlist").hide();
document.getElementById("div_Gzgjsx").className += " div_border";
$("#div_Gzdbsx").removeClass("div_border");
$("#div_Gzgrlc").removeClass("div_border");
} else if (objval == 1) {
//待办事项
$("#div_dbsxlist").show();
$("#div_gjsxlist").hide();
document.getElementById("div_Gzdbsx").className += " div_border";
$("#div_Gzgjsx").removeClass("div_border");
$("#div_Gzgrlc").removeClass("div_border");
} else if (objval == 2) {
//个人流程
$("#div_dbsxlist").show();
$("#div_gjsxlist").hide();
document.getElementById("div_Gzgrlc").className += " div_border";
$("#div_Gzgjsx").removeClass("div_border");
$("#div_Gzdbsx").removeClass("div_border");
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
}
function reloadGrid(param) {
__doPostBack(null, 'ReloadGrid$' + param);
}
//弹框代办
function returnWindows(objUrl) {
document.getElementById("hiddenUrl").value = objUrl;
$('#btnShowWindows').click();
}
</script>
<script>
2023-10-12 19:33:22 +08:00
$('.gj1>span').click(function () {
console.log($(this).data('type'))
let type = $(this).data('type')
$('.gj1>span').removeClass('y_image_default y_tab-action')
$(this).addClass('y_image_default y_tab-action')
if (type == 1) {
// 赢得值曲线
$("#jdmap1").hide()
$("#jdmap").show()
} else if (type == 2) {
// 实物工程量
$("#jdmap").hide()
$("#jdmap1").show()
}
})
2024-06-14 16:52:37 +08:00
// 焊接一次合格率
hjmap()
2023-09-12 15:20:29 +08:00
function hjmap() {
let allNumber = 70 // 总计
let finishNumber = 360 // 完成的数量
let zg = 72
let AOption1 = {
title: [
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
text: '焊接一次合格率',
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14)
}
},
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
text: '总计 ' + '{a|' + <%=hjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
text: '合格 ' + '{a|' + <%=hjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
text: <%=hjzgl%> + '{a|%}',
top: fontSize(70),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
}
}
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
],
series: [
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
center: ['50%', fontSize(80)],
name: '',
type: 'pie',
radius: ['30%', '50%'],
avoidLabelOverlap: false,
labelLine: {
show: false
},
data: [
{ value: <%=hjzgl%>, itemStyle: { color: '#FFA602' } },
{ value: <%=hjDataValue%>, itemStyle: { color: '#2A396A' } },
],
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
]
};
var aPassChart = echarts.init(document.getElementById('hjmap'));
aPassChart.setOption(AOption1);
}
2024-06-14 16:52:37 +08:00
// 施工质量一次共检合格率
ycmap()
2023-09-12 15:20:29 +08:00
function ycmap() {
let allNumber = 70 // 总计
let finishNumber = 360 // 完成的数量
let zg = 72
let AOption1 = {
title: [
2023-08-25 09:52:24 +08:00
{
2024-05-14 09:03:31 +08:00
text: '施工质量一次共检合格率',
2023-09-12 15:20:29 +08:00
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14)
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
},
{
text: '总计 ' + '{a|' + <%=zlgjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
2023-08-25 09:52:24 +08:00
}
}
2023-09-12 15:20:29 +08:00
},
{
text: '合格 ' + '{a|' + <%=zlgjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
text: <%=zlgjzgl%> + '{a|%}',
top: fontSize(70),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
2023-08-25 09:52:24 +08:00
}
}
}
2023-09-12 15:20:29 +08:00
],
series: [
2023-09-08 17:09:44 +08:00
{
2023-09-12 15:20:29 +08:00
center: ['50%', fontSize(80)],
name: '',
type: 'pie',
radius: ['30%', '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);
}
2024-06-14 16:52:37 +08:00
// 质量巡检问题整改率
zlmap()
2023-09-12 15:20:29 +08:00
function zlmap() {
let allNumber = 70 // 总计
let finishNumber = 36 // 完成的数量
let zg = 72
let AOption1 = {
title: [
{
2024-05-14 09:03:31 +08:00
text: '质量巡检问题整改率',
2023-09-12 15:20:29 +08:00
bottom: fontSize(30),
left: 'center',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14)
}
},
{
text: '总计 ' + '{a|' + <%=zlallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
}
}
},
{
text: '合格 ' + '{a|' + <%=zlfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
2023-09-08 17:09:44 +08:00
}
}
2023-09-12 15:20:29 +08:00
}
},
{
text: <%=zlzgl%> + '{a|%}',
top: fontSize(70),
left: 'center',
textStyle: {
color: '#FFA602',
fontSize: fontSize(16),
rich: {
a: {
color: '#FFFFFF',
fontWight: 1,
fontSize: fontSize(10),
lineHeight: fontSize(20)
}
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
}
}
],
series: [
{
center: ['50%', fontSize(80)],
name: '',
type: 'pie',
radius: ['30%', '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);
}
//jdmap()
2024-06-14 16:52:37 +08:00
function jdmap() {
2023-09-12 15:20:29 +08:00
let value = [120, 200, 150, 80]
let value1 = [199, 100, 100, 96]
let value2 = [146, 187, 111, 108]
let label = ['分类1', '分类2', '分类3', '分类4']
let opt = {
grid: {
top: fontSize(60),
bottom: fontSize(30)
},
legend: {
top: fontSize(10),
left: fontSize(20),
data: [{ name: '实物工程量', textStyle: { color: '#63CAFF' } }, { name: '进度曲线', textStyle: { color: '#12CDA2' } }, { name: '主进度线', textStyle: { color: '#C293FF' } }]
},
xAxis: {
type: 'category',
data: label,
axisLabel: {
color: '#3FB0FF'
},
axisLine: {
show: true,
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: '#20AFFF'
},
label: {
// 柱图头部显示值
show: true,
position: "top",
color: "#ffffff",
fontSize: fontSize(10),
formatter: (params) => {
let str = params.value;
console.log(params.name)
if (params.name == '整改率') {
str = str + '%'
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
return str
},
},
},
{
name: '进度曲线',
data: value1,
type: 'line',
barWidth: fontSize(20),
itemStyle: {
color: '#12D896'
},
showSymbol: false,
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
2023-09-08 17:09:44 +08:00
{
2023-09-12 15:20:29 +08:00
offset: 0,
color: 'RGBA(9, 104, 98, 1)'
}, // %0的颜色值
2023-09-08 17:09:44 +08:00
{
2023-09-12 15:20:29 +08:00
offset: 1,
color: 'RGBA(9, 104, 98, 0)'
} // 100%的颜色值
])
},
},
{
name: '主进度线',
data: value2,
type: 'line',
itemStyle: {
color: '#BE94FE'
},
showSymbol: false,
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
2023-09-08 17:09:44 +08:00
{
2023-09-12 15:20:29 +08:00
offset: 0,
color: '#C293FF'
}, // %0的颜色值
{
offset: 1,
color: 'rgba(194, 147, 255, 0)'
} // 100%的颜色值
])
},
}
]
};
var aPassChart = echarts.init(document.getElementById('jdmap'));
aPassChart.setOption(opt);
}
fxmap()
function fxmap() {
let data = [
{ value: <%=riskData4%>, name: '重大风险', label: { color: '#FF7473' }, itemStyle: { color: '#FF7473' }, labelLine: { lineStyle: { color: '#FF7473' } } },
{ value: <%=riskData1%>, name: '低风险', label: { color: '#5C5AFF' }, itemStyle: { color: '#5C5AFF' }, labelLine: { lineStyle: { color: '#5C5AFF' } } },
{ value: <%=riskData3%>, name: '较大风险', label: { color: '#FFA502' }, itemStyle: { color: '#FFA502' }, labelLine: { lineStyle: { color: '#FFA502' } } },
{ value: <%=riskData2%>, name: '一般风险', label: { color: '#E7EA2E' }, itemStyle: { color: '#E7EA2E' }, labelLine: { lineStyle: { color: '#E7EA2E' } } },
]
let opt = {
tooltip: {
trigger: 'item'
},
legend: {
bottom: fontSize(14),
left: 'center',
icon: 'circle',
textStyle: {
color: '#ffffff'
},
data: [
{ name: '重大风险', textStyle: { color: '#FF7473' }, },
{ name: '低风险', textStyle: { color: '#5C5AFF' }, },
{ name: '较大风险', textStyle: { color: '#FFA502' } },
{ name: '一般风险', textStyle: { color: '#E7EA2E' }, },
]
},
series: [
{
type: 'pie',
radius: ['10%', '40%'],
center: ['50%', '40%'],
label: {
fontSize: fontSize(8),
show: true,
formatter: '{b}\n{c}'
},
data: data.sort(function (a, b) {
return a.value - b.value;
}),
itemStyle: {
normal: {
labelLine: {
length: fontSize(1)
2023-09-08 17:09:44 +08:00
}
}
2023-09-12 15:20:29 +08:00
},
roseType: 'radius',
animationType: 'scale',
animationEasing: 'elasticOut',
animationDelay: function (idx) {
return Math.random() * 200;
2023-08-25 09:52:24 +08:00
}
}
2023-09-12 15:20:29 +08:00
]
};
var aPassChart = echarts.init(document.getElementById('fxmap'));
aPassChart.setOption(opt);
}
// 人员信息
//rymap()
function rymap() {
let value = [<%=ProjectPersonCount%>]
let label = [<%=ProjectPersonMc%>]
let opt = {
grid: {
top: fontSize(30),
bottom: fontSize(40)
},
xAxis: {
type: 'category',
data: label,
axisLabel: {
color: '#3FB0FF'
},
axisLine: {
show: false,
lineStyle: {
color: '#84D7FE'
}
},
axisTick: {
show: false
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
},
yAxis: {
type: 'value',
axisLabel: {
color: '#3FB0FF'
},
splitLine: {
show: true,
lineStyle: {
color: '#1B538B',
type: 'dashed'
}
}
},
series: [
2023-08-25 09:52:24 +08:00
{
2023-09-12 15:20:29 +08:00
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]];
},
},
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
]
};
var aPassChart = echarts.init(document.getElementById('rymap'));
aPassChart.setOption(opt);
}
2024-06-14 16:52:37 +08:00
// 轮播
var mySwiper = new Swiper('.swiper', {
2023-09-12 15:20:29 +08:00
direction: 'horizontal', // 垂直切换选项
loop: true, // 循环模式选项
autoplay: true,
autoplay: {
delay: 8000,
stopOnLastSlide: false,
disableOnInteraction: true,
},
// 如果需要分页器
pagination: {
el: '.swiper-pagination',
},
// 如果需要前进后退按钮
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// 如果需要滚动条
scrollbar: {
el: '.swiper-scrollbar',
},
})
// 全屏
document.querySelector('.full').onclick = function () {
const element = document.documentElement
if (document.fullscreenElement) {
// 退出
// 如果浏览器有这个Function
if (document.exitFullscreen) {
document.exitFullscreen()
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen()
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen()
} else if (document.msExitFullscreen) {
document.msExitFullscreen()
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
} else {
// 全屏
// 如果浏览器有这个Function
if (element.requestFullscreen) {
element.requestFullscreen()
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen()
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen()
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen()
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
}
}
2023-08-25 09:52:24 +08:00
2024-06-14 16:52:37 +08:00
2023-09-12 15:20:29 +08:00
</script>
<script>
function line(id, xArr, data) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById(id))
// 指定图表的配置项和数据
var option = {
title: {
left: 'center',
text: ' ',
textStyle: {
color: '#fff',
fontSize: 12,
fontWeight: '300'
},
show: false
},
tooltip: {
formatter: '{a}<br />{b}: {c}'
},
legend: {
show: true,
textStyle: {
color: '#fff'
},
left: 0
},
xAxis: {
axisTick: {
show: false
},
axisLine: {
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
},
axisLabel: {
show: true,
textStyle: {
color: 'rgba(255, 255, 255, 0.8)'
}
},
type: 'category',
data: xArr
},
yAxis: {
axisTick: {
show: false
},
axisLine: {
show: false,
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
},
axisLabel: {
show: true,
textStyle: {
color: 'rgba(255, 255, 255, 0.8)'
},
//formatter: '{value} %'
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
},
series: data,
grid: {
top: '15%',
left: '10',
right: '10',
bottom: '0%',
containLabel: true,
backgroundColor: 'rgba(0,162,233, 0.01)',
// borderColor: 'rgba(0,162,233, 1)'
},
itemStyle: {
//color: 'rgba(200,201,10, 1)'
},
backgroundColor: 'rgba(0,162,233, 0.01)',
textStyle: {
color: 'rgba(255, 255, 255, 0.3)'
2023-08-25 09:52:24 +08:00
}
}
2023-09-08 17:09:44 +08:00
2023-09-12 15:20:29 +08:00
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
}
2023-09-08 17:09:44 +08:00
2023-09-12 15:20:29 +08:00
var two =<%=Two %>;
var xArr1 = two.categories
var data1 = [{
name: '本月BCWS',
type: 'bar',
//smooth: true,
data: two.series[0].data,
lineStyle: {
color: 'rgba(200,201,10, 1)'
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
}, {
name: '本月BCWP',
type: 'bar',
//smooth: true,
data: two.series[2].data,
}, {
name: '本月ACWP',
type: 'bar',
//smooth: true,
data: two.series[4].data,
}, {
name: '累计BCWS',
type: 'line',
//smooth: true,
data: two.series[1].data,
lineStyle: {
//color: 'rgba(200,201,10, 1)'
}
}, {
name: '累计BCWP',
type: 'line',
//smooth: true,
data: two.series[3].data,
}, {
name: '累计ACWP',
type: 'line',
//smooth: true,
data: two.series[5].data,
lineStyle: {
color: 'rgba(200,201,10, 1)'
},
itemStyle: {
normal: {
color: 'rgba(200,201,10, 1)'
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
}
}]
line('left_one', xArr1, data1)
</script>
<script>
function category(id, xArr, series) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById(id))
// 指定图表的配置项和数据
var option = {
title: {
// left:'center',
text: '',
textStyle: {
color: '#fff',
fontWeight: 'normal',
fontSize: 16
},
show: false
},
tooltip: {},
legend: {
left: '3%',
show: false,
selectedMode: false,
textStyle: {//图例文字的样式
color: '#ffffff'
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
},
xAxis: {
axisTick: {
show: false
},
axisLine: {
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
},
axisLabel: {
show: true,
interval: 0,
rotate: 50,
textStyle: {
fontSize: 8,
color: 'rgba(255, 255, 255, 0.8)'
},
//formatter: function(params) {
// var newParamsName = ''
// var paramsNameNumber = params.length
// var provideNumber = 6
// var rowNumber = Math.ceil(paramsNameNumber / provideNumber)
// for (let row = 0; row < rowNumber; row++) {
// newParamsName +=
// params.substring(
// row * provideNumber,
// (row + 1) * provideNumber
// ) + '\n'
// }
// return newParamsName
// }
},
type: 'category',
data: xArr
},
yAxis: {
axisTick: {
show: false
},
axisLine: {
show: false,
lineStyle: {
color: 'rgba(255, 255, 255, 0.3)'
}
},
axisLabel: {
show: true,
textStyle: {
color: 'rgba(255, 255, 255, 0.8)'
}
},
//设置网格线颜色
splitLine: {
show: true,
lineStyle: {
color: ['#182067'],
width: 1,
type: 'solid'
}
2023-09-08 17:09:44 +08:00
}
2023-09-12 15:20:29 +08:00
},
series: series,
grid: {
top: '12%',
left: '10',
right: '10',
bottom: '10',
containLabel: true,
backgroundColor: 'rgba(0,162,233, 0.01)',
// borderColor: 'rgba(0,162,233, 1)'
},
backgroundColor: 'rgba(0,162,233, 0.01)',
textStyle: {
color: 'rgba(255, 255, 255, 0.3)'
2023-08-25 09:52:24 +08:00
}
}
2023-09-12 15:20:29 +08:00
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
2023-08-25 09:52:24 +08:00
}
2023-09-12 15:20:29 +08:00
var person =<%=Person %>
var two = {
"title": "各工种人力情况", "xFontNum": 0, "legend": null,
"categories": person.categories,
//"categories": ["焊接工", "安全员", "安全协管员", "安装工", "钣金工", "保温工", "材料员", "财务管理", "操作工", "测量工", "车工", "出纳", "厨师", "测绘工程师", "电工", "电气工程师", "吊车司机", "防火工"],
"series": [{
"name": null, "type": null,
"data": person.series[0].data,
//"data": [1.0, 4.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 10.0, 0.0, 20.0, 0.0, 6.0, 0.0, 0.0, 0.0, 8.0, 0.0],
"dataString": null, "dataObject": null
}], "series2": null
};
var xArr2 = two.categories
var data = [12, 5, 28, 43, 22]
var data1 = [21, 9, 12, 15, 8]
var series = [{
name: '各工种人力情况',
type: 'bar',
barWidth: 20,
//barGap:10,
data: two.series[0].data,
label: { //柱体上显示数值
show: true,//开启显示
position: 'top',//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#fff'
},
formatter: '{c}',
},
itemStyle: { normal: { color: '#0c81fe' } }
}];
category('left_two', xArr2, series)
</script>
2024-06-14 16:52:37 +08:00
<script>
// 图片滚动
var mySwiper = new Swiper('.swiper', {
autoplay: true,//可选选项,自动滑动
})
$(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>
// 人员信息
createRYXX()
function createRYXX() {
let type = ['类别11111111', '类别211111111', '类别3', '类别4', '类别5', '类别6', '类别7', '类别8', '类别9', '类别10']
// 计划月进度
let value = [120, 80, 150, 80, 70, 110, 130, 70, 110, 130]
let opt = {
grid: {
top: 10,
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);
}
// 安全统计
createAQTJ()
function createAQTJ() {
let type = ['类别11111111', '类别211111111', '类别3', '类别4', '类别5', '类别6', '类别7', '类别8', '类别9', '类别10']
// 实物工程量
let value = [120, 80, 150, 80, 70, 110, 130, 70, 110, 130]
// 进度曲线
let value1 = [120, 80, 150, 80, 70, 110, 130, 70, 110, 130]
// 主进度线
let value2 = [132, 99, 121, 35, 86, 154, 18, 76, 123, 232]
let opt = {
grid: {
top: 60,
bottom: 40,
},
legend: {
top: 10,
data: [
{
name: "实物工程量",
textStyle: {
color: '#63CAFF'
}
},
{
name: "进度曲线",
textStyle: {
color: '#12CDA2'
}
},
{
name: "主进度线",
textStyle: {
color: '#C293FF'
}
},
]
},
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: 20,
itemStyle: {
color: '#63CAFF'
},
label: {
show: true,
rotate: 90,
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
)
}
}
},
{
name: '进度曲线',
data: value1,
type: 'line',
symbol: 'none',
itemStyle: {
color: '#12CDA2'
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(18, 205, 162, 1)' // 折线底下区域渐变色
},
{
offset: 0.8,
color: 'rgba(18, 205, 162, 0)' // 折线底下区域渐变色
}
],
false
)
}
}
},
{
name: '主进度线',
data: value2,
type: 'line',
symbol: 'none',
itemStyle: {
color: '#C293FF'
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(194, 147, 255, 1)' // 折线底下区域渐变色
},
{
offset: 0.8,
color: 'rgba(194, 147, 255, 0)' // 折线底下区域渐变色
}
],
false
)
}
}
},
]
};
var myEchart = echarts.init(document.getElementById('aq-map'));
myEchart.setOption(opt);
}
// 质量概况
let weekData = [
{ name: '质量问题整改率', value1: 90, value2: 10, el: 'zl-map1' },
{ name: '一次共检合格率', value1: 88, value2: 12, el: 'zl-map2' },
{ name: '焊接一次合格率', value1: 91, value2: 9, el: 'zl-map3' },
]
weekData.forEach(e => {
createZL(e)
})
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: 14,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 14,
},
c: {
padding: [0, 6],
fontSize: 14,
color: '#FFFFFF',
},
d: {
fontSize: 14,
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|%}`
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);
}
// 风险巡检图标
createFXMap()
function createFXMap() {
const list = [
{ TypeName: "重大风险", ValueAmount: 1 },
{ TypeName: "低风险", ValueAmount: 3 },
{ TypeName: "一般风险", ValueAmount: 2 },
{ TypeName: "较大风险", ValueAmount: 6 },
]
// 数据类型
let value = 26.5
const color = ['#673646', '#1A3B73', '#5E672F', '#674B1B']
const color1 = ['#FF7474', '#1FC6FF', '#E9E931', '#FFA602']
// 计算插入的数据的值
let gap = (list.reduce((a, b) => a + Number(b.ValueAmount), 0) || 0) / 100;
// 重新组织数据
const newlist = []
const newList1 = []
list.forEach((f, fi) => {
newlist.push({ name: f.TypeName, value: f.ValueAmount, label: { color: color[fi] }, itemStyle: { color: color[fi] } });
newList1.push({ name: f.TypeName, value: f.ValueAmount, label: { color: color1[fi] }, itemStyle: { color: color1[fi] } });
// 插入一条新的颜色透明的数据用来占位
newlist.push({ name: "", value: gap, label: { color: "rgba(0, 0, 0, 0)" }, itemStyle: { color: "rgba(0, 0, 0, 0)" } })
newList1.push({ name: "", value: gap, label: { color: "rgba(0, 0, 0, 0)" }, itemStyle: { color: "rgba(0, 0, 0, 0)" } })
})
var opt = {
title: [{
text: [`{a|${value}}%`],
top: 80,
left: 'center',
textStyle: {
color: '#FFFFFF',
fontSize: 14,
fontWeight: 100,
rich: {
a: {
fontSize: 24
}
}
}
}, {
text: '数据类型',
top: 110,
left: 'center',
textStyle: {
color: '#B4C0CC',
fontSize: 12
}
},
],
graphic: [
{
type: 'rect', // 图形类型,这里是矩形
left: 'center', // 矩形的中心位置的左侧,'center' 表示在容器中心
top: 48, // 矩形的中心位置的顶部,'center' 表示在容器中心
z: 100, // z 层级,用于控制重叠图形的堆叠顺序
shape: {
width: 104, // 矩形的宽度
height: 104 // 矩形的高度,设置为与宽度相同,形成正方形
},
style: {
fill: 'rgba(0,0,0,0)', // 填充色
stroke: '#DADADA', // 边框颜色
lineWidth: .5, // 边框宽度
lineDash: 'dashed'
}
},
{
type: 'rect', // 图形类型,这里是矩形
left: 'center', // 矩形的中心位置的左侧,'center' 表示在容器中心
top: 38, // 矩形的中心位置的顶部,'center' 表示在容器中心
z: 100, // z 层级,用于控制重叠图形的堆叠顺序
shape: {
width: 120, // 矩形的宽度
height: 120 // 矩形的高度,设置为与宽度相同,形成正方形
},
style: {
fill: 'rgba(0,0,0,0)', // 填充色
stroke: '#DADADA', // 边框颜色
lineWidth: .5, // 边框宽度
lineDash: 'dashed'
}
}
],
legend: {
orient: 'horizontal',
top: '65%',
icon: 'circle',
textStyle: {
color: '#DADADA',
rich: {
0: {
color: '#FF7474'
},
1: {
color: '#1FC6FF'
},
2: {
color: '#E9E931'
},
3: {
color: '#FFA602'
}
}
},
formatter: function (h) {
let str = ''
let colorStyle = 'a'
list.forEach((e, i) => {
if (e.TypeName == h) {
if (e.TypeName.length == 4) {
str = `${e.TypeName} {${i}|${e.ValueAmount}}`
} else {
str = `${e.TypeName} {${i}|${e.ValueAmount}}`
}
}
})
return str;
}
},
series: [
{
type: 'pie',
radius: [55, 60],
center: ['50%', 100],
data: newList1,
// silent:'ture',
label: {
show: false
},
labelLine: {
show: false
},
},
{
type: 'pie',
radius: [42, 52],
center: ['50%', 100],
data: newlist,
silent: true,
label: {
show: false
},
labelLine: {
show: false
},
},
{
zlevel: 101,
name: '',
type: 'gauge',
radius: 70,
center: ['50%', 100],
startAngle: 90,
endAngle: -240,
// splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 1,
color: [[1, '#083B5E']]
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
anchor: {
show: false
},
},
{
name: '',
type: 'gauge',
radius: 80,
center: ['50%', 100],
startAngle: 0,
endAngle: -360,
// splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 1,
color: [[1, '#083B5E']]
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
anchor: {
show: false
},
}
]
};
var myEchart = echarts.init(document.getElementById('fx-map'));
myEchart.setOption(opt);
}
</script>