柱状图自定义标签显示

我想改成业绩显示完成率,基数和目标都显示数值,有大佬看下怎么修改JS么.

function(){var points = this.points;     

var a = '完成率:'+ '<br/>';     

var b;

var c;   

var d; 

for(var i = 0, len = points.length; i < len; i++) {          

if(points[i].series.visible){ 

if(this.points[i].seriesName=="业绩") 

b = FR.contentFormat(this.points[i].value, '#0.00');

                               if(this.points[i].seriesName=="年初基数") 

c = FR.contentFormat(this.points[i].value, '#0.00');

           else    if(this.points[i].seriesName=="目标") 

                     d= FR.contentFormat(this.points[i].value, '#0.00');  

                                   }                  } 

  a+=FR.contentFormat( (b-c)/(d-c) *100, '#0.00')+ '%';    return a; }

abd26c9e62567e6985e280a33cc46b1.png

FineReport 7896321 发布于 2023-2-7 15:09
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-2-7 21:22

这样就行了,数据如下:

image.png

自定义的代码:

function(){

var points = this.points;

var a = '完成率:'+ '';   

var b;

var c;   

var d; 

for(var i = 0, len = points.length; i < len; i++) {          

if(points[i].series.visible){ 

if(this.points[i].seriesName=="业绩") 

b = FR.contentFormat(this.points[i].value, '#0.00');

                               if(this.points[i].seriesName=="年初基数") 

c = FR.contentFormat(this.points[i].value, '#0.00');

           else    if(this.points[i].seriesName=="目标") 

                     d= FR.contentFormat(this.points[i].value, '#0.00');  

                                   } } 

    if(this.seriesName=="业绩") {

  a+=FR.contentFormat( (b-c)/(d-c) *100, '#0.00')+ '%';    return a; }

 else if(this.seriesName=="年初基数") {

  return c;

 }

 else {

return d;

 }

}

-----------------------最后预览的结果---------------------

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2023-2-7 15:15

function(){var points = this.points;     

var a = '完成率:'+ '';     

var b;

var c;   

var d; 

for(var i = 0, len = points.length; i < len; i++) {          

if(points[i].series.visible){ 

if(this.points[i].seriesName=="业绩") 

b = FR.contentFormat(this.points[i].value, '#0.00');

                               if(this.points[i].seriesName=="年初基数") 

c = FR.contentFormat(this.points[i].value, '#0.00');

           else    if(this.points[i].seriesName=="目标") 

                     d= FR.contentFormat(this.points[i].value, '#0.00');  

                                   }                  } 

  a+=FR.contentFormat( (b-c)/(d-c) *100, '#0.00')+ '%';    return a+"基数 "+c+"目标 "+d; }

===========================

就是最后return拼接下

  • 7896321 7896321(提问者) 基数得柱子像目标那个柱子一样,上面显示数值就行了,业绩得柱子上面显示完成率。
    2023-02-07 15:18 
  • snrtuemc snrtuemc 回复 7896321(提问者) 那就把最后的return在用if判断下,符合那个系列就拼接你需要的数据
    2023-02-07 15:21 
  • 7896321 7896321(提问者) 回复 snrtuemc 大佬,咋套,我不太会这个
    2023-02-07 15:31 
  • 3关注人数
  • 524浏览人数
  • 最后回答于:2023-2-7 21:22
    请选择关闭问题的原因
    确定 取消
    返回顶部