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

2174 lines
81 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="mainProject2.aspx.cs" Inherits="FineUIPro.Web.common.mainProject2" %>
<!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/project.css" />
<link rel="stylesheet" href="css/swiper-bundle.min.css" />
<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">
</head>
<style>
html,body{
height:100%;
}
.BMap_mask {
background-color: red;
}
.table{
margin-top: 0;
}
.zyp{
margin-top: 0;
}
body.f-body {
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;
}
.div_border {
border: 1px solid #00FFFF;
}
</style>
<body>
<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">
风险预警
</div>
<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>
</div>
<div class="yj-bar">
<div class="lab">机械预警</div>
<div class="num">6</div>
</div>
</div>
<div class="wd-box">
<div class="tit">危大工程</div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab" style=" width: 1rem">培训人次数</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="num">2</div>
</div>
</div>
</div>
<div class="wd-box">
<div class="tit">超危大工程</div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab" style=" width: 1rem;">培训人次数</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="num">2</div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="num">2</div>
</div>
</div>
</div>
</div>
</div>
</div>
<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>
</div>
<div class="glry">
<div class="lab">质量培训累计人员</div>
<div class="num">5217</div>
</div>
</div>
<div class="zl-maps">
<div id="zl-map1"></div>
<div id="zl-map2"></div>
<div id="zl-map3"></div>
</div>
</div>
</div>
<div class="site zy">
<div class="label">
作业许可
</div>
<div class="total">
<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 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>
</div>
<p>总数</p>
<p style="color: #4F97F9;">265</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #12CDA2;"></div>
</div>
<p>已完成</p>
<p style="color: #12CDA2;">265</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FF7474;"></div>
</div>
<p>已完成</p>
<p style="color: #FF7474;">12</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FFD130;"></div>
</div>
<p>整改率</p>
<p style="color: #FFD130;">100%</p>
</div>
</div>
</div>
<div class="aerial-view">
<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>
</div>
<p><span>工程概况:</span><span>应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目应城宏宜年产40万吨合成氨项目...</span></p>
</div>--%>
</div>
</div>
</div>
<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>
</div>
<div class="ht-box">
<div class="label">合同剩余</div>
<div class="value">100<span>天</span></div>
</div>
</div>
</div>
<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>
</div>
<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>
</div>
<div class="zg">
<div class="lab">待办事项</div>
<div class="num">681</div>
</div>
<div class="zg">
<div class="lab">个人流程</div>
<div class="num">120</div>
</div>
<div class="zg">
<div class="lab">已办任务</div>
<div class="num">120</div>
</div>
</div>
<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>
</div>
</div>
<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>
</div>
</div>
<div id="ry-map" style="height: 2.3125rem;"></div>
</div>
<div class="site cltj">
<div class="label">
材料统计
</div>
<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>
<div class="table">
<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>
</div>
<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>
</div>
</div>
</div>
</div>
</div>
</div>
<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"
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%>')
}
}
</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");
}
}
function reloadGrid(param) {
__doPostBack(null, 'ReloadGrid$' + param);
}
//弹框代办
function returnWindows(objUrl) {
document.getElementById("hiddenUrl").value = objUrl;
$('#btnShowWindows').click();
}
</script>
<script>
$('.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()
}
})
// 焊接一次合格率
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(14)
}
},
{
text: '总计 ' + '{a|' + <%=hjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=hjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
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)
}
}
}
}
],
series: [
{
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' } },
],
}
]
};
var aPassChart = echarts.init(document.getElementById('hjmap'));
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(14)
}
},
{
text: '总计 ' + '{a|' + <%=zlgjallNumber%> + '}',
bottom: fontSize(4),
left: 'left',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#00FFFF',
fontSize: fontSize(16)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=zlgjfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
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)
}
}
}
}
],
series: [
{
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);
}
// 质量巡检问题整改率
zlmap()
function zlmap() {
let allNumber = 70 // 总计
let finishNumber = 36 // 完成的数量
let zg = 72
let AOption1 = {
title: [
{
text: '质量巡检问题整改率',
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)
}
}
}
},
{
text: '合格 ' + '{a|' + <%=zlfinishNumber%> + '}',
bottom: fontSize(4),
left: '50%',
textStyle: {
color: '#63CAFF',
fontSize: fontSize(14),
rich: {
a: {
color: '#12CDA2',
fontSize: fontSize(16)
}
}
}
},
{
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)
}
}
}
}
],
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()
function jdmap() {
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 + '%'
}
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, [
{
offset: 0,
color: 'RGBA(9, 104, 98, 1)'
}, // %0的颜色值
{
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, [
{
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)
}
}
},
roseType: 'radius',
animationType: 'scale',
animationEasing: 'elasticOut',
animationDelay: function (idx) {
return Math.random() * 200;
}
}
]
};
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
}
},
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]];
},
},
}
]
};
var aPassChart = echarts.init(document.getElementById('rymap'));
aPassChart.setOption(opt);
}
// 轮播
var mySwiper = new Swiper('.swiper', {
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()
}
} 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()
}
}
}
</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} %'
}
},
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)'
}
}
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
}
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)'
}
}, {
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)'
}
}
}]
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'
}
},
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'
}
}
},
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)'
}
}
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
}
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>
<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>