BarChart_wev8.js 4.31 KB
define("BarChart_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}">\t<div class="wev-chart-container">\t\t{@if title}\t\t<div class="wev-chart-title">${title}</div>\t\t{@/if}\t\t$${loading.content}\t\t<div class="wev-chart" style="${style}"></div>\t\t<div class="wev-error" style="display:none;"></div>\t</div></div>'}),define(["mUtil","Component","wev-loading","chartHelper"],function(F,a,i,P){return a.init(function(t){var o,$,r={};a.super(this,t),this.type="BarChart",this.tpl=this.type+"_html",this.css="chart_css",this.components={loading:new i({delay:300,animation:1})};var C=this.viewModel={data:[],dataAxis:"xAxis",height:300,title:{show:!1,x:"center",y:0,text:"",subtext:""},grid:{},legend:{show:!0,bottom:0,textStyle:{color:"#333"}},axisLabel:{interval:"auto",rotate:0,fontSize:12},isShowMarkPoint:!1,isShowMarkLine:!1,color:"#c23531,#2f4554,#61a0a8,#d48265,#91c7ae,#749f83,#ca8622,#bda29a,#6e7074,#546570,#c4ccd3",labelFormat:"",advancedSearch:{},standalone:!0};this.beforeMount=function(){var t="",a=parseFloat(C.height)||300,i=parseFloat(C.width);if(t+="height:"+a+"px;",t+=i&&"width:"+i+"px;"||"",C.style=t,F.isString(C.click)&&""!=C.click){var e=C.click;C.click=function(t){var a=e.replace(/\{_chart_name}/g,t.name).replace(/\{_chart_seriesName}/g,t.seriesName).replace(/\{_chart_value}/g,t.value);$u(a)}}C.title=C.title.text||"";var o=C.grid;"yAxis"==C.dataAxis?(o.right=o.right||(C.isShowMarkLine?30:12),o.top=C.isShowMarkPoint?45:15):(o.right=o.right||(C.isShowMarkPoint?20:12),o.top=C.isShowMarkPoint?45:C.isShowMarkLine?20:15),o.left=o.left||10,o.bottom=C.legend.show?35:10,o.containLabel=!0,C.grid=o},this.mounted=function(){o=this.$el.find(".wev-error"),$=this.$el.find(".wev-chart"),this.refresh()},this.refresh=function(){var t=this.components.loading;t.setRefs(this.$comp,"wev-refreshing"),t.show();var a=t.hide.bind(t);C.standalone&&F.isArray(C.data)?r.buildChart(C.data,a):r.loadData(a)},this.cacheSearchLast=function(t){C.searchLast=t},r.loadData=function(a){var t=C.data,i=this,e=(new Date).valueOf();i.timestamp=e,C.standalone||(t=F.getActionUrl(this.type,{action:"getDatas",mec_id:C.id},this.pageid)),t&&F.getJSON(t,{},function(t){e==i.timestamp&&(r.buildChart(t.data,a),o.html("").hide(),C.advancedSearch.enable&&(C.toolbox={showTitle:!1,itemSize:28,right:C.grid.right||20,top:C.grid.top||20,feature:{myTool:{show:!0,icon:"image:///mobilemode/mobile/images/plugin/filter.png",onclick:function(){require(["mService"],function(t){t.show("customsearch",{id:i.id,pageid:i.pageid,searchLast:C.searchLast||{},conditions:C.advancedSearch.asFields,title:C.title||""})})}}}}))},function(t){o.html(t).show(),$.hide(),F.isFunction(a)&&a.call(this)})},r.buildChart=function(A,_){require(["echarts"],function(t){for(var a=t.init($[0]),i=[],e=[],o=[],r=0;r<A.length;r++){var n=A[r],l=0;for(var s in n){var c=n[s];if(0==r&&0<l&&i.push(s),0==l&&e.push(c),0<l){(b=o[l-1])||(b={},o[l-1]=b),0==r&&(b.name=s);var h=b.data;h||(h=[],b.data=h),h.push(c)}l++}}var d=C.isShowMarkPoint,m=C.isShowMarkLine,u=[],p=[];C.color&&(p=C.color.split(","));var v=1==o.length&&0<p.length;for(r=0;r<o.length;r++){var f=o[r].data,g=Math.max.apply(null,f),y=Math.min.apply(null,f);v&&(f=[],o[r].data.forEach(function(t,a){g==t&&(g=a),y==t&&(y=a),f.push({value:t,itemStyle:{color:p[a%p.length]}})}));var b={name:o[r].name,type:"bar",data:f,barMaxWidth:35};d&&(b.markPoint={data:[{type:"max",name:"最大值",itemStyle:{color:v?p[g]:null}},{type:"min",name:"最小值",itemStyle:{color:v?p[y]:null}}],symbolSize:50,itemStyle:{normal:{label:{show:!0,formatter:function(t){return P.formatNumber(t.value,C.labelFormat)}}}}}),m&&(b.markLine={data:[{type:"average",name:"平均值"}],itemStyle:{normal:{label:{show:!0,formatter:function(t){return P.formatNumber(t.value,C.labelFormat)}}}}}),u.push(b)}var w=C.dataAxis||"yAxis",x=C.legend;x.data=i,x.bottom=5;var S=[{type:"category",data:e,axisLabel:C.axisLabel}],k=[{type:"value"}],M={tooltip:{trigger:"axis",axisPointer:{type:"shadow"},confine:!0,position:function(t,a,i,e,o){i.style.transform="translateZ(0)"}},grid:C.grid,legend:x,calculable:!0,xAxis:"yAxis"==w?S:k,yAxis:"yAxis"==w?k:S,series:u,toolbox:C.toolbox},L=C.color;L&&(M.color=L.split(",")),a.setOption(M),C.click&&F.isFunction(C.click)&&a.on("click",function(t){C.click.call(this,t)}),F.isFunction(_)&&_.call(this)})},r.buildChart=r.buildChart.bind(this),r.loadData=r.loadData.bind(this)})});