TA的每日心情 | 奋斗 3 天前 |
---|
签到天数: 802 天 [LV.10]以坛为家III
管理员
- 积分
- 726006
|
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.sjjc);
jeSeriesData.push(data.dataList.je);
ylSeriesData.push(data.dataList.yl);
jybsSeriesData.push(data.dataList.jybs);
seSeriesData.push(data.dataList.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.marker+params.seriesName+":"+formatThousand2(params.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.marker+params.seriesName+":"+formatThousand2(params.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.marker+params.seriesName+":"+formatThousand(params.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.marker+params.seriesName+":"+formatThousand2(params.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.sjjc);
}
for (var i = 0, size = data.dataList.length; i < size; i++) {
if(i == 0){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color1}
});
}else if(i == 1){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color2}
});
}else if(i == 2){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color3}
});
}else{
seriesData.push(data.dataList.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.marker+params.seriesName+":"+formatThousand2(params.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.sjjc);
jeSeriesData.push(data.dataList.je);
ylSeriesData.push(data.dataList.yl);
jybsSeriesData.push(data.dataList.jybs);
seSeriesData.push(data.dataList.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.marker+params.seriesName+":"+formatThousand2(params.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.marker+params.seriesName+":"+formatThousand2(params.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.marker+params.seriesName+":"+formatThousand(params.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.marker+params.seriesName+":"+formatThousand2(params.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.sjjc);
}
for (var i = 0, size = data.dataList.length; i < size; i++) {
if(i == 0){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color1}
});
}else if(i == 1){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color2}
});
}else if(i == 2){
seriesData.push({
value : data.dataList.bq_zje,
itemStyle : {color: color3}
});
}else{
seriesData.push(data.dataList.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.marker+params.seriesName+":"+formatThousand2(params.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();
}
};
|
|