toContractStat.jsp 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. <%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html;charset=GBK">
  6. <title>合同报表</title>
  7. <link href="/shares/js/yw/master1/liger/skins/ynet/css/ligerui-all.css" rel="stylesheet" type="text/css" />
  8. <script type="text/javascript" src="/shares/js/common.js"></script>
  9. <script type="text/javascript" src="/shares/js/constant.js"></script>
  10. <link href="/shares/css/yw/master1/reset.css" rel="stylesheet" type="text/css" />
  11. <script type="text/javascript" src="/shares/datePicker/WdatePicker.js"></script>
  12. <script type="text/javascript" src="/shares/js/jquery-1.9.0.min.js"></script>
  13. <script type="text/javascript" src="/shares/highcharts/js/highcharts.js"></script>
  14. <script type="text/javascript" src="/shares/highcharts/js/modules/exporting.js"></script>
  15. <script type="text/javascript" src="/shares/highcharts/js/modules/data.js"></script>
  16. <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> -->
  17. <!-- <script src="http://code.highcharts.com/highcharts.js"></script> -->
  18. <link href="/shares/css/yw/master1/reset.css" rel="stylesheet" type="text/css" />
  19. <style type="text/css">
  20. body {
  21. overflow: hidden;
  22. background: #fff;
  23. }
  24. .default_search li{height:25px}
  25. .default_search ul{display:inline;width:250px;float:left;}
  26. .default_search li.text{float:left;width:151px;padding-top:5px;}
  27. .default_search li.title{float:left;width:90px;padding-top:9px;text-align: right;padding-left: 5px; font-size: 13px;font-weight: normal;}
  28. .search-button {padding-top:5px;float:left;}
  29. .default_search li input[type='text']{width:100px;background:#fff; height:18px;border-style: inherit; line-height: 18px}
  30. .default_search li select{height:20px;border-style: inherit; line-height: 21px; }
  31. </style>
  32. <script type="text/javascript">
  33. $(function ()
  34. {
  35. loadTypeTree("selectbutton",{type:"dept",tab:"1,2",backId:"dept_name_id",backName:"dept_name"});
  36. createQuarterChartForYear();
  37. });
  38. function createQuarterChartForYear() {
  39. var seriesDate = new Array();
  40. var sign_year = $("#sign_year").val();
  41. if("" == sign_year){
  42. document.getElementById("msg").innerHTML="<font color='red'>&nbsp;请选择年份!</font>";
  43. return;
  44. }else{
  45. document.getElementById("msg").innerHTML="";
  46. }
  47. $.ajax({
  48. type : "POST",
  49. url : "contractMoneyStat.do?task=getChartDataForYear&sign_year="
  50. + sign_year,
  51. dataType : 'json',
  52. async : false,
  53. success : function(data) {
  54. // 返回如下json 格式数据
  55. // {"data":[
  56. // { "mouth": "1", "val":"3"},
  57. // { "mouth": "2", "val":"6"},
  58. // { "mouth": "3", "val":"8"}
  59. //]}
  60. //对数据进行加工处理,也可以按你自己的需求进行处理
  61. if (data != null && data.length != 0) {
  62. for (var i = 0; i < data.length; i++) {
  63. //此处楼主需要显示的X轴为"X月份"这么个字符串,后台取得的数据而仅仅为数字,对此进行加工
  64. // quarter.push(data[i].contract_quarter + "季度");
  65. //也可以在对数据的处理放在highchart 中进行处理。
  66. // quarter_money.push(parseFloat(data[i].total_money));
  67. seriesDate[i] = new Array(data[i].contract_quarter
  68. + "季度", parseFloat(data[i].total_money));
  69. }
  70. }
  71. //若后台返回的数据仅仅是json 样子的的字符串
  72. //那需要将其格式化
  73. //然后即可对数据进行类似操作。
  74. var dataTmp = eval(data);
  75. /*
  76. ...
  77. */
  78. }
  79. });
  80. //
  81. //
  82. // downloadSVG: Download SVG vector image,
  83. // drillUpText: Back to {series.name}
  84. $('#container').highcharts({
  85. chart : {
  86. plotBackgroundColor : null,
  87. plotBorderWidth : null,
  88. plotShadow : false
  89. },
  90. lang : {
  91. printChart : '打印图表',
  92. downloadJPEG : '下载JPEG图片',
  93. downloadPDF : '下载PDF文件',
  94. downloadPNG : '下载PNG图片',
  95. downloadSVG : '下载SVG矢量图'
  96. },
  97. credits : {
  98. enabled : false
  99. },
  100. title : {
  101. text : $("#sign_year").val() + '年度季度合同额报表',
  102. style: {
  103. fontSize: "28px"
  104. }
  105. },
  106. tooltip : {
  107. pointFormat : '{series.name}: <b>{point.percentage:.1f}%</b>'
  108. },
  109. plotOptions : {
  110. pie : {
  111. allowPointSelect : true,
  112. cursor : 'pointer',
  113. dataLabels : {
  114. enabled : true,
  115. color : '#000000',
  116. connectorColor : '#000000',
  117. format : '<b>{point.name}</b>: {point.percentage:.1f} %'
  118. }
  119. }
  120. },
  121. series : [ {
  122. type : 'pie',
  123. name : '占比',
  124. data : seriesDate
  125. } ]
  126. });
  127. }
  128. function createQuarterChartForDept() {
  129. var dept_name_id = $("#dept_name_id").val();
  130. var name_ = [];
  131. var price_ = [];
  132. $.ajax({
  133. type : "POST",
  134. url : "contractMoneyStat.do?task=getChartDataForDept&dept_name_id="
  135. + dept_name_id,
  136. dataType : 'json',
  137. async : false,
  138. success : function(data) {
  139. var j = 0;
  140. if (data != null && data.length != 0) {
  141. for (var i = 0; i < data.length; i++) {
  142. if(data[i].GROUPNAME != undefined){
  143. name_[j] = data[i].GROUPNAME;
  144. price_[j] = data[i].contract_money;
  145. j++;
  146. }
  147. }
  148. }
  149. }
  150. });
  151. $('#container').highcharts({
  152. chart: {
  153. type: 'column'
  154. },
  155. lang : {
  156. printChart : '打印图表',
  157. downloadJPEG : '下载JPEG图片',
  158. downloadPDF : '下载PDF文件',
  159. downloadPNG : '下载PNG图片',
  160. downloadSVG : '下载SVG矢量图'
  161. },
  162. title: {
  163. text: "部门合同报表",
  164. style: {
  165. fontSize: "28px"
  166. }
  167. },
  168. credits : {
  169. enabled : false
  170. },
  171. xAxis: {
  172. categories: name_
  173. },
  174. yAxis: {
  175. min: 0,
  176. title: {
  177. text: '数值'
  178. }
  179. },
  180. tooltip: {
  181. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  182. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  183. '<td style="padding:0"><b>{point.y:.0f}</b></td></tr>',
  184. footerFormat: '</table>',
  185. shared: true,
  186. useHTML: true
  187. },
  188. plotOptions: {
  189. column: {
  190. pointPadding: 0.2,
  191. borderWidth: 0
  192. }
  193. },
  194. series: [{
  195. name: '金额',
  196. data: price_
  197. }]
  198. });
  199. }
  200. function changeQuarterChart(type){
  201. document.getElementById("container").innerHTML="";
  202. if(type == '0'){
  203. document.getElementById("quarterChartForYear").style.display="";
  204. document.getElementById("quarterChartForDept").style.display="none";
  205. createQuarterChartForYear();
  206. }else{
  207. document.getElementById("quarterChartForYear").style.display="none";
  208. document.getElementById("quarterChartForDept").style.display="";
  209. createQuarterChartForDept();
  210. }
  211. }
  212. </script>
  213. </head>
  214. <body>
  215. <div class="s_title b10 f6">
  216. <img src="/shares/images/master1/fqlc.png" width="27" height="26" /> 报表分析
  217. </div>
  218. <div class="container-layout" style="margin-top: 50px;">
  219. <div class="lc_b_div">
  220. <div class="lc_btn">
  221. <a href="#" class="f8" onclick="changeQuarterChart('0');" title="季度合同额报表">
  222. <img src="/shares/images/master1/lc_ico.png" width="19" height="21" /> 季度合同额报表
  223. </a>
  224. </div>
  225. <div class="lc_btn">
  226. <a href="#" class="f8" onclick="changeQuarterChart('1');" title="部门合同报表">
  227. <img src="/shares/images/master1/lc_ico.png" width="19" height="21" /> 部门合同报表
  228. </a>
  229. </div>
  230. </div>
  231. <div id="quarterChartForYear" class="default_search" style="margin: 0;">
  232. <ul class="list_search" >
  233. <li class="title" style="width: 100px;font-family:'新宋体';font-size:9pt;">年度:</li>
  234. <li class="text" style="width: 135px;"><input type="text" class="Wdate" name="sign_year" id="sign_year" onclick="WdatePicker({dateFmt:'yyyy'})"
  235. value="${requestScope.currentYear }"></li>
  236. </ul>
  237. <div style="float: left;">
  238. <input type="button" class="l-button" value="生成报表" onclick="createQuarterChartForYear()" style="width: 80px;" />
  239. </div>
  240. <div id="msg" style="float: left;"></div>
  241. </div>
  242. <div id="quarterChartForDept" class="default_search" style="margin: 0;display: none;">
  243. <ul class="list_search"style="width: 470px;">
  244. <li class="title" style="width: 100px;font-family:'新宋体';font-size:9pt;">部门:</li>
  245. <li class="text" style="width: 365px;padding-top: 0px;">
  246. <input type="text" name="dept_name" id="dept_name" value="" readonly="readonly" />
  247. <input type="button" class="l-button" id="selectbutton" value="选择部门" style="width: 80px;" />
  248. <input type="hidden" name="dept_name_id" id="dept_name_id"/>
  249. &nbsp;&nbsp;
  250. <input type="button" class="l-button" value="生成报表" onclick="createQuarterChartForDept()" style="width: 80px;margin-left: 50px;" />
  251. </li>
  252. </ul>
  253. </div>
  254. <div id="container" style="min-width: 700px; height: 400px"></div>
  255. </div>
  256. </body>
  257. </html>