1.之前的窗口自适应关键代码(window.onresize)分别写到了好几个function中,窗口自适应失效了。代码如下:
$(function() { // 加载金额、油量、加油笔数、税额 $.ajax({ type:"POST", url:"Index!getOneAndAll.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } if(null != data.total){ var je_total = formatThousand2(data.total.je); var yl_total = formatThousand2(data.total.yl); var jybs_total = formatThousand(data.total.jybs); var se_total = formatThousand2(data.total.se); je_total = je_total.replace(".","<span class=\'point\'>.")+"</span>"; yl_total = yl_total.replace(".","<span class=\'point\'>.")+"</span>"; se_total = se_total.replace(".","<span class=\'point\'>.")+"</span>"; $("#je_total").html(je_total); $("#yl_total").html(yl_total); $("#jybs_total").html (jybs_total); $("#se_total").html(se_total); }else{ $("#je_total").html("0<span class=\'point\'>.00</span>"); $("#yl_total").html("0<span class=\'point\'>.00</span>"); $("#jybs_total").html("0"); $("#se_total").html("0<span class=\'point\'>.00</span>"); } createCollectEcharts1(data); }, error:function(data){ alert("获取首页数据失败!"); } }); // 加载Top10 $.ajax({ type:"POST", url:"Index!getTopBar.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM , "topKj" : 10 , "topNum" : 10}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } createCollectEcharts2(data); }, error:function(data){ alert("获取首页数据失败!"); } }); // 加载摘挂枪分析 $.ajax({ type:"POST", url:"Index!getZgqfxScatter.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } createCollectEcharts3(data); }, error:function(data){ alert("获取首页数据失败!"); } }); }); function createCollectEcharts1(data){ var xAxisData = []; var jeSeriesData = []; var ylSeriesData = []; var jybsSeriesData = []; var seSeriesData = []; for (var i = 0, size = data.dataList.length; i < size; i++) { xAxisData.push(data.dataList[i].sjjc); jeSeriesData.push(data.dataList[i].je); ylSeriesData.push(data.dataList[i].yl); jybsSeriesData.push(data.dataList[i].jybs); seSeriesData.push(data.dataList[i].se); } var data = [\'中石油102\', \'大平五一路\', \'中通\', \'和源\', \'德月\', \'铭磊\', \'高桥\', \'大平汽贸城\', \'天盈\', \'宝光\', \'燕港\', \'顺达\', \'长城\']; // 散点图声明 var baseNumber = 45000; var variableNumber = 0; // 指定图表的配置项和数据 var textBr = function(value) { // debugger var ret = ""; // 拼接加\n返回的类目项 var maxLength = 3; // 每项显示文字个数 var valLength = value.length; // X轴类目项的文字个数 var rowN = Math.ceil(valLength / maxLength); // 类目项需要换行的行数 if (rowN > 1) // 如果类目项的文字大于3, { for (var i = 0; i < rowN; i++) { var temp = ""; // 每次截取的字符串 var start = i * maxLength; // 开始截取的位置 var end = start + maxLength; // 结束截取的位置 // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 temp = value.substring(start, end) + "\n"; ret += temp; // 凭借最终的字符串 } return ret; } else { return value; } } var myChart1, myChart2, myChart3, myChart4; // 基于准备好的dom,初始化echarts实例 if ($(\'#echarts1\').length > 0) { myChart1 = echarts.init(document.getElementById(\'echarts1\')); } if ($(\'#echarts2\').length > 0) { myChart2 = echarts.init(document.getElementById(\'echarts2\')); } if ($(\'#echarts3\').length > 0) { myChart3 = echarts.init(document.getElementById(\'echarts3\')); } if ($(\'#echarts4\').length > 0) { myChart4 = echarts.init(document.getElementById(\'echarts4\')); } /* 第一个图表的配置--月销售额 --柱状图 */ var option1 = { color: [\'#01a1ff\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月销售额\', type: \'bar\', barWidth: \'40%\', label: { normal: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } } }, data: jeSeriesData }], }; /* 第二个图表的配置--销售量 --折线图 */ var option2 = { color: [\'#ffa801\'], dataZoom: [{ type: \'inside\', }], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'line\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月销售量\', type: \'line\', label: { normal: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } }, }, clipOverflow: false, symbolSize: 10, data: ylSeriesData, areaStyle: { color: { type: \'linear\', x: 0, y: 0, x2: 0, y2: 1, colorStops: [{ offset: 0, color: \'rgba(255,168,1,0.8)\' // 0% 处的颜色 }, { offset: 1, color: \'rgba(255,168,1,0.2)\' // 100% 处的颜色 }], } } }] }; /* 第三个图表的配置--加油笔数 --柱状图 */ var option3 = { color: [\'#64bf0f\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月加油笔数\', type: \'bar\', barWidth: \'26%\', data: jybsSeriesData, itemStyle: { barBorderRadius: [30, 30, 0, 0], }, label: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand(params.value); } } }] }; /* 第四个图表的配置--税额 --柱状图 */ var option4 = { color: [\'#ea3c33\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ axisTick: { show: false, }, }], series: [{ name: \'本月销售额\', type: \'bar\', barWidth: \'30%\', label: { normal: { show: true, position: \'top\', rotate: \'20\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } } }, data: seSeriesData }] }; myChart1 && myChart1.setOption(option1, true); myChart2 && myChart2.setOption(option2, true); myChart3 && myChart3.setOption(option3, true); myChart4 && myChart4.setOption(option4, true); /* 窗口自适应,关键代码 */ window.onresize = function() { if ($(\'#echarts1\').length > 0) { myChart1.resize(); } if ($(\'#echarts2\').length > 0) { myChart2.resize(); } if ($(\'#echarts3\').length > 0) { myChart3.resize(); } if ($(\'#echarts4\').length > 0) { myChart4.resize(); } }; // 解决tab切换不显示问题 在加载窗口后重新渲染。 $(\'a[data-toggle="tab"]\').on(\'shown.bs.tab\', function(e) { if ($(\'#echarts1\').length > 0) { myChart1.resize(); } if ($(\'#echarts2\').length > 0) { myChart2.resize(); } if ($(\'#echarts3\').length > 0) { myChart3.resize(); } if ($(\'#echarts4\').length > 0) { myChart4.resize(); } }); } function createCollectEcharts2(data){ var color1 = "#EA1E1E"; var color2 = "#ED8913"; var color3 = "#57B115"; var xAxisData = []; var seriesData = []; var series = []; for (var i = 0, size = data.dataList.length; i < size; i++) { xAxisData.push(data.dataList[i].sjjc); } for (var i = 0, size = data.dataList.length; i < size; i++) { if(i == 0){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color1} }); }else if(i == 1){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color2} }); }else if(i == 2){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color3} }); }else{ seriesData.push(data.dataList[i].bq_zje); } } series.push( { name: \'总销售额\', type: \'bar\', barWidth: \'22%\', label: { normal: { show: false, position: \'top\', color: \'#424242\', fontSize: 12, } }, data: seriesData } ); // 指定图表的配置项和数据 var textBr = function(value) { // debugger var ret = ""; // 拼接加\n返回的类目项 var maxLength = 3; // 每项显示文字个数 var valLength = value.length; // X轴类目项的文字个数 var rowN = Math.ceil(valLength / maxLength); // 类目项需要换行的行数 if (rowN > 1) // 如果类目项的文字大于3, { for (var i = 0; i < rowN; i++) { var temp = ""; // 每次截取的字符串 var start = i * maxLength; // 开始截取的位置 var end = start + maxLength; // 结束截取的位置 // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 temp = value.substring(start, end) + "\n"; ret += temp; // 凭借最终的字符串 } return ret; } else { return value; } } var myChart5; // 基于准备好的dom,初始化echarts实例 if ($(\'#echarts5\').length > 0) { myChart5 = echarts.init(document.getElementById(\'echarts5\')); } /* 第5个图表的配置--top分析排名 --柱状图 */ var option5 = { color: [\'#01a1ff\'], dataZoom: [{ type: \'inside\', }], tooltip: { trigger: \'axis\', axisPointer: { type: \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, grid: { top: \'10\', left: \'1%\', right: \'1%\', bottom: \'20\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: series, }; myChart5 && myChart5.setOption(option5, true); /* 窗口自适应,关键代码 */ window.onresize = function() { if ($(\'#echarts5\').length > 0) { myChart5.resize(); } }; } function createCollectEcharts3(data){ var zgqb; var titleText; var zgqsSeriesdata = []; var jybsSeriesdata = []; if(null != data.total){ zgqb = formatPercent2(data.total.zgqb); zgqsSeriesdata.push(data.total.zgqs); jybsSeriesdata.push(data.total.jybs); } titleText = "摘挂枪比:" + zgqb; // 散点图声明 var baseNumber = 45000; var variableNumber = 0; var myChart6; if ($(\'#echarts6\').length > 0) { myChart6 = echarts.init(document.getElementById(\'echarts6\')); } /* 第6个图表的配置--摘挂枪分析 --单轴散点图 */ var option6 = { title: { //text: \'摘挂枪比:60.00%\', text: titleText, left: \'center\', bottom: \'20\', textStyle: { fontSize: 13, fontWeight: \'bold\', color: [\'#ffb888\'], lineHeight: 12, }, }, legend: { data: [\'摘挂枪数\', \'加油笔数\'] }, singleAxis: { type: \'category\', top: \'70%\', axisLine: { show: false }, axisTick: { show: false } }, tooltip: { trigger: \'item\', }, series: [{ type: \'scatter\', name: \'摘挂枪数\', coordinateSystem: \'singleAxis\', //data: [300000], data: zgqsSeriesdata, symbolSize: function(value) { variableNumber = value; return Math.sqrt(baseNumber) * .8 }, symbolOffset: [0, \'-50%\'], itemStyle: { opacity: 1, color: \'#ac90cc\' }, label: { show: true, position: [\'38%\', \'7%\'], formatter: \'{c}\', color: \'#fff\', formatter: function(params) { return formatThousand(params.value); } } }, { type: \'scatter\', name: \'加油笔数\', coordinateSystem: \'singleAxis\', //data: [214400], data: jybsSeriesdata, symbolSize: function(value) { if (value >= variableNumber) return Math.sqrt(baseNumber) * .8 else return Math.sqrt(value / variableNumber * baseNumber) * .8 }, symbolOffset: [0, \'-50%\'], itemStyle: { opacity: 1, color: \'#ffb888\' }, label: { show: true, position: \'inside\', formatter: \'{c}\', color: \'#fff\', formatter: function(params) { return formatThousand(params.value); } } }] }; myChart6 && myChart6.setOption(option6, true); /* 窗口自适应,关键代码 */ window.onresize = function() { if ($(\'#echarts6\').length > 0) { myChart6.resize(); } }; }
2.之后将窗口自适应关键代码一起提到了最下边就好使了。代码如下:
$(function() { // 加载金额、油量、加油笔数、税额 $.ajax({ type:"POST", url:"Index!getOneAndAll.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } if(null != data.total){ var je_total = formatThousand2(data.total.je); var yl_total = formatThousand2(data.total.yl); var jybs_total = formatThousand(data.total.jybs); var se_total = formatThousand2(data.total.se); je_total = je_total.replace(".","<span class=\'point\'>.")+"</span>"; yl_total = yl_total.replace(".","<span class=\'point\'>.")+"</span>"; se_total = se_total.replace(".","<span class=\'point\'>.")+"</span>"; $("#je_total").html(je_total); $("#yl_total").html(yl_total); $("#jybs_total").html (jybs_total); $("#se_total").html(se_total); }else{ $("#je_total").html("0<span class=\'point\'>.00</span>"); $("#yl_total").html("0<span class=\'point\'>.00</span>"); $("#jybs_total").html("0"); $("#se_total").html("0<span class=\'point\'>.00</span>"); } createCollectEcharts1(data); }, error:function(data){ alert("获取首页数据失败!"); } }); // 加载Top10 $.ajax({ type:"POST", url:"Index!getTopBar.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM , "topKj" : 10 , "topNum" : 10}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } createCollectEcharts2(data); }, error:function(data){ alert("获取首页数据失败!"); } }); // 加载摘挂枪分析 $.ajax({ type:"POST", url:"Index!getZgqfxScatter.action", data: {"sjkd" : 10 , "startTime" : HOMEDATEYM}, dataType:"json", success: function(data){ // 如果返回是json数据为null,则退出此方法 if(null == data){ return; } createCollectEcharts3(data); }, error:function(data){ alert("获取首页数据失败!"); } }); }); var myChart1, myChart2, myChart3, myChart4; function createCollectEcharts1(data){ var xAxisData = []; var jeSeriesData = []; var ylSeriesData = []; var jybsSeriesData = []; var seSeriesData = []; for (var i = 0, size = data.dataList.length; i < size; i++) { xAxisData.push(data.dataList[i].sjjc); jeSeriesData.push(data.dataList[i].je); ylSeriesData.push(data.dataList[i].yl); jybsSeriesData.push(data.dataList[i].jybs); seSeriesData.push(data.dataList[i].se); } var data = [\'中石油102\', \'大平五一路\', \'中通\', \'和源\', \'德月\', \'铭磊\', \'高桥\', \'大平汽贸城\', \'天盈\', \'宝光\', \'燕港\', \'顺达\', \'长城\']; // 散点图声明 var baseNumber = 45000; var variableNumber = 0; // 指定图表的配置项和数据 var textBr = function(value) { // debugger var ret = ""; // 拼接加\n返回的类目项 var maxLength = 3; // 每项显示文字个数 var valLength = value.length; // X轴类目项的文字个数 var rowN = Math.ceil(valLength / maxLength); // 类目项需要换行的行数 if (rowN > 1) // 如果类目项的文字大于3, { for (var i = 0; i < rowN; i++) { var temp = ""; // 每次截取的字符串 var start = i * maxLength; // 开始截取的位置 var end = start + maxLength; // 结束截取的位置 // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 temp = value.substring(start, end) + "\n"; ret += temp; // 凭借最终的字符串 } return ret; } else { return value; } } // 基于准备好的dom,初始化echarts实例 if ($(\'#echarts1\').length > 0) { myChart1 = echarts.init(document.getElementById(\'echarts1\')); } if ($(\'#echarts2\').length > 0) { myChart2 = echarts.init(document.getElementById(\'echarts2\')); } if ($(\'#echarts3\').length > 0) { myChart3 = echarts.init(document.getElementById(\'echarts3\')); } if ($(\'#echarts4\').length > 0) { myChart4 = echarts.init(document.getElementById(\'echarts4\')); } /* 第一个图表的配置--月销售额 --柱状图 */ var option1 = { color: [\'#01a1ff\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月销售额\', type: \'bar\', barWidth: \'30%\', label: { normal: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } } }, data: jeSeriesData }], }; /* 第二个图表的配置--销售量 --折线图 */ var option2 = { color: [\'#ffa801\'], dataZoom: [{ type: \'inside\', }], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'line\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月销售量\', type: \'line\', label: { normal: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } }, }, clipOverflow: false, symbolSize: 10, data: ylSeriesData, areaStyle: { color: { type: \'linear\', x: 0, y: 0, x2: 0, y2: 1, colorStops: [{ offset: 0, color: \'rgba(255,168,1,0.8)\' // 0% 处的颜色 }, { offset: 1, color: \'rgba(255,168,1,0.2)\' // 100% 处的颜色 }], } } }] }; /* 第三个图表的配置--加油笔数 --柱状图 */ var option3 = { color: [\'#64bf0f\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: [{ name: \'本月加油笔数\', type: \'bar\', barWidth: \'26%\', data: jybsSeriesData, itemStyle: { barBorderRadius: [30, 30, 0, 0], }, label: { show: true, position: \'top\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand(params.value); } } }] }; /* 第四个图表的配置--税额 --柱状图 */ var option4 = { color: [\'#ea3c33\'], tooltip: { trigger: \'axis\', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: \'shadow\' // 默认为直线,可选为:\'line\' | \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].data); } return res; } }, dataZoom: [{ type: \'inside\', }], grid: { top: \'30\', left: \'1%\', right: \'1%\', bottom: \'1%\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ axisTick: { show: false, }, }], series: [{ name: \'本月销售额\', type: \'bar\', barWidth: \'30%\', label: { normal: { show: true, position: \'top\', rotate: \'20\', color: \'#424242\', fontSize: 12, formatter: function(params) { return formatThousand2(params.value); } } }, data: seSeriesData }] }; myChart1 && myChart1.setOption(option1, true); myChart2 && myChart2.setOption(option2, true); myChart3 && myChart3.setOption(option3, true); myChart4 && myChart4.setOption(option4, true); // 解决tab切换不显示问题 在加载窗口后重新渲染。 $(\'a[data-toggle="tab"]\').on(\'shown.bs.tab\', function(e) { if ($(\'#echarts1\').length > 0) { myChart1.resize(); } if ($(\'#echarts2\').length > 0) { myChart2.resize(); } if ($(\'#echarts3\').length > 0) { myChart3.resize(); } if ($(\'#echarts4\').length > 0) { myChart4.resize(); } }); } var myChart5; function createCollectEcharts2(data){ var color1 = "#EA1E1E"; var color2 = "#ED8913"; var color3 = "#57B115"; var xAxisData = []; var seriesData = []; var series = []; for (var i = 0, size = data.dataList.length; i < size; i++) { xAxisData.push(data.dataList[i].sjjc); } for (var i = 0, size = data.dataList.length; i < size; i++) { if(i == 0){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color1} }); }else if(i == 1){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color2} }); }else if(i == 2){ seriesData.push({ value : data.dataList[i].bq_zje, itemStyle : {color: color3} }); }else{ seriesData.push(data.dataList[i].bq_zje); } } series.push( { name: \'总销售额\', type: \'bar\', barWidth: \'36%\', label: { normal: { show: false, position: \'top\', color: \'#424242\', fontSize: 12, } }, data: seriesData } ); // 指定图表的配置项和数据 var textBr = function(value) { // debugger var ret = ""; // 拼接加\n返回的类目项 var maxLength = 3; // 每项显示文字个数 var valLength = value.length; // X轴类目项的文字个数 var rowN = Math.ceil(valLength / maxLength); // 类目项需要换行的行数 if (rowN > 1) // 如果类目项的文字大于3, { for (var i = 0; i < rowN; i++) { var temp = ""; // 每次截取的字符串 var start = i * maxLength; // 开始截取的位置 var end = start + maxLength; // 结束截取的位置 // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 temp = value.substring(start, end) + "\n"; ret += temp; // 凭借最终的字符串 } return ret; } else { return value; } } // 基于准备好的dom,初始化echarts实例 if ($(\'#echarts5\').length > 0) { myChart5 = echarts.init(document.getElementById(\'echarts5\')); } /* 第5个图表的配置--top分析排名 --柱状图 */ var option5 = { color: [\'#01a1ff\'], dataZoom: [{ type: \'inside\', }], tooltip: { trigger: \'axis\', axisPointer: { type: \'shadow\' }, formatter:function(params){ var res = params[0].name; for (var i = 0; i < params.length; i++) { res += "<br>"+params[i].marker+params[i].seriesName+":"+formatThousand2(params[i].value); } return res; } }, grid: { top: \'10\', left: \'1%\', right: \'1%\', bottom: \'20\', containLabel: true, }, xAxis: [{ data: xAxisData, axisTick: { show: false, }, axisLabel: { formatter: function(value) { return textBr(value); } } }], yAxis: [{ type: \'value\', axisTick: { show: false, }, }], series: series, }; myChart5 && myChart5.setOption(option5, true); } var myChart6; function createCollectEcharts3(data){ var zgqb; var titleText; var zgqsSeriesdata = []; var jybsSeriesdata = []; if(null != data.total){ zgqb = formatPercent2(data.total.zgqb); zgqsSeriesdata.push(data.total.zgqs); jybsSeriesdata.push(data.total.jybs); } titleText = "摘挂枪比:" + zgqb; // 散点图声明 var baseNumber = 45000; var variableNumber = 0; if ($(\'#echarts6\').length > 0) { myChart6 = echarts.init(document.getElementById(\'echarts6\')); } /* 第6个图表的配置--摘挂枪分析 --单轴散点图 */ var option6 = { title: { //text: \'摘挂枪比:60.00%\', text: titleText, left: \'center\', bottom: \'20\', textStyle: { fontSize: 13, fontWeight: \'bold\', color: [\'#ffb888\'], lineHeight: 12, }, }, legend: { data: [\'摘挂枪数\', \'加油笔数\'] }, singleAxis: { type: \'category\', top: \'70%\', axisLine: { show: false }, axisTick: { show: false } }, tooltip: { trigger: \'item\', }, series: [{ type: \'scatter\', name: \'摘挂枪数\', coordinateSystem: \'singleAxis\', //data: [300000], data: zgqsSeriesdata, symbolSize: function(value) { variableNumber = value; return Math.sqrt(baseNumber) * .8 }, symbolOffset: [0, \'-50%\'], itemStyle: { opacity: 1, color: \'#ac90cc\' }, label: { show: true, position: [\'38%\', \'7%\'], formatter: \'{c}\', color: \'#fff\', formatter: function(params) { return formatThousand(params.value); } } }, { type: \'scatter\', name: \'加油笔数\', coordinateSystem: \'singleAxis\', //data: [214400], data: jybsSeriesdata, symbolSize: function(value) { if (value >= variableNumber) return Math.sqrt(baseNumber) * .8 else return Math.sqrt(value / variableNumber * baseNumber) * .8 }, symbolOffset: [0, \'-50%\'], itemStyle: { opacity: 1, color: \'#ffb888\' }, label: { show: true, position: \'inside\', formatter: \'{c}\', color: \'#fff\', formatter: function(params) { return formatThousand(params.value); } } }] }; myChart6 && myChart6.setOption(option6, true); } /* 窗口自适应,关键代码 */ window.onresize = function() { if ($(\'#echarts1\').length > 0) { myChart1.resize(); } if ($(\'#echarts2\').length > 0) { myChart2.resize(); } if ($(\'#echarts3\').length > 0) { myChart3.resize(); } if ($(\'#echarts4\').length > 0) { myChart4.resize(); } if ($(\'#echarts5\').length > 0) { myChart5.resize(); } if ($(\'#echarts6\').length > 0) { myChart6.resize(); } };