065c30f55d19f532b8c84b286a3c382636a1471c.svn-base 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. var pageParam={};
  2. var chart=null;
  3. var utils=new Util();
  4. var searchUtil = new SearchUtil();
  5. /***
  6. * 初始化方法里填写标题,当前单位名称:广东电网 暂时写死。
  7. * 可以通过下面方法获取到当前单位名称,上系统时请改成下面这种写法:
  8. * var deptName = top.com.sinosoft.lz.system.user.LoginInfo.getDeptnames();
  9. * **/
  10. var urlParams=utils.resolveUrl();
  11. var comeName=urlParams["dept_name"];
  12. var dept_id=urlParams["dept_id"];
  13. $(function(){
  14. pageParam.style=utils.resolveUrl()["style"]||"style1";
  15. pageParam.title=utils.resolveUrl()["title"]||comeName;//pageParam.title=utils.resolveUrl()["title"]||deptName + "预案修编统计";
  16. pageParam.number=utils.resolveUrl()["number"]||warnningnumber;
  17. init();
  18. setTitle();
  19. });
  20. /**
  21. *初始化方法
  22. */
  23. function init(){
  24. loadChart(pageParam);
  25. }
  26. function loadChart(jsonParam){
  27. /**
  28. * 获取数据;
  29. * param :id;
  30. * 备注:由于不在系统框架内,获取不到登录人单位的ID,现在传入的单位ID写死。上线的时候请更改过来。
  31. * 用这个方法取当前登录人单位ID:
  32. * var deptId = top.com.sinosoft.lz.system.user.LoginInfo.getCorp_ids();
  33. * 将第32行代替换34行代码。
  34. * $.post("/nwyj//ws/PlanHuiZong/ContingencyPlanHuiZong/getPlanInfo2",{id : deptId},function(result){
  35. * ***/
  36. //$.post("/nwyj/ws/generatorcar/GeneratorCarService/getCarInfo",{id : dept_id},function(result){
  37. $.post("/nwyj/ws/SystemDataSourceChartServiceImpl/SystemDataSourceChartServiceImpl/getRiChangDataInfo",
  38. {compId : dept_id,tName:"getFDCTotal"},function(result){
  39. if(result.rows.length==0){
  40. zeroChartIntoParam("暂无填报数据");
  41. return;
  42. };
  43. var xAxis=[];
  44. var item=result.rows[0];
  45. veriColor(); //根据首页的传值判断样式
  46. var sArr=[
  47. {
  48. type:"bar",
  49. stack:"num",
  50. name:"可调拨",
  51. data:[],
  52. barMaxWidth:40,
  53. itemStyle: {
  54. normal: {borderWidth: 1,borderColor:"tomato",color: pageStyle[jsonParam.style]["chartColor"][0],
  55. label : { show : true,
  56. position: "top",
  57. textStyle: {
  58. color: "rgb(255, 255, 255)",
  59. fontSize: 14,
  60. fontStyle: "normal",
  61. fontWeight: "bold"
  62. }
  63. }
  64. }
  65. }
  66. },
  67. {
  68. type:"bar",
  69. stack:"num",
  70. name:"不可调拨",
  71. data:[],
  72. barMaxWidth:40,
  73. itemStyle: {
  74. normal: {borderWidth: 1,borderColor:"tomato",color: pageStyle[jsonParam.style]["chartColor"][1],
  75. label : { show : true,
  76. position: "top",
  77. textStyle: {
  78. color: "rgb(255, 255, 255)",
  79. fontSize: 14,
  80. fontStyle: "normal",
  81. fontWeight: "bold"
  82. }
  83. }
  84. }
  85. }
  86. }
  87. /**
  88. * 下面注释掉的代码是柱形图上面累加的柱子。
  89. * 现在的预案修编统计是统计当前单位以及下属单位下的预案修编个数。没有另外的维度需要显示。
  90. * 所以将下面代码注释掉。如需要上面累加柱子,可以放开下面代码,设置一下参数即可。
  91. * ***/
  92. /*{type:"bar",stack:"sum",name:"跳闸数",data:[],
  93. itemStyle: {
  94. normal: {borderWidth: 1,borderColor:"tomato",color: pageStyle[jsonParam.style]["chartColor"][0],
  95. label:
  96. {
  97. show:true,
  98. position:"top",
  99. textStyle:
  100. {
  101. color: "rgb(255, 255, 255)",
  102. fontSize: 14,
  103. fontStyle: "normal",
  104. fontWeight: "bold"
  105. }
  106. }
  107. }
  108. },
  109. }*/
  110. ];
  111. var xAxis=[];
  112. var data=result.rows[0];
  113. //初始化总数量,默认值为:0.
  114. var sumTotle=0;
  115. var max=0;
  116. var dbsum=0;
  117. var unsum=0;
  118. var showHang=0;
  119. if(dept_id=="C984DC9C294A486096C25FAA78C99AED"){
  120. showHang=1;
  121. }else{
  122. showHang=2;
  123. }
  124. /**
  125. * 下面的循环:index<len-1
  126. * 因为后台返回的数据中最后有一行:总合计。
  127. * 不需要在柱形图里显示,所以用获取到的对象长度减一。
  128. *
  129. * ***/
  130. for(var index=0,len=result.rows.length;index<len;index++){
  131. var item=result.rows[index];
  132. sArr[0].data.push({
  133. value:utils.changeQ(item["DIAOBO_NUM"]),
  134. data:{state:utils.changeQ(item["DIAOBO_NUM"]),
  135. compId:item["DEPT_ID"],
  136. text:item["DEPT_NAME"],
  137. flag:item["FLAG"],
  138. number:jsonParam.number,
  139. style:jsonParam.style}});
  140. sArr[1].data.push({
  141. value:utils.changeQ(item["CAR_NUM"]-item["DIAOBO_NUM"]),
  142. data:{state:utils.changeQ(item["CAR_NUM"]-item["DIAOBO_NUM"]),
  143. compId:item["DEPT_ID"],
  144. text:item["DEPT_NAME"],
  145. flag:item["FLAG"],
  146. number:jsonParam.number,
  147. style:jsonParam.style}});
  148. //每次循环取每一行数据中的合计数进行累加,形成总数。
  149. sumTotle = sumTotle + utils.changeQ(item["CAR_NUM"]);
  150. dbsum+=changeQ(item["DIAOBO_NUM"]);
  151. unsum+=changeQ(item["CAR_NUM"]-item["DIAOBO_NUM"]);
  152. xAxis.push(subStrDept(item["DEPT_NAME"]));
  153. max = max < utils.changeQ(item["CAR_NUM"]) ? utils.changeQ(item["CAR_NUM"]) : max;
  154. }
  155. //将获取到的总数量转化为字符形式。
  156. sumTotle = sumTotle + "";
  157. /**
  158. * 设置标题
  159. * 获取系统时间:(由于不在系统框架内,无法获取系统时间,上线时可用下面函数获取系统时间)
  160. * var currDate = getNowFormatDate(); YYYY-MM-DD HH:MM:SS
  161. *
  162. */
  163. max=(parseInt(max/10)+1)*10;
  164. pageParam.opParams={
  165. title:"发电车总数:" +sumTotle+"辆 可调拨:"+dbsum+"辆 不可调拨:"+unsum+"辆",//标题
  166. subtext:"",
  167. saveName:$("#i_page_head_title").find("h2").html()+searchUtil.getNowFormatDateTime(new Date),
  168. unit:"个",//单位
  169. leArr:["可调拨","不可调拨"],//图例
  170. xAxis:xAxis,//x轴
  171. selectedMode:"single",
  172. selected:{"可调拨":true,"不可调拨":false},
  173. sArr:sArr,//主数据
  174. //show:false,
  175. legendColor:legendC, //图例字体颜色
  176. xAxisColor:xAxisC, //X轴字体颜色
  177. yAxisColor:yAxisC, //Y轴字体颜色
  178. min:0,
  179. max:max,
  180. isVertical:true,
  181. fold:showHang
  182. };
  183. //setTitle(data,"(条)")
  184. chart=getEchart($("#i_page_chart"),getOption,pageParam.opParams,null);
  185. bindEvent();
  186. setTitle();
  187. },"json");
  188. //设置标题的名称
  189. }
  190. /**
  191. * 绑定事件
  192. */
  193. function bindEvent(){
  194. //点击事件
  195. chart.on("click",function(params){
  196. var pathStr=url["http_path"]+"page/cockpit/echart_maticView/amResource/fadianche.html?" +decodeURI($.param(params.data.data));
  197. utils.openIframe(pathStr);
  198. });
  199. //自适应
  200. $(window).resize(function(){
  201. chart.resize();
  202. });
  203. }
  204. /**
  205. * 设置标题
  206. * 获取系统时间:(由于不在系统框架内,无法获取系统时间,上线时可用下面函数获取系统时间)
  207. * var currDate = getNowFormatDate(); YYYY-MM-DD HH:MM:SS
  208. * 将获取的系统时间填充到下面代码:
  209. * $("#i_page_head_subtitle").append("<div>截止时间:"+currDate+"</div><div>修编个数:"+jsonParam["zTotal"]+unit+"</div>");
  210. */
  211. function setTitle(){
  212. $("#i_page_head_title").find("h2").empty();
  213. if(pageParam.title=="广东电网有限责任公司"){
  214. pageParam.title="广东电网公司";
  215. }
  216. $("#i_page_head_title").append("<h2>"+pageParam.title+"应急发电车统计</h2>");
  217. }
  218. function subStrDept(deptStr){
  219. deptStr=deptStr.replace("供电局","");
  220. deptStr=deptStr.replace("供电所","");
  221. return deptStr;
  222. }