renderings
1. Pie chart statistics page div
<div class="left_top2" onclick="ak_left_click2.top1Click();"> <div class="left2_bg"> <div class="visual_title" style="margin-bottom: 0px;height: 27px;"> <span class="Top_title" style="display: inline-block;position: relative;z-index: 10;width: 30%; margin-left: 12px; font-size: 14px; line-height: 35px; text-align: center; margin-top: -9px;white-space: nowrap;">Contract price range (quantity)</span> <img src="images/ksh33.png" style="width: 100%;position: absolute;bottom: 0;left: 0;"> </div> <div class="visual_box left2_top1" style="height: 90%;"> <div class="window_echarts1" id="right_top2_left" style="width: 50%;height: 90%;top: 16px;"></div> <div class="echarts_txt" style="right: 5px" id="right_top2_left_right" style="width: 40%;"> <div class="ech_item" > <i style="background-color: #5470c6;"></i> <span class="level_num">Less than US$5 million</span> <span class="level_main" id="level_main_1"></span> </div> <div class="ech_item" > <i style="background-color: #91cc75;"></i> <span class="level_num" style="white-space: nowrap;">USD 5 million-USD 10 million</span> <span class="level_main" id="level_main_2"></span> </div> <div class="ech_item" > <i style="background-color: #fac858;"></i> <span class="level_num" style="white-space: nowrap;">USD 10 million-USD 50 million</span> <span class="level_main" id="level_main_3"></span> </div> <div class="ech_item" > <i style="background-color: #ee6666;"></i> <span class="level_num">USD 50 million-USD 100 million</span> <span class="level_main" id="level_main_4"></span> </div> <div class="ech_item" > <i style="background-color: #73c0de;"></i> <span class="level_num">USD 100 million-USD 500 million</span> <span class="level_main" id="level_main_5"></span> </div> <div class="ech_item" > <i style="background-color: #3ba272;"></i> <span class="level_num">More than US$500 million</span> <span class="level_main" id="level_main_6"></span> </div> </div> </div> </div> </div>
2. Pie chart script
Call the backend interface and pass the query results to the callback function
getData:function(){ var temp = { currency: 2, // Currency 2: US dollar 1: RMB Authorization: akglobe_config.token, }; // Under construction, new signature, all variables var sgzt_type3 = localStorage.getItem('sgzt_type3'); if(sgzt_type3 == 1){ var projectStatus = akglobe_config.underConstruction; if(projectStatus){ projectStatus = projectStatus.join("','"); projectStatus = "'" + projectStatus + "'"; } temp.projectstatus = projectStatus; }else if(sgzt_type3 == 2){ var year = (new Date).getFullYear(); temp.startTime = ak_right.changeDateFormat2(new Date(year, 0, 1).getTime()); temp.endTime = ak_right.changeDateFormat2(new Date(year, 11, 31).getTime()); } var options = new Object(); options.url = "/manage-api/getNationItemMoney"; options.type = "get"; options.data = temp; options.errorback = akglobe_config.errBack; options.callback = function(data) { ak_left2Top1.callBackLeft2Top1GET(data); } // If it is a test environment, use fake data if(typep002==2){ ak_left2Top1.callBackLeft2Top1GET(ak_ztqg.getNationItemMoney); }else{ akglobe_config.ajaxQuery(options); } },
Callback function for query results
callBackLeft2Top1GET:function(data){ if (data & amp; & amp; data.flag) { var data = data.rows; var dataAll = []; for (var i = 0; i < data.length; i + + ) { if(data[i].name == null || data[i].name == undefined || data[i].name == ""){ continue; } \t\t\t\t var obj = new Object(); obj.name = data[i].name obj.value = data[i].count dataAll.push(obj); if(data[i].name == "Less than 5 million US dollars"){ $("#level_main_1").text(data[i].count); }else if(data[i].name == "USD 5 million-USD 10 million"){ $("#level_main_2").text(data[i].count); }else if(data[i].name == "USD 10 million-USD 50 million"){ $("#level_main_3").text(data[i].count); }else if(data[i].name == "USD 50 million-USD 100 million"){ $("#level_main_4").text(data[i].count); }else if(data[i].name == "USD 100 million-USD 500 million"){ $("#level_main_5").text(data[i].count); }else if(data[i].name == "More than US$500 million"){ $("#level_main_6").text(data[i].count); } } var options = new Object(); options.data = dataAll; ak_left2Top1.callBackLeft2Top1(options); } },
3.echarts pie chart code
Set bar chart to automatically calculate width
var objdiv= $('#ak_czRight2'); //document.getElementById('left1_top2_bar'); var docuWidth = $(document).width(); var wt=docuWidth * config.echartsDIvWidht; objdiv.width(wt);
To prevent multiple loading and repeated click events, closing must be prohibited first
myChart1.off('click');//To prevent multiple loading and repeated click events, closing must be disabled first
callBackLeft2Top1: function(options) { var mainOption = { tooltip: { trigger: 'item', formatter: "{b} & amp;nbsp;<br/> {c} ({d}%)", position: function (point, params, dom, rect, size) { //The reference coordinate system of mouse coordinates and prompt box position is: the upper left corner of the outer div is the origin, the x-axis is to the right, and the y-axis is downward. //Prompt box position var x = 0; //x coordinate position var y = 0; // y coordinate position \t\t\t\t //Current mouse position var pointX = point[0]; var pointY = point[1]; \t\t\t\t // Outer div size // var viewWidth = size.viewSize[0]; // var viewHeight = size.viewSize[1]; \t\t\t\t // Prompt box size var boxWidth = size.contentSize[0]; var boxHeight = size.contentSize[1]; \t\t\t\t // boxWidth > pointX means the prompt box cannot be placed on the left side of the mouse if (boxWidth > pointX) { x = 150; } else { // Place it on the left x = pointX - boxWidth; } \t\t\t\t // boxHeight > pointY means the prompt box cannot be placed on the mouse if (boxHeight > pointY) { y = 20; } else { // It can fit on top y = pointY - boxHeight; } \t\t\t\t return [x, y]; }, }, series: [{ name: 'Price level quantity statistics', type: 'pie', // roseType: 'area', radius: '95%', // color: config.colorList, color: config.pieColor, label: { normal: { show: true, position: 'inner', formatter: '{d}%', textStyle: { fontSize: '15px', color: '#222222' }, }, }, center: ['50%', '50%'], data: options.data, minAngle:20, itemStyle: { label: { // show:true, // formatter:'{d}%' show: true, formatter: function(val) { // Let the text in series wrap console.log(val); return val.name.split(" ").join("\ "); }, rich: { // This 'value' style indicates that the text color is white dark: { color: '#000', } } }, labelLine: { show: true, length: 2, // color: ['#00a3db', '#f7c024', '#d7eff5', '#ffdd19', '#eb8d2d', // '#6bc7e6' // ], }, emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; var objdiv= $('#right_top2_left'); var docuWidth = $(document).width(); var wt=docuWidth * config.echartsDIvWidht; objdiv.width(wt); var myChart1 = echarts.init(document.getElementById('right_top2_left')); myChart1.setOption(mainOption); },