eCharts_基于eCharts开发的一个多图表页面
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title></title>
- <link href="https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
- <link rel="stylesheet" type="text/css" href="css/bootstrap-datetimepicker.min.css" />
- <link rel="stylesheet" type="text/css" href="css/bootstrap-switch.css" />
- <link rel="stylesheet" href="css/index.css" />
- <script src="js/jquery.min.js"></script>
- <script src="https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
- <script src="js/bootstrap-datetimepicker.min.js"></script>
- <script src="js/bootstrap-switch.min.js"></script>
- <script src="js/bootstrap-datetimepicker.zh-CN.js"></script>
- <script src="js/echarts.min.js"></script>
- </head>
- <body>
- <div class="perfor_container">
- <div class="perfor_bg">
- <img class="title_img" src="data:images/title@2x.png" style="width: 354px;" />
- <div class="perfor_content">
- <div class="perfor_nav">
- <ul class="areaSelect">
- <li class="didian"><img src="data:images/didian@2x.png" /><span>全网<span class="Xarrows">﹤</span></span>
- </li>
- <div class="area">
- <!--二级导航-->
- <ul class="areaAll hide1">
- <li class="areaSelected" data-id="1">业务数据</li>
- <li data-id="2">分组</li>
- </ul>
- <!--三级导航-->
- <div class="areaThird">
- <ul class="areaRegion innerbox hide1">
- <li data-id="1" class="innerbox">华南</li>
- <li data-id="2" class="innerbox">华北</li>
- <li data-id="3" class="innerbox">华东</li>
- <li data-id="4" class="innerbox">中西</li>
- </ul>
- <ul class="areaGrouping innerbox hide1">
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- <li>分组一</li>
- </ul>
- </div>
- <!--四级导航-->
- <div class="areaFourthly">
- <ul class="huanan innerbox hide1">
- <li>金华区01</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- <li>金华区</li>
- <li>台州区</li>
- <li>皖南区</li>
- </ul>
- <ul class="huabei innerbox hide1">
- <li>海南区01</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- </ul>
- <ul class="huadong innerbox hide1">
- <li>山西区01</li>
- <li>冀州区</li>
- <li>黑龙江区</li>
- <li>济南区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- </ul>
- <ul class="zhongxi innerbox hide1">
- <li>湘南区01</li>
- <li>豫北区</li>
- <li>陕西区</li>
- <li>宁夏区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- <li>海南区</li>
- <li>潮汕区</li>
- <li>赣南区</li>
- <li>赣北区</li>
- </ul>
- </div>
- </div>
- </ul>
- <div class="dateSelect">
- <!--<img src="data:images/shijian@2x.png" />--><input size="16" type="text" id="datetimeStart" readonly class="form_datetime" value=""></div>
- <div id="bNav" class="bNav">
- <ul class="perforNav">
- <li class="navSelected">重货产品:</li>
- <li>陆运零担</li>
- <li>物流普运</li>
- <li>重货包裹</li>
- <li>小票零担</li>
- <li>重货快运</li>
- <li>重货专运</li>
- <li>专线普运</li>
- </ul>
- </div>
- </div>
- <div class="dataChart">
- <ul class="column1 chart_ul">
- <li class="chart_li">
- <p>今日情況</p>
- <div class="todaySur">
- <div>
- <h3>今日收入</h3>
- <h1><span>2560</span><span>万</span></h1>
- <p><span>年度峰值:3560万</span> <span>3月5日</span></p>
- </div>
- <div>
- <h3>今日运单总重量</h3>
- <h1><span>2560</span><span>T</span></h1>
- <p><span>年度峰值:3560T</span> <span>3月5日</span></p>
- </div>
- </div>
- </li>
- <li class="chart_li">
- <p>日收入趋势(万)</p>
- <div id="echarts01"></div>
- </li>
- <li class="chart_li">
- <p class="dayNumber"><span class="daySelected">日均完成量</span><span>平均重量</span></p>
- <div id="echarts02"></div>
- </li>
- </ul>
- <ul class="column2 chart_ul">
- <li style="height: 360px;" class="chart_li">
- <div>
- <p style="float: left;">业务数据和排名</p>
- <ul class="yearSwitch" data-id="1">
- <li class="year">年</li>
- <li class="month">月</li>
- <li class="mask"></li>
- </ul>
- <!--<input name="status" type="checkbox" data-size="small">-->
- </div>
- <div class="business">
- <div class="businessDetail">
- <div><canvas id="canvas" width="230" height="150"></div>
- <ul class="business_detail">
- <li>
- <span>
- <p>月累计货量</p>
- <h2>187562</h2>
- </span>
- <span>
- <p>月累计收入</p>
- <h2>61434</h2>
- </span>
- </li>
- <li>
- <span>
- <p>日均货量</p>
- <h2>5917</h2>
- </span>
- <span>
- <p>差值</p>
- <h2>5917</h2>
- </span>
- </li>
- </ul>
- </div>
- <div class="business-rank">
- <div class="selectRank"><span class="selectedRank">前10</span><span>后10</span></div>
- <ul class="businessRank">
- <li><span>排名</span><span>区域</span><span>完成比</span></li>
- <ul>
- <li><span>1</span><span>常州区</span><span>124.5%</span></li>
- <li><span>2</span><span>常州区</span><span>124.5%</span></li>
- <li><span>3</span><span>常州区</span><span>124.5%</span></li>
- <li><span>4</span><span>常州区</span><span>124.5%</span></li>
- <li><span>5</span><span>常州区</span><span>124.5%</span></li>
- <li><span>6</span><span>常州区</span><span>124.5%</span></li>
- <li><span>7</span><span>常州区</span><span>124.5%</span></li>
- <li><span>8</span><span>常州区</span><span>124.5%</span></li>
- <li><span>9</span><span>常州区</span><span>124.5%</span></li>
- <li><span>10</span><span>常州区</span><span>124.5%</span></li>
- </ul>
- </ul>
- </div>
- </div>
- </li>
- <li class="chart_li">
- <div class="monthlyIncome">
- <span class="selectIncome" data-id="1">月度收入</span>
- <span data-id="2">月度单价</span>
- <span data-id="3">月度投保率</span>
- <span data-id="4">月度待营比</span>
- </div>
- <div id="echarts03"></div>
- </li>
- </ul>
- <ul class="column3 chart_ul">
- <li class="chart_li">
- <p>月度趋势</p>
- <div id="echarts04"></div>
- </li>
- <li class="chart_li">
- <p>月度公斤段占比(货量)</p>
- <div id="echarts05"></div>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <script type="text/javascript">$(document).ready(function() {
- //添加角落的边框
- $(".dataChart .chart_ul .chart_li").append('<div class="angle"><div class="angleSZ"></div><div class="angleSY"></div><div class="angleXZ"></div><div class="angleXY"></div></div>')
- $("#datetimeStart").val(getNowFormatDate());
- //图表所需要的数据
- //图表一数据,为数值
- var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 50, 100, 30, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130],
- //图表二数据,都为数值
- data2 = [6000, 7000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000],
- //图表三数据,都为百分比
- data3 = [12, 5, 1.2, 5, 1.2, 50, 1.2, 2, 100, 5, 3, 3],
- //图表四数据,都为百分比
- data4 = {
- data01: [1, 2, 3, 20, 60, 3, 40, 6, 30],
- data02: [8, 9, 10, 8, 9, 10, 8, 9, 10]
- },
- //图表五的数据,均为百分比
- data5 = {
- data01: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
- data02: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
- data03: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
- data04: [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
- };
- eCharts(data1, data2, data3, data4, data5);
- function eCharts(data1, data2, data3, data4, data5) {
- //echarts图表
- //图标顺序从上到下,从左到右
- var dom01 = document.getElementById("echarts01");
- var dom02 = document.getElementById("echarts02");
- var dom03 = document.getElementById("echarts03");
- var dom04 = document.getElementById("echarts04");
- var dom05 = document.getElementById("echarts05");
- var myChart01 = echarts.init(dom01);
- var myChart02 = echarts.init(dom02);
- var myChart03 = echarts.init(dom03);
- var myChart04 = echarts.init(dom04);
- var myChart05 = echarts.init(dom05);
- //图表自适应页面
- window.addEventListener("resize", function() {
- myChart01.resize();
- myChart02.resize();
- myChart03.resize();
- myChart04.resize();
- myChart05.resize();
- });
- var app = {};
- option = null;
- var tyleChart3;
- chart1();
- chart2();
- chart3();
- chart4();
- chart5();
- //图表二导航点击
- $(".dayNumber span").click(function() {
- $(".dayNumber span").removeClass("daySelected");
- $(this).addClass("daySelected");
- data2 = [6000, 5000, 5000, 5000, 5000, 5000, 5000, 1000, 5000, 3000, 4000, 2000],
- chart2();
- });
- //图表三导航点击
- $(".monthlyIncome span").click(function() {
- var id = this.dataset.id;
- $(".monthlyIncome span").removeClass("selectIncome");
- $(this).addClass("selectIncome");
- data3 = [12, 5, 1.2, 5, 1.2, 20, 1.2, 2, 9, 5, 3, 5];
- if(id == 1 || id == 2) {
- data3 = [12, 5, 1.2, 5, 1.2, 50, 1.2, 2, 100, 5, 3, 3];
- tyleChart3 = 1;
- chart3();
- } else {
- tyleChart3 = 0;
- chart3();
- }
- });
- function chart1() {
- //图表一
- option = {
- //添加横线滚动条
- dataZoom: {
- type: 'inside',
- start: 0, //默认为0
- end: 100 - 1500 / 31, //默认为100
- },
- //底部滚动条
- /*dataZoom: {
- start: 0, //默认为0
- end: 60 - 1500 / 31, //默认为100
- type: 'slider',
- show: true,
- xAxisIndex: [0],
- handleSize: 0, //滑动条的 左右2个滑动条的大小
- height: 6, //组件高度
- left: 20, //左边的距离
- right: 20, //右边的距离
- bottom: 30, //右边的距离
- handleColor: '#CBBCDB', //h滑动图标的颜色
- handleStyle: {
- borderColor: "#CBBCDB",
- borderWidth: "1",
- shadowBlur: 2,
- background: "#CBBCDB",
- shadowColor: "#CBBCDB",
- },
- fillerColor: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
- //给颜色设置渐变色 前面4个参数,给第一个设置1,第四个设置0 ,就是水平渐变
- //给第一个设置0,第四个设置1,就是垂直渐变
- offset: 0,
- color: 'rgba(255,255,255,.4)'
- }, {
- offset: 1,
- color: 'rgba(255,255,255,.4)'
- }]),
- backgroundColor: 'rgba(37, 46, 100, 0.45)', //两边未选中的滑动条区域的颜色
- showDataShadow: false, //是否显示数据阴影 默认auto
- showDetail: false, //即拖拽时候是否显示详细数值信息 默认true
- handleIcon: 'M-292,322.2c-3.2,0-6.4-0.6-9.3-1.9c-2.9-1.2-5.4-2.9-7.6-5.1s-3.9-4.8-5.1-7.6c-1.3-3-1.9-6.1-1.9-9.3c0-3.2,0.6-6.4,1.9-9.3c1.2-2.9,2.9-5.4,5.1-7.6s4.8-3.9,7.6-5.1c3-1.3,6.1-1.9,9.3-1.9c3.2,0,6.4,0.6,9.3,1.9c2.9,1.2,5.4,2.9,7.6,5.1s3.9,4.8,5.1,7.6c1.3,3,1.9,6.1,1.9,9.3c0,3.2-0.6,6.4-1.9,9.3c-1.2,2.9-2.9,5.4-5.1,7.6s-4.8,3.9-7.6,5.1C-285.6,321.5-288.8,322.2-292,322.2z',
- filterMode: 'filter',
- },*/
- grid: {
- x: 30,
- y: 10,
- x2: 30,
- y2: 70,
- top: 10,
- height: 150,
- borderWidth: 1
- },
- tooltip: {
- trigger: 'axis',
- textStyle: {
- color: '#999'
- }
- },
- //全局字体颜色
- textStyle: {
- color: '#B3B3B3'
- },
- itemStyle: {
- color: '#666'
- },
- //X轴参数设置
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- /*axisLabel: {
- interval: 0
- },*/
- axisTick: {
- show: false,
- },
- },
- //Y轴参数设置
- yAxis: [{
- type: 'value',
- //data: [0, 30, 60, 90, 120, 150, ],
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisLabel: {
- interval: 0
- },
- axisTick: {
- show: false,
- },
- splitLine: {
- show: false,
- }
- }],
- //服务数据
- series: [{
- name: '目标占比',
- type: 'line',
- smooth: true,
- stack: '总量',
- data: data1,
- itemStyle: {
- normal: {
- color: '#6FA9D9',
- lineStyle: {
- color: '#6FA9D9'
- }
- }
- },
- },
- ]
- };
- //实例化图表
- if(option && typeof option === "object") {
- myChart01.setOption(option, true);
- };
- //end
- }
- function chart2() {
- //图表二
- //日均完成量
- option = {
- textStyle: {
- color: '#B3B3B3'
- },
- grid: {
- x: 60,
- y: 20,
- x2: 30,
- y2: 70,
- top: 20,
- height: 130,
- //rotate:40width: 300,
- //left: 50,
- borderWidth: 1
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- },
- },
- xAxis: {
- type: 'category',
- axisLabel: {
- interval: 0,
- rotate: 40,
- showMaxLabel: true,
- textStyle: {
- color: '#B3B3B3',
- }
- },
- //露出的部分
- axisTick: {
- show: false,
- },
- //横线
- splitLine: {
- show: false,
- },
- axisLine: {
- show: true,
- lineStyle: {
- width: 1.5,
- color: "#414B71",
- },
- },
- //data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
- },
- yAxis: {
- type: 'value',
- axisLabel: {
- interval: 0
- },
- //露出的部分
- axisTick: {
- show: false,
- },
- //横线
- splitLine: {
- show: false,
- },
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- },
- series: [{
- data: data2,
- type: 'bar',
- barWidth: 10,
- //顶部数字展示pzr
- itemStyle: {
- //柱形图圆角,鼠标移上去效果
- emphasis: {
- barBorderRadius: 40
- },
- normal: {
- //柱形图圆角,初始化效果
- barBorderRadius: 30,
- color: '#F0C476',
- }
- },
- }]
- };
- if(option && typeof option === "object") {
- myChart02.setOption(option, true);
- };
- //end
- }
- function chart3() {
- if(tyleChart3 == 1) {
- var formatter01 = '{b0}<br />{a}:{c}',
- formatter02 = '{value}';
- } else {
- var formatter01 = '{b0}<br />{a}:{c}%',
- formatter02 = '{value} %';
- }
- //图表三
- option = {
- tooltip: {
- trigger: 'axis',
- textStyle: {
- color: '#999'
- },
- formatter: formatter01
- },
- grid: {
- x: 50,
- y: 20,
- x2: 30,
- y2: 70,
- top: 20,
- height: 200,
- borderWidth: 1
- },
- textStyle: {
- color: '#B3B3B3'
- },
- itemStyle: {
- color: '#666'
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisLabel: {
- interval: 0
- },
- axisTick: {
- show: false,
- },
- },
- yAxis: [{
- type: 'value',
- axisLabel: {
- show: true,
- interval: '0',
- formatter: formatter02
- },
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisTick: {
- show: false,
- },
- splitLine: {
- show: false,
- }
- }],
- series: [{
- name: '目标占比',
- type: 'line',
- smooth: true,
- stack: '总量',
- data: data3,
- itemStyle: {
- normal: {
- color: '#F0C476',
- lineStyle: {
- color: '#F0C476'
- },
- }
- },
- },
- ]
- };
- if(option && typeof option === "object") {
- myChart03.setOption(option, true);
- };
- //end
- }
- function chart4() {
- //图表四
- option = {
- tooltip: {
- trigger: 'axis',
- textStyle: {
- color: '#999'
- },
- formatter: '{b}<br />{a0}:{c0}%<br />{a1}:{c1}%'
- },
- grid: {
- x: 50,
- y: 20,
- x2: 30,
- y2: 70,
- top: 30,
- height: 190,
- borderWidth: 1
- },
- legend: {
- data: ['目标占比', '实际占比'],
- selectedMode: false,
- textStyle: {
- color: '#B3B3B3'
- },
- top: -5,
- },
- textStyle: {
- color: '#B3B3B3'
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisLabel: {
- interval: 0,
- rotate: 40,
- },
- axisTick: {
- show: false,
- },
- },
- yAxis: [{
- type: 'value',
- axisLabel: {
- show: true,
- interval: '0',
- formatter: '{value} %'
- },
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisTick: {
- show: false,
- },
- splitLine: {
- show: false,
- }
- }],
- series: [{
- name: '目标占比',
- type: 'line',
- smooth: true,
- stack: '总量',
- data: data4.data01,
- itemStyle: {
- normal: {
- color: '#6FA9D9',
- lineStyle: {
- color: '#6FA9D9'
- }
- }
- },
- },
- {
- name: '实际占比',
- type: 'line',
- smooth: true,
- stack: '总量2',
- data: data4.data02,
- itemStyle: {
- normal: {
- color: '#FAD567',
- lineStyle: {
- color: '#FAD567'
- }
- }
- },
- },
- ]
- };
- if(option && typeof option === "object") {
- myChart04.setOption(option, true);
- };
- //end
- }
- function chart5() {
- //图表五
- option = {
- textStyle: {
- color: '#B3B3B3'
- },
- grid: {
- x: 60,
- y: 20,
- x2: 30,
- y2: 70,
- top: 40,
- height: 235,
- //bottom: 20,
- borderWidth: 1
- },
- tooltip: {
- trigger: 'axis',
- textStyle: {
- color: '#999'
- },
- formatter: '{b}<br />{a0}:{c0}%<br />{a1}:{c1}%<br />{a2}:{c2}%<br />{a3}:{c3}%'
- },
- legend: {
- itemWidth: 10,
- itemHeight: 10,
- data: ['T>500', '100<T≤500', '20<T≤100', 'T≤20', ],
- selectedMode: false,
- textStyle: {
- color: '#B3B3B3'
- },
- },
- xAxis: [{
- type: 'category',
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
- //轴线颜色
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- axisLabel: {
- interval: 0,
- rotate: 40,
- },
- //露出的部分
- axisTick: {
- show: false,
- },
- //横线
- splitLine: {
- show: false,
- }
- },
- ],
- yAxis: [{
- type: 'value',
- //data: [25, 50, 75, 100],
- axisLabel: {
- show: true,
- interval: '0',
- formatter: '{value} %'
- },
- //轴线颜色
- axisLine: {
- lineStyle: {
- color: "#414B71",
- width: 1.5,
- },
- },
- //露出的部分
- axisTick: {
- show: false,
- },
- //横线
- splitLine: {
- show: false,
- }
- }],
- series: [{
- name: 'T>500',
- type: 'bar',
- stack: '广告',
- data: data5.data01,
- barWidth: 8,
- itemStyle: {
- normal: {
- color: "#426BC5"
- }
- },
- },
- {
- name: '100<T≤500',
- type: 'bar',
- stack: '广告',
- data: data5.data02,
- barWidth: 8,
- itemStyle: {
- normal: {
- color: "#1FA985"
- }
- },
- },
- {
- name: '20<T≤100',
- type: 'bar',
- stack: '广告',
- data: data5.data03,
- barWidth: 8,
- itemStyle: {
- normal: {
- color: "#DAC37F"
- }
- },
- },
- {
- name: 'T≤20',
- type: 'bar',
- stack: '广告',
- data: data5.data04,
- barWidth: 8,
- itemStyle: {
- normal: {
- color: "#66A0D1"
- }
- },
- }
- ]
- };
- if(option && typeof option === "object") {
- myChart05.setOption(option, true);
- };
- //-------------end---------------
- }
- }
- //点击事件
- //地区选择hover
- $(".areaAll li").hover(function() {
- var id = this.dataset.id;
- $(".areaAll li").removeClass('areaSelected');
- $(this).addClass('areaSelected');
- $(".areaThird ul").hide();
- if(id == 1) {
- $(".areaRegion").show();
- } else if(id == 2) {
- $(".areaFourthly ul").hide();
- $(".areaGrouping").show();
- }
- });
- $(".areaRegion li").hover(function() {
- var id = this.dataset.id;
- $(".areaRegion li").removeClass('areaSelected');
- $(this).addClass('areaSelected');
- $(".areaFourthly ul").hide();
- if(id == 1) {
- $(".huanan").show();
- } else if(id == 2) {
- $(".huabei").show();
- } else if(id == 3) {
- $(".huadong").show();
- } else {
- $(".zhongxi").show();
- }
- });
- $(".area").hover(function() {
- }, function() {
- $(".areaAll,.areaThird ul,.areaFourthly ul").hide();
- })
- $(".areaThird li").hover(function() {
- $(".areaThird li").removeClass('areaSelected');
- $(this).addClass('areaSelected');
- });
- $(".areaFourthly li").hover(function() {
- $(".areaFourthly li").removeClass('areaSelected');
- $(this).addClass('areaSelected');
- });
- $(".didian").hover(function() {
- $(".areaAll").show();
- });
- //--------------end---------------
- $(".areaThird li,.areaFourthly li").click(function() {
- $(".areaAll,.areaThird ul,.areaFourthly ul").hide();
- });
- //导航点击
- $(".perforNav li").click(function() {
- $(".perforNav li").removeClass('navSelected');
- $(this).addClass('navSelected');
- });
- //排名选择
- $(".selectRank span").click(function() {
- $(".selectRank span").removeClass("selectedRank");
- $(this).addClass("selectedRank");
- });
- //endDate : new Date(),
- //日期选择
- $("#datetimeStart").datetimepicker({
- format: 'yyyy-mm-dd',
- minView: 'month',
- language: 'zh-CN',
- autoclose: true,
- todayHighlight: 1, //选中高亮
- initialDate: new Date(), //初始化的时间
- startDate: "2003-01-01", //只显示一年的日期365天
- endDate: "2020-02-14",
- }).on("click", function() {
- //$("#datetimeStart").datetimepicker("setEndDate", $("#datetimeEnd").val());
- });
- $(".yearSwitch").click(function(){
- var id = this.dataset.id;
- if(id == 1){
- //月
- $(".mask").css("left","20px")
- this.dataset.id = 0;
- }else{
- //年
- $(".mask").css("left","0")
- this.dataset.id = 1;
- }
- })
- //--------------end---------------
- //第一个参数为外圆的百分比,第二个参数为内圆的百分比
- toCanvas('canvas', 80, 89);
- //环形进度条
- function toCanvas(id, progress, progress2) {
- //canvas进度条
- var canvas = document.getElementById(id),
- ctx = canvas.getContext("2d"),
- percent = progress,
- percent2 = progress2,
- //最终百分比
- circleX = canvas.width / 3, //* 中心x坐标*/
- circleY = canvas.height / 2, //中心y坐标
- radius = 50, //圆环半径
- lineWidth = 6, // 圆形线条的宽度
- fontSize = 10; //字体大小
- //画圆
- function circle(cx, cy, r) {
- ctx.beginPath();
- ctx.lineWidth = lineWidth;
- ctx.strokeStyle = '#eee';
- ctx.arc(cx, cy, r, Math.PI, Math.PI * 2);
- ctx.stroke();
- state();
- }
- //进度条说明
- function state() {
- ctx.beginPath();
- ctx.arc(150, 40, 3, 0, 360, false);
- ctx.fillStyle = "#1582CF"; //填充颜色,默认是黑色
- ctx.fill(); //画实心圆
- ctx.beginPath();
- ctx.arc(150, 60, 3, 0, 360, false);
- ctx.fillStyle = "#0DBA4C"; //填充颜色,默认是黑色
- ctx.fill(); //画实心圆
- ctx.beginPath();
- ctx.arc(150, 80, 3, 0, 360, false);
- ctx.fillStyle = "#DB0432"; //填充颜色,默认是黑色
- ctx.fill(); //画实心圆
- ctx.closePath();
- ctx.fillStyle = "#fff";
- //ctx.fillWeight = "normal";
- ctx.font = "14px April";
- ctx.fillText("时间进度", 190, 40);
- ctx.fillText(">时间进度", 190, 60);
- ctx.fillText("<时间进度", 190, 80);
- }
- //画弧线
- function sector(cx, cy, r, startAngle, endAngle, anti) {
- ctx.beginPath();
- ctx.lineWidth = lineWidth;
- endAngle > 100 ? ctx.strokeStyle = "#DB0432" : ctx.strokeStyle = "#1582CF";
- //圆弧两端的样式
- ctx.lineCap = 'round';
- ctx.arc(cx, cy, r, Math.PI, Math.PI * (1 + endAngle / 100));
- ctx.stroke();
- }
- //画弧线02
- function sector2(cx, cy, r, startAngle, endAngle, anti) {
- ctx.beginPath();
- ctx.lineWidth = lineWidth;
- endAngle > 100 ? ctx.strokeStyle = "#DB0432" : ctx.strokeStyle = "#0DBA4C";
- //圆弧两端的样式
- ctx.lineCap = 'round';
- ctx.arc(cx, cy, r * 3 / 4, Math.PI, Math.PI * (1 + endAngle / 100));
- ctx.stroke();
- }
- //刷新
- function loading() {
- var percent3 = progress;
- if(percent < percent2) percent = percent2;
- if(process >= percent) clearInterval(circleLoading);
- if(process2 >= percent) clearInterval(circleLoading);
- //清除canvas内容
- ctx.clearRect(0, 0, circleX * 2, circleY * 2);
- //中间的字
- ctx.font = "20px April";
- ctx.textAlign = 'center';
- ctx.textBaseline = 'middle';
- ctx.fillStyle = '#0DBA4C';
- ctx.fillText(parseFloat(process).toFixed(0) + '%', circleX, circleY * 4 / 5);
- ctx.fillStyle = '#fff';
- ctx.font = "10px April";
- ctx.fillText("月度完成比", circleX, circleY + 5);
- //圆形
- circle(circleX, circleY, radius);
- //圆弧
- sector(circleX, circleY, radius, Math.PI * 2 / 3, process);
- sector2(circleX, circleY, radius, Math.PI * 2 / 3, process2);
- //两端圆点
- //smallcircle1(50 + Math.cos(2 * Math.PI / 360 * 120) * 100, 150 + Math.sin(2 * Math.PI / 360 * 120) * 100, 5);
- //smallcircle2(50 + Math.cos(2 * Math.PI / 360 * (120 + process * 3)) * 100, 150 + Math.sin(2 * Math.PI / 360 * (120 + process * 3)) * 100, 5);
- //控制结束时动画的速度
- if(process < percent3) {
- if(process / percent > 0.90) {
- process += 0.30;
- } else if(process / percent > 0.80) {
- process += 0.55;
- } else if(process / percent > 0.70) {
- process += 0.75;
- } else {
- process += 1.0;
- }
- }
- if(process2 < percent2) {
- if(process2 / percent > 0.90) {
- process2 += 0.30;
- } else if(process2 / percent > 0.80) {
- process2 += 0.55;
- } else if(process2 / percent > 0.70) {
- process2 += 0.75;
- } else {
- process2 += 1.0;
- }
- }
- }
- var process = 0.0;
- var process2 = 0.0;
- var circleLoading = window.setInterval(function() {
- loading();
- }, 20);
- }
- //echarts不同屏幕字体大小调整
- var getDpr = function getDpr() {
- var dpr =document.body.clientWidth;
- if(dpr > 1226) {
- return 12;
- } else if(dpr == 2) {
- return 24;
- } else {
- return 36;
- }
- };
- //获取当天日期
- function getNowFormatDate() {
- var date = new Date();
- var seperator1 = "-";
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var strDate = date.getDate();
- if(month >= 1 && month <= 9) {
- month = "0" + month;
- }
- if(strDate >= 0 && strDate <= 9) {
- strDate = "0" + strDate;
- }
- var currentdate = year + seperator1 + month + seperator1 + strDate;
- return currentdate;
- }
- })</script>
- </body>
- </html>
eCharts_基于eCharts开发的一个多图表页面的更多相关文章
- 基于 React 开发了一个 Markdown 文档站点生成工具
Create React Doc 是一个使用 React 的 markdown 文档站点生成工具.就像 create-react-app 一样,开发者可以使用 Create React Doc 来开发 ...
- 基于Spring开发的一个BIO-RPC框架(对新人很友好)
PART1:先来整体看下项目的构成 其中bio-rpc-core就是所谓的rpc框架 bio-rpc-example-client即所谓的服务调用方(你的项目中想要调用服务的地方) bio-rpc-e ...
- vue中,基于echarts 地图实现一个人才回流的大数据展示效果
0.引入echarts组件,和中国地图js import eCharts from 'echarts' import 'echarts/map/js/china.js'// 引入中国地图 1. 设置地 ...
- 使用echarts开发电子屏数据展示页面
背景 之前的项目因为要顾及体量问题,选用了highchart,没用上echarts:这次因为是本地部署电子屏幕的展示页,不需要考虑体量大小,直接用上了echarts:用起来觉得非常不错,特别是地图上非 ...
- vue可视化图表 基于Echarts封装好的v-charts简介
**vue可视化图表 基于Echarts封装好的v-charts** 近期公司又一个新的需求,要做一个订单和销售额统计的项目,需要用到可视化图表来更直观的展示数据.首先我想到的是Echarts,众所周 ...
- 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目
自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...
- 基于SpringBoot开发一个Restful服务,实现增删改查功能
前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...
- 基于线程开发一个FTP服务器
一,项目题目:基于线程开发一个FTP服务器 二,项目要求: 基本要求: 1.用户加密认证 2.允许同时多用户登录 3.每个用户有自己的家目录 ,且只能访问自己的家目录 4.对用户进行磁盘配 ...
- 一个基于NodeJS开发的APP管理CMS系统
花了大概3周独立开发了一个基于NodeJS的CMS系统,用于公司APP的内容管理( **公司APP?广告放在最后 ^_^ ** ,管理员请理解~~~ )晚上看了部电影还不想睡,闲着也是闲着就作下小小总 ...
随机推荐
- 【week6】约跑App视频链接
约跑视频链接发布在优酷,链接如下: http://v.youku.com/v_show/id_XMTc3NTcyNTcyNA==.html 秒拍视频连接: http://www.miaopai.com ...
- vue-cli3配置postcss-cssnext
1. // npm install autoprefixer --save-dev 此步不需要了,因为postcss-cssnext自带这个依赖 npm install postcss-cssnext ...
- java 字符串—数字常用处理
// 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}" ...
- [剑指Offer] 50.数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- Winform程序部署方式总结一——ClickOnce发布
针对Winform程序,介绍两种常用打包方式:ClickOnce和Windows Installer 应用程序如下: 一.ClickOnce发布 1.找到需要发布的项目文件,右击,从弹出的快捷菜单中找 ...
- asp.netMVC中实现分页方法
方法一:使用传统的sql语句实现分页, public class UserprintDao如下 /// <summary> /// 取得用户申请记录列表(按分页) /// </ ...
- robot framework连接Oracle错误:ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
在使用robot framework的关键字Connect to Database Using Custom params连接Oracle数据库: Connect to Database Using ...
- [bzoj4398] 福慧双修 最短路 二进制分组
---题面--- 题解: 考场上看的这道题,,,当时70分算法打挂了,今天才知道这个也是原题.... 首先,对于不跟1相邻的边,肯定不会经过两次,因为经过两次就回来了,除了增加路径长度之外没有任何意义 ...
- [Leetcode] valid sudoku 有效数独
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...
- [Leetcode] Construct binary tree from preorder and inorder travesal 利用前序和中续遍历构造二叉树
Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume tha ...