| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840 | <!DOCTYPE html><html lang="zh-CN">	<head>		<meta charset="utf-8" />	    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />	    <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />		<title>建筑智慧工地管控</title>		<link rel="stylesheet" href="css/app.css" />		 <script type="text/javascript" src="js/echarts.min.js"></script>		    <script type="text/javascript" src="js/jdjh.js"></script><script type="text/javascript">		  function getCurDate() {		var d = new Date();		var week;		switch (d.getDay()) {		case 1:			week = "星期一";			break;		case 2:			week = "星期二";			break;		case 3:			week = "星期三";			break;		case 4:			week = "星期四";			break;		case 5:			week = "星期五";			break;		case 6:			week = "星期六";			break;		default:			week = "星期天";		}		var years = d.getFullYear();		var month = add_zero(d.getMonth() + 1);		var days = add_zero(d.getDate());		var hours = add_zero(d.getHours());		var minutes = add_zero(d.getMinutes());		var seconds = add_zero(d.getSeconds());		var ndate = years + "年" + month + "月" + days + "日 " + hours + ":"				+ minutes + ":" + seconds + " " + week;		var divT = document.getElementById("logInfo");		divT.innerHTML = ndate;	}	function add_zero(temp) {		if (temp < 10)			return "0" + temp;		else			return temp;	}	setInterval("getCurDate()", 100);	</script>	</head>		<body class="bg01">		<div class="header">			<h1 class="header-title">建筑智慧工地管控</h1>			<div id="logInfo" style="text-align: left;color: #fff;position: relative;left: 10px;"><script type="text/JavaScript" language="JavaScript">			getCurDate();		</script></div>		</div>		<div class="wrapper">			<div class="content">				<div class="col col-l">					<div class="xpanel-wrapper xpanel-wrapper-55">						<div class="xpanel xpanel-l-t">							<div class="title">项目概况</div>							<div class="bcontent">								  <ul>										<li class="leftrt">工程名称:</li>										<li class="rightrt">新建工程</li>										<li class="leftrt">工程类型:</li>										<li class="rightrt">水电</li>										<li class="leftrt">工程状态:</li>										<li class="rightrt">正在施工</li>										<li class="leftrt">业主单位:</li>										<li class="rightrt">项目管理中心</li>										<li class="leftrt">施工单位:</li>										<li class="rightrt">输变电分公司</li>										<li class="leftrt">建管单位:</li>										<li class="rightrt">建设部</li>										<li class="leftrt">监理单位:</li>										<li class="rightrt">**监理有限公司</li>										<li class="leftrt">计划开始时间:</li>										<li class="rightrt">2019-10-21</li>										<li class="leftrt">计划完成时间:</li>										<li class="rightrt">2019-10-21</li>										<li class="leftrt">实际开始时间:</li>										<li class="rightrt">2019-10-21</li>										<li class="leftrt">实际完成时间:</li>										<li class="rightrt">2019-10-21</li>									</ul>							</div>						</div>					</div>					<div class="xpanel-wrapper xpanel-wrapper-45">						<div class="xpanel xpanel-l-b">							<div class="title">项目人员出勤率</div>							<div id ="ryCharts" class="bcontent">							 							</div>						</div>					</div>				</div>				<div class="col col-c">					<div class="xpanel-wrapper xpanel-wrapper-55">						<div  class="xpanel xpanel-c-b">							<div class="title title-long" style="padding-left:25px">项目进度甘特图</div>							 <div id="gCharts" class="bcontent" style="height:92%;">							  							</div>						</div>					</div>					<div class="xpanel-wrapper xpanel-wrapper-45">						<div  class="xpanel xpanel-c-b">							<div class="title title-long" style="padding-left:25px">双代号时标网络图</div>							 <div id="container" class="bcontent" style="height:85%;">							  							</div>						</div>									</div>				</div>				<div class="col col-r">					<div class="xpanel-wrapper xpanel-wrapper-25" >						<div class="xpanel xpanel-r-t">							<div class="title">机具管控出勤率</div>						    <div id="jqCharts" class="bcontent">							  							</div>						</div>					</div>					<div class="xpanel-wrapper xpanel-wrapper-25" >						<div class="xpanel xpanel-r-m">							<div class="title">违章情况分析率</div>							  <div id="wzCharts" class="bcontent">							   							</div>						</div>					</div>					<div class="xpanel-wrapper xpanel-wrapper-45" >						<div class="xpanel xpanel-r-b">							<div class="title">物料验收</div>							  <div id="wlCharts" class="bcontent">							  							</div>						</div>					</div>				</div>			</div>		</div>	</body>	 <script type="text/javascript">var dom = document.getElementById("container");var myChart = echarts.init(dom);var app = {};option = null;option = {    title: {        text: '双代号时标网络图',		 show: false    },    tooltip: {},    animationDurationUpdate: 1500,    animationEasingUpdate: 'quinticInOut',    color:['#ca8622', '#bda29a','#8B0000'],    series : [        {            type: 'graph',            layout: 'none',            symbolSize: 45,            roam: false, //放大缩小            label: {                normal: {                    show: true,					textStyle: {                            color: "#fff",                            fontSize: 12,                        }                }            },            edgeSymbol: ['circle', 'arrow'],            edgeSymbolSize: [4, 10],            edgeLabel: {                                normal: {                    show: true,                    textStyle: {                        fontSize: 12                    },                    formatter: "{c}"                }            },            data: [{                name: '节点1',                x: 50,                y: 300            }, {                name: '节点2',                x: 100,                y: 400            }, {                name: '节点3',                x: 100,                y: 200            }, {                name: '节点4',                x: 200,                y: 300            }, {                name: '节点5',                x: 300,                y: 400            }, {                name: '节点6',                x: 300,                y: 300            }, {                name: '节点7',                x: 300,                y: 200            }, {                name: '节点8',                x: 400,                y: 400            }, {                name: '节点9',                x: 450,                y: 200            }, {                name: '节点10',                x: 450,                y: 300            }, {                name: '节点11',                x: 550,                y: 400            }, {                name: '节点12',                x: 550,                y: 300            }, {                name: '节点13',                x: 650,                y: 200            },{                name: '节点14',                x: 650,                y: 300            }],            // links: [],            links: [{                source: 0,                target: 1,                value: 'C',				 label: {                    normal: {                        show: true                    }                }            }, {                source: 0,                target: 2,                value: 'A'            }, {                source: 0,                target: 3,                value: 'B',                lineStyle: {                    normal: {                        width: 4,                        curveness: 0,						color: "#ff4747"                    }                }            }, {                source: 1,                target: 4,                value: 'M'                           },{                source: 2,                target: 6,                value: 'E'            },{                source: 3,                target: 5,                value: 'D',				  lineStyle: {                    normal: {                        width: 4,                        curveness: 0,						color: "#ff4747"                    }                }            },{                source: 3,                target: 4,                value: '',				  lineStyle: {                    normal: {						type:'dotted',                        width: 2,                        curveness: 0.2,						color: "#ff4747"                    }                }            },{                source: 5,                target: 6,                value: '',				  lineStyle: {                    normal: {                        width: 2,                        curveness: 0,						color: "#ff4747",						type:"dotted"                    }                }            },{                source: 4,                target: 7,                value: 'N'            },{                source: 5,                target: 9,                value: 'I'            },{                source: 6,                target: 8,                value: 'F',				lineStyle: {                    normal: {                        width: 4,                        curveness: 0,						color: "#ff4747"                    }                }            },{                source: 7,                target: 10,                value: 'P'            },{                source: 8,                target: 12,                value: 'G',				lineStyle: {                    normal: {                        width: 4,                        curveness: 0,						color: "#ff4747"                    }                }            },{                source: 8,                target: 9,                value: '',				lineStyle: {                    normal: {                        width: 2,                        curveness: 0,						type:"dotted"                    }                }            },{                source: 9,                target: 11,                value: 'J'            },{                source: 10,                target: 11,                value: '',				lineStyle: {                    normal: {                        width: 2,                        curveness: 0,						type:"dotted"                    }                }            },{                source: 11,                target: 13,                value: 'K'            },{                source: 12,                target: 13,                value: 'H',				lineStyle: {                    normal: {                        width: 4,                        curveness: 0,						color: "#ff4747"                    }                }            }],            lineStyle: {                normal: {                    opacity: 0.9,                    width: 2,                    curveness: 0,					color:"#5dc2fe"                }            }        }    ]};if (option && typeof option === "object") {    myChart.setOption(option, true);}//甘特图var gdom = document.getElementById("gCharts");var gCharts = echarts.init(gdom);if (ptoption && typeof ptoption === "object") {    gCharts.setOption(ptoption, true);}//人员出勤率var rydom = document.getElementById("ryCharts");var ryCharts = echarts.init(rydom);ryoption = {    title: {            text: '项目出勤率',            subtext: '模拟数据',            // x 设置水平安放位置,默认左对齐,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'center',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            // itemGap设置主副标题纵向间隔,单位px,默认为10,            itemGap: 30,            backgroundColor: '#EEE',            // 主标题文本样式设置            textStyle: {              fontSize: 26,              fontWeight: 'bolder',              color: '#000080'            },            // 副标题文本样式设置            subtextStyle: {              fontSize: 18,              color: '#8B2323'            }			,show:false          },    tooltip : {        trigger: 'item',        formatter: "{a} <br/>{b} : {c} ({d}%)",    },    legend: {       // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)            orient: 'vertical',            // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'left',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            itemWidth: 24,   // 设置图例图形的宽            itemHeight: 18,  // 设置图例图形的高            textStyle: {              color: '#666'  // 图例文字颜色            },            // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔            itemGap: 15,            data:['实到','未到','迟到']    },    calculable : true,	color:['#3CB371', '#bda29a','#8B0000'],    series : [        {            name:'每日出勤率',            type:'pie',            radius: ['30%', '60%'],  // 设置环形饼状图, 第一个百分数设置内圈大小,第二个百分数设置外圈大小            center: ['60%', '35%'],  // 设置饼状图位置,第一个百分数调水平位置,第二个百分数调垂直位置            data:[                {value:150, name:'实到'},                {value:50, name:'未到'},                {value:5, name:'迟到'}            ],			// itemStyle 设置饼状图扇形区域样式              itemStyle: {                // emphasis:英文意思是 强调;着重;(轮廓、图形等的)鲜明;突出,重读                // emphasis:设置鼠标放到哪一块扇形上面的时候,扇形样式、阴影                emphasis: {                  shadowBlur: 10,                  shadowOffsetX: 0,                  shadowColor: 'rgba(30, 144, 255,0.5)'                }			},		 // 设置值域的那指向线              labelLine: {                normal: {                  show: false   // show设置线是否显示,默认为true,可选值:true ¦ false                }              },			   // 设置值域的标签              label: {                normal: {                  position: 'inner',  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'                  // formatter: '{a} {b} : {c}个 ({d}%)'   设置标签显示内容 ,默认显示{b}                  // {a}指series.name  {b}指series.data的name                  // {c}指series.data的value  {d}%指这一部分占总数的百分比                  formatter: '{c}'                }              }		 }    ]};if (ryoption && typeof ryoption === "object") {    ryCharts.setOption(ryoption, true);}//人员出勤率var rydom = document.getElementById("ryCharts");var ryCharts = echarts.init(rydom);ryoption = {    title: {            text: '项目出勤率',            subtext: '模拟数据',            // x 设置水平安放位置,默认左对齐,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'center',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            // itemGap设置主副标题纵向间隔,单位px,默认为10,            itemGap: 30,            backgroundColor: '#EEE',            // 主标题文本样式设置            textStyle: {              fontSize: 26,              fontWeight: 'bolder',              color: '#000080'            },            // 副标题文本样式设置            subtextStyle: {              fontSize: 18,              color: '#8B2323'            }			,show:false          },    tooltip : {        trigger: 'item',        formatter: "{a} <br/>{b} : {c} ({d}%)",    },    legend: {       // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)            orient: 'vertical',            // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'left',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            itemWidth: 24,   // 设置图例图形的宽            itemHeight: 18,  // 设置图例图形的高            textStyle: {              color: '#5dc2fe'  // 图例文字颜色            },            // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔            itemGap: 15,            data:['实到','未到','迟到']    },    calculable : true,	color:['#3CB371', '#bda29a','#8B0000'],    series : [        {            name:'每日出勤率',            type:'pie',            radius: ['30%', '60%'],  // 设置环形饼状图, 第一个百分数设置内圈大小,第二个百分数设置外圈大小            center: ['60%', '35%'],  // 设置饼状图位置,第一个百分数调水平位置,第二个百分数调垂直位置            data:[                {value:150, name:'实到'},                {value:50, name:'未到'},                {value:5, name:'迟到'}            ],			// itemStyle 设置饼状图扇形区域样式              itemStyle: {                // emphasis:英文意思是 强调;着重;(轮廓、图形等的)鲜明;突出,重读                // emphasis:设置鼠标放到哪一块扇形上面的时候,扇形样式、阴影                emphasis: {                  shadowBlur: 10,                  shadowOffsetX: 0,                  shadowColor: 'rgba(30, 144, 255,0.5)'                }			},		 // 设置值域的那指向线              labelLine: {                normal: {                  show: false   // show设置线是否显示,默认为true,可选值:true ¦ false                }              },			   // 设置值域的标签              label: {                normal: {                  position: 'inner',  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'                  // formatter: '{a} {b} : {c}个 ({d}%)'   设置标签显示内容 ,默认显示{b}                  // {a}指series.name  {b}指series.data的name                  // {c}指series.data的value  {d}%指这一部分占总数的百分比                  formatter: '{c}'                }              }		 }    ]};if (ryoption && typeof ryoption === "object") {    ryCharts.setOption(ryoption, true);}//机器出勤率var jqdom = document.getElementById("jqCharts");var jqCharts = echarts.init(jqdom);jqoption = {    title: {            text: '机具状态分析',             show:false          },    tooltip : {        trigger: 'item',        formatter: "{a} <br/>{b} : {c} ({d}%)",    },    legend: {       // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)            orient: 'vertical',            // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'left',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            itemWidth: 24,   // 设置图例图形的宽            itemHeight: 18,  // 设置图例图形的高            textStyle: {              color: '#5dc2fe'  // 图例文字颜色            },            // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔            itemGap: 15,            data:['正常运行','日常检修','故障停止']    },    calculable : true,	color:['#3CB371', '#FF9F7F', '#8B0000'],    series : [        {            name:'机具状态分析',            type:'pie',            radius: ['30%', '60%'],  // 设置环形饼状图, 第一个百分数设置内圈大小,第二个百分数设置外圈大小            center: ['60%', '35%'],  // 设置饼状图位置,第一个百分数调水平位置,第二个百分数调垂直位置            data:[                {value:10, name:'正常运行'},                {value:5, name:'日常检修'},                {value:2, name:'故障停止'}            ],			// itemStyle 设置饼状图扇形区域样式              itemStyle: {                // emphasis:英文意思是 强调;着重;(轮廓、图形等的)鲜明;突出,重读                // emphasis:设置鼠标放到哪一块扇形上面的时候,扇形样式、阴影                emphasis: {                  shadowBlur: 10,                  shadowOffsetX: 0,                  shadowColor: 'rgba(30, 144, 255,0.5)'                }			},		 // 设置值域的那指向线              labelLine: {                normal: {                  show: false   // show设置线是否显示,默认为true,可选值:true ¦ false                }              },			   // 设置值域的标签              label: {                normal: {                  position: 'inner',  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'                  // formatter: '{a} {b} : {c}个 ({d}%)'   设置标签显示内容 ,默认显示{b}                  // {a}指series.name  {b}指series.data的name                  // {c}指series.data的value  {d}%指这一部分占总数的百分比                  formatter: '{c}'                }              }		 }    ]};if (jqoption && typeof jqoption === "object") {    jqCharts.setOption(jqoption, true);}//违章错误率var wzdom = document.getElementById("wzCharts");var wzCharts = echarts.init(wzdom);wzoption = {    title: {            text: '违章错误率',            show:false          },    tooltip : {        trigger: 'item',        formatter: "{a} <br/>{b} : {c} ({d}%)",    },    legend: {       // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)            orient: 'vertical',            // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px)            x: 'left',            // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px)            y: 'top',            itemWidth: 24,   // 设置图例图形的宽            itemHeight: 18,  // 设置图例图形的高            textStyle: {              color: '#5dc2fe'  // 图例文字颜色            },            // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔            itemGap: 15,            data:['警告','一般违章','重大违章']    },    calculable : true,	color:['#00CCFF', '#CC6600','#8B0000'],    series : [        {            name:'机具状态分析',            type:'pie',            radius: ['30%', '60%'],  // 设置环形饼状图, 第一个百分数设置内圈大小,第二个百分数设置外圈大小            center: ['60%', '35%'],  // 设置饼状图位置,第一个百分数调水平位置,第二个百分数调垂直位置            data:[                {value:20, name:'警告'},                {value:10, name:'一般违章'},                {value:2, name:'重大违章'}            ],			// itemStyle 设置饼状图扇形区域样式              itemStyle: {                // emphasis:英文意思是 强调;着重;(轮廓、图形等的)鲜明;突出,重读                // emphasis:设置鼠标放到哪一块扇形上面的时候,扇形样式、阴影                emphasis: {                  shadowBlur: 10,                  shadowOffsetX: 0,                  shadowColor: 'rgba(30, 144, 255,0.5)'                }			},		 // 设置值域的那指向线              labelLine: {                normal: {                  show: false   // show设置线是否显示,默认为true,可选值:true ¦ false                }              },			   // 设置值域的标签              label: {                normal: {                  position: 'inner',  // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'                  // formatter: '{a} {b} : {c}个 ({d}%)'   设置标签显示内容 ,默认显示{b}                  // {a}指series.name  {b}指series.data的name                  // {c}指series.data的value  {d}%指这一部分占总数的百分比                  formatter: '{c}'                }              }		 }    ]};if (wzoption && typeof wzoption === "object") {    wzCharts.setOption(wzoption, true);}//违章错误率var wldom = document.getElementById("wlCharts");var wlCharts = echarts.init(wldom);wloption = {    title : {        text: '物料到货情况分析',        subtext: '纯属虚构',		show:false    },		color:['#00CCFF', '#CC6600','#8B0000'],    tooltip : {        trigger: 'axis'    },    legend: {	    orient: 'horizontal',      // 布局方式,默认为水平布局,可选为:        data:['计划采购量','实际到货量'],		x: 'center',               // 水平安放位置,默认为全图居中,可选为:		y: 'top',                  // 垂直安放位置,默认为全图顶端,可选为:		textStyle: {              color: '#5dc2fe'  // 图例文字颜色            }    },    calculable : true,    xAxis : [        {            type : 'category',            data : ['采购计划壹','采购计划贰','采购计划叁'],			 //设置坐标轴字体颜色和宽度            axisLine: {                lineStyle: {                    color: "#5dc2fe",                }            },			splitLine: {show: false}        }    ],    yAxis : [        {            type : 'value',			 //设置坐标轴字体颜色和宽度            axisLine: {                lineStyle: {                    color: "#5dc2fe",                }            },			splitLine: {show: false}        }    ],    series : [        {            name:'计划采购量',            type:'bar',            data:[10, 15, 20]        },        {            name:'实际到货量',            type:'bar',            data:[5,8,12]        }    ]};if (wloption && typeof wloption === "object") {    wlCharts.setOption(wloption, true);}	//根据窗口的大小变动图表 --- 重点	window.onresize = function(){	    myChart.resize();		gCharts.resize();	    ryCharts.resize();	    jqCharts.resize();		wzCharts.resize();		wlCharts.resize();	}       </script></html>
 |