function tablenumber() {

$.ajax({

type : "get",

url : "../res/error.json",

dataType : "json",

success : function(data){

console.log(data);

vm.SuccessNumber = data.SuccessNumber;

vm.failNumber = data.failNumber;

vm.malfunctionNumber = data.malfunctionNumber;

var arr = [];

arr[0] = {};

arr[0].value = data.malfunctionNumber;

arr[0].name = (arr[0].value / (data.failNumber + data.SuccessNumber)*100).toFixed(2) + '%';

arr[1] = {};

arr[1].value = data.failNumber;

arr[1].name = (arr[1].value / (data.failNumber + data.SuccessNumber)*100).toFixed(2) + '%';

arr[2] = {};

arr[2].value = data.SuccessNumber;

arr[2].name = (arr[2].value / (data.failNumber + data.SuccessNumber)*100).toFixed(2) + '%';

option.series[0].data=arr;

myChart.setOption(option);

//console.log(option.series[0].data)

var oLen=option.series[0].data.length;

var json=[];

for(var i=0;i<oLen;i++){

var num = option.series[0].data[i].value;

json.unshift(num/100);

}

json.forEach(function(t, i){

createCircle('small-chart' + i, t, colorpic[i])

})

// option.series[0].data[0].value = vm.malfunctionNumber;

// console.log(option.series[0].data[0].value);

}

})

}

var vm = new Vue({
el : "#app",
data(){
return{
SuccessNumber : "",
failNumber : "",
malfunctionNumber : "",
echarData: []
}
}
})
var myChart = echarts.init(document.getElementById('main'));
var names = ['成功数', '故障数', '失败数'];
var colors = ['#6562cc','#f3545a','#fac46f'];
option = {
grid: {
top: 0,
left: 0,
bottom: 0,
right: 0
},
tooltip: {
trigger: 'item',
formatter: function(params) {
return names[params.dataIndex] + ':' + params.value + ' (' + params.name + ')';
}
},
calculable: true,
series: [{
type: 'pie',
radius: [0, document.body.offsetWidth > 320 ? 110 : 90],
roseType: 'area',
animation: false,
// data: vm.echarData,
// data: [
// {
// value: 10,
// name: (10 / 100 * 100).toFixed(2) + '%'
// },
// {
// value: 20,
// name: (20 / 100 * 100).toFixed(2) + '%'
// },
// {
// value: 80,
// name: (80 / 100 * 100).toFixed(2) + '%'
// }
// ],
itemStyle: {
normal: {
color: function(params) {
return colors[params.dataIndex];
}
}
}
}]
};
// myChart.setOption(option);
// //console.log(option.series[0].data)
// var oLen=option.series[0].data.length;
// var json=[];
// for(var i=0;i<oLen;i++){
// var num = option.series[0].data[i].value;
// json.unshift(num/100);
// }
//console.log(typeof json);
/**
* @param {Object} id
* @param {Object} percent 百分比 0-1
* @param {Object} color 颜色
*/
function createCircle(id, percent, color) {
var wrap = document.getElementById(id);
var w = wrap.offsetWidth * 2;
var canvas = document.createElement('canvas');
canvas.height = w;
canvas.width = w;
wrap.appendChild(canvas);
var ctx = canvas.getContext("2d");
ctx.lineCap = 'round';
ctx.strokeStyle = color;
ctx.lineWidth = 12;
ctx.beginPath();
ctx.arc(w * 0.5 + 1, w * 0.5 + 2, w * 0.3 - 2, -0.5 * Math.PI, (percent - 0.25) * 2 * Math.PI);
ctx.stroke();
}
var colorpic=['#fac46f','#f3545a','#6562cc'];

