eval-process-bar.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * Created by Maple on 2016/4/2.
  3. */
  4. /**
  5. * 用于将页面 这种格式的统计数据[0,1,3,1] 渲染成进度条的形式
  6. */
  7. $(function(){
  8. renderProcessBar();
  9. });
  10. function renderProcessBar(){
  11. $(".eval-process-bar").each(function(){
  12. var $this = $(this);
  13. var cntsString = $this.attr('value');
  14. if(cntsString){
  15. var evalLevelCnts = $.parseJSON(cntsString);
  16. buildProcessBar(evalLevelCnts,$this);
  17. }
  18. });
  19. function buildProcessBar(evalLevelCnts,processBarElement){
  20. var processBarColor = ['success','info','warning','danger'];
  21. var levels = ['优','良','中','差'];
  22. var sum = eval(evalLevelCnts.join("+"));
  23. var processPercents = [];
  24. if(sum>0){
  25. for(var i =0;i<evalLevelCnts.length;i++){
  26. processPercents.push( parseInt( (evalLevelCnts[i]/sum)*100 ) );
  27. }
  28. }else{
  29. processPercents = [25,25,25,25];
  30. }
  31. var evalProcessBar = "<div class='progress-bar progress-bar-@1' style='width: @2%'>"
  32. +"<span >@4 @3个( @2% )</span></div>";
  33. processBarElement.html('');
  34. for(var j=0;j<4;j++){
  35. var tmpBar = evalProcessBar;
  36. tmpBar = tmpBar.replace(/@1/g,processBarColor[j]);
  37. tmpBar = tmpBar.replace(/@2/g,processPercents[j]);
  38. tmpBar = tmpBar.replace(/@3/g,evalLevelCnts[j]);
  39. tmpBar = tmpBar.replace(/@4/g,levels[j]);
  40. processBarElement.append(tmpBar);
  41. }
  42. }
  43. }