budgetCostBreakdown-statis-usercostper.jsp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <%@include file="/context/mytags.jsp"%>
  6. <t:base type="jquery"></t:base>
  7. <script src="plug-in/echarts/echarts.js" type="text/javascript"></script>
  8. <script src="webpage/cn/com/lzt/budget/data/js/budget_tools.js" type="text/javascript"></script>
  9. <link rel="stylesheet" type="text/css" href="webpage/cn/com/lzt/budget/costbreakdown/statis.css">
  10. </head>
  11. <body>
  12. <div id="e1" style="width:100%;height:100%"></div>
  13. </body>
  14. </html>
  15. <script type="text/javascript">
  16. $(function(){
  17. var spread = top.spread;
  18. var sheet =spread.getActiveSheet();
  19. var postTypeArray=[
  20. {k:"bgs",v:0,name:"办公室",findKey:["bgs-wbygfy","bgs-zyygfy","bgs-rywzfy"]},
  21. {k:"kf",v:0,name:"客服",findKey:["kf-wbygfy","kf-zyygfy","kf-rywzfy"]},
  22. {k:"ba",v:0,name:"保安",findKey:["ba-wbygfy","ba-zyygfy","ba-rywzfy"]},
  23. {k:"bj",v:0,name:"保洁",findKey:["bj-wbygfy","bj-zyygfy","bj-rywzfy"]},
  24. {k:"gc",v:0,name:"工程",findKey:["gc-wbygfy","gc-zyygfy","gc-rywzfy"]},
  25. {k:"hw",v:0,name:"会务",findKey:["hw-wbygfy","hw-zyygfy","hw-rywzfy"]},
  26. {k:"sg",v:0,name:"宿管",findKey:["sg-wbygfy","sg-zyygfy","sg-rywzfy"]},
  27. {k:"qt",v:0,name:"其他",findKey:["qt-wbygfy","qt-zyygfy","qt-rywzfy"]}
  28. ]
  29. loopAll(sheet,function(row,col){
  30. var cellTag = sheet.getTag(row,col);
  31. if(!cellTag) return;
  32. var findKey = cellTag.findKey;
  33. if(!findKey) return;
  34. for(var i=0;i<postTypeArray.length;i++){
  35. var postType = postTypeArray[i];
  36. var typeFindKey =postType.findKey;
  37. if($.inArray(findKey,typeFindKey)!=-1){
  38. var value = sheet.getValue(row,col);
  39. if(value){
  40. postType.v = postType.v+parseFloat(value);
  41. }
  42. }
  43. }
  44. })
  45. var option = {
  46. // color: ["#2f89cf"],
  47. title: {
  48. text: '人员费用占比分析',
  49. subtext: '',
  50. left: 'center'
  51. },
  52. grid: {
  53. containLabel: true
  54. },
  55. tooltip: {
  56. trigger: "axis",
  57. axisPointer: {
  58. type: 'shadow'
  59. }
  60. },
  61. legend: {
  62. orient: 'horizontal',
  63. left: 'left',
  64. data: []
  65. },
  66. xAxis: [
  67. {
  68. 'type':'category',
  69. 'data':[]
  70. }
  71. ],
  72. yAxis: [
  73. {
  74. type: 'value',
  75. name: ''
  76. }
  77. ],
  78. series: [
  79. {
  80. name: '',
  81. type: 'bar',
  82. radius: '55%',
  83. center: ['50%', '60%'],
  84. data: [],
  85. emphasis: {
  86. itemStyle: {
  87. shadowBlur: 10,
  88. shadowOffsetX: 0,
  89. shadowColor: 'rgba(0, 0, 0, 0.5)'
  90. }
  91. }
  92. },
  93. {
  94. name: '',
  95. type: 'pie',
  96. center: ['85%', '35%'],
  97. radius: '28%',
  98. z: 100,
  99. tooltip: {
  100. trigger: 'item',
  101. formatter: '{c} ({d}%)'
  102. },
  103. legend:{}
  104. }
  105. ]
  106. };
  107. postTypeArray.sort(function(o1,o2){
  108. return o2.v-o1.v;
  109. });
  110. var xItem = [];
  111. var xItemData = [];
  112. var pieItemData=[];
  113. for(var i=0;i<postTypeArray.length;i++){
  114. var postType = postTypeArray[i];
  115. xItem.push(postType.name);
  116. xItemData.push(postType.v);
  117. pieItemData.push({value:postType.v,name:postType.name})
  118. }
  119. // option.legend.data = xItem;
  120. option.xAxis[0].data = xItem;
  121. option.series[0].data = xItemData;
  122. option.series[1].data = pieItemData;
  123. var myChart = echarts.init(document.getElementById('e1'));
  124. setTimeout(function(){
  125. myChart.setOption(option,true);
  126. myChart.resize();
  127. },200);
  128. })
  129. </script>