echarts 中 请求后台改变数据的更多相关文章

  1. 一、表单和ajax中的post请求&&后台获取数据方法

    一.表单和ajax中的post请求&&后台获取数据方法 最近要做后台数据接收,因为前台传来的数据太过于混乱,所以总结了一下前台数据post请求方法,顺便写了下相对应的后台接收方法. 前 ...

  2. struts2中从后台读取数据到<s:select>

    看到网上好多有struts2中从后台读取数据到<s:select>的,但都 不太详细,可能是我自己理解不了吧!所以我自己做了 一个,其中可能 有很多不好的地方,望广大网友指出 结果如图 p ...

  3. servlet中请求转发获取数据等,,,

    String uname= req.getParameter("uname");  获取请求的字符串 req.setAttribute("str"," ...

  4. WebApi 中请求的 JSON 数据字段作为 POST 参数传入

    使用 POST 方式请求 JSON 数据到服务器 WebAPI 接口时需要将 JSON 格式封装成数据模型接收参数.即使参数较少,每个接口仍然需要单独创建模型接收.下面方法实现了将 JSON 参数中的 ...

  5. echarts中饼状图数据太多进行翻页

    echarts饼状图数据太多 echarts 饼状图内容太多怎么处理 有些时候,我们饼状图中echarts的数据可能会很多. 这个时候展示肯定会密密麻麻的.导致显示很凌乱 我们需要'翻页'类似表格展示 ...

  6. Angular4中使用后台去数据,Swiper不能滑动的解决方法(一)

      Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,很受很多设计师的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide ...

  7. Fetch请求后台的数据

    <style> #btn{ width: 50px; height: 50px; background-color: red; } #output{ width: 100px; heigh ...

  8. ES6+Vue+webpack项目,在ie11中请求后台接口后数据更新,但是页面没有刷新?

    因为ie11下,如果GET请求请求相同的URL,默认会使用之前请求来的缓存数据,而不会去请求接口获取最新数据,我用的解决方法是在每个请求发送前,拦截请求并给请求接口的URL后加一个时间戳(new Da ...

  9. echarts折线图动态改变数据时的一个bug

    echarts折线图中当增加dataZoom,修改start大于0的时候,会出现折线混乱,变成竖直的线,绘制有问题. 解决方法,在dataZoom中增加filterMode: 'empty' http ...

随机推荐

  1. Implementing Software Timers - Don Libes

         在看APUE习题10.5的时候提示了这篇文章,讲的非常清晰,设计也非常巧妙,所以把原文放在这里.值得自己去实现. Title: Implementing Software Timers By ...

  2. mongo集群的监控(一)

    由于工作中总是遇到一些私有化部署和不同环境的mongo server异常,为了统一方便的监控其运行情况,我筛选了多个工具,最终选择了motop. motop是一款用python编写的实时监控工具,可以 ...

  3. CON1023 明明的计划

    比赛说明 邀请码:a08f 来源:自出 描述:无 难度:NOIP提高组day1 赛时答疑:私信询问 奖励:无 试题列表 赛题 #A:数学题赛题 #B:明明泡妹子赛题 #C:明明去酒店 U5012 数学 ...

  4. ⭐linux主次设备号介绍

    1.主设备号与次设备号的功能 在Linux内核中,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务:而次设备号则用来标识具体且唯一的某个设 ...

  5. Getting Installation aborted (Status 7) ApplyParsePerms: lsetfilecon of /syst...【转】

    OTA升级失败:原文http://en.miui.com/thread-112197-1-1.html Do you get this "Status 7" error in Re ...

  6. PCB决策引擎:多维决策表转决策树

    准备设计一个PCB使用的决策引擎,需要用到决策表,而单维决策表不能满足业务要求, 这里主要是为了实现:用户编辑的是决策表,实际底层存储的是树结构,树的的各个节点挂上业务决策逻辑. 这里将多维决策表转决 ...

  7. PCB MS SQL 小写转大写

    由于SQL Server允许为小写进入 ,导致数据库中存在小写,在数据集成到MES或ERP时报错,Oracle要求大写导致, 需转换为大写,可通过以下语句,查询所有小写数据,再更新.

  8. go package包的使用

    一.标准库 引入 在我们之前所写的所以代码中,我们基本上可以看到fmt这个导入的包,但是我们却不知道如何去写这种包. 如果我们可以自己去写,那么我们就可以将一个功能的集合统一的放入包中,便于以后使用, ...

  9. Java 位运算符 &、|、^、~、<<、>>、>>>

      撸了N久的代码,但是突然冒出来个位运算,我就蒙蔽了,这是什么?我是谁?我在干什么?我在哪? 1)闲扯 关于位运算符无非也就 与(&).或(|).异或(^).取反(~).左移(<< ...

  10. Cracking the Coding Interview 8.7

    Given a infinite number of quarters(25cents), dimens(10cents), nickels(5cents) and pennies(1cent), w ...