benchmarkpj.jsp 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <%@include file="/pages/includes/taglibs.jsp" %>
  3. <head>
  4. <script type="text/javascript" src="<%=request.getContextPath() %>/resource/js/jquery-1.8.3.js"></script>
  5. <script type="text/ecmascript" src="<%=request.getContextPath() %>/resource/plugin/jqgrid/js/jquery.jqGrid.min.js"></script>
  6. <script type="text/ecmascript" src="<%=request.getContextPath() %>/resource/plugin/jqgrid/js/i18n/grid.locale-cn.js"></script>
  7. <script type="text/ecmascript" src="<%=request.getContextPath()%>/resource/js/system/jqdatagrid.js"></script>
  8. <script src="<%=request.getContextPath()%>/resource/js/datePicker/WdatePicker.js" type="text/javascript"></script>
  9. <link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/resource/plugin/jqueryui/css/custom-theme/jquery-ui-1.9.2.custom.css" />
  10. <link rel="stylesheet" type="text/css" media="screen" href="<%=request.getContextPath() %>/resource/plugin/jqgrid/css/ui.jqgrid.css" />
  11. <link rel="stylesheet" href="<%=request.getContextPath() %>/resource/css/ztree/zTreeStyle.css" type="text/css">
  12. <script src="<%=request.getContextPath() %>/resource/js/ztree/jquery.ztree.all.min.js" type="text/javascript"></script>
  13. <script src="<%=request.getContextPath()%>/resource/js/highcharts/highcharts.src.js" type="text/javascript"></script>
  14. <script src="<%=request.getContextPath()%>/resource/js/highcharts/highcharts-more.js"></script>
  15. <script src="<%=request.getContextPath()%>/resource/js/highcharts/modules/solid-gauge.src.js"></script>
  16. <script type="text/javascript" src="<%=request.getContextPath()%>/resource/plugin/highslide/highslide-with-html.js"></script>
  17. <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/resource/plugin/highslide/highslide.css" />
  18. <style type="text/css">
  19. fieldset legend {
  20. color:#302A2A;
  21. font: bold 16px/2 Verdana, Geneva, sans-serif;
  22. font-weight: bold;
  23. text-align: left;
  24. text-shadow: 2px 2px 2px rgb(88, 126, 156);
  25. }
  26. </style>
  27. <script type="text/javascript">
  28. hs.graphicsDir = '<%=request.getContextPath()%>/resource/plugin/highslide/graphics/';
  29. hs.outlineType = 'rounded-white';
  30. hs.wrapperClassName = 'draggable-header';
  31. var chart1;
  32. var chart2;
  33. var chart3;
  34. var chart4;
  35. var chart5;
  36. var options1;
  37. var options2;
  38. var options3;
  39. var options4;
  40. var options5;
  41. function showDiv() {
  42. var hc = $("#container1");
  43. return hs.htmlExpand(hc[0], {
  44. contentId : "showDiv",
  45. width : 1100,
  46. height : 1050,
  47. align : 'center',
  48. headingText : '对标信息分析'
  49. });
  50. }
  51. function showDiv2() {
  52. var hc = $("#container5");
  53. return hs.htmlExpand(hc[0], {
  54. contentId : "showDiv2",
  55. width : 800,
  56. height : 800,
  57. align : 'center',
  58. headingText : '损失应对措施'
  59. });
  60. }
  61. function displayInfo(str)
  62. {
  63. switch (str)
  64. {
  65. case 1:
  66. $("#xdsscs").css("display","");
  67. $("#gzsscs").css("display","none");
  68. $("#jxsscs").css("display","none");
  69. $("#xnsscs").css("display","none");
  70. $("#slsscs").css("display","none");
  71. break;
  72. case 2:
  73. $("#gzsscs").css("display","");
  74. $("#jxsscs").css("display","none");
  75. $("#xnsscs").css("display","none");
  76. $("#slsscs").css("display","none");
  77. $("#xdsscs").css("display","none");
  78. break;
  79. case 3:
  80. $("#gzsscs").css("display","none");
  81. $("#jxsscs").css("display","");
  82. $("#xnsscs").css("display","none");
  83. $("#slsscs").css("display","none");
  84. $("#xdsscs").css("display","none");
  85. break;
  86. case 4:
  87. $("#gzsscs").css("display","none");
  88. $("#jxsscs").css("display","none");
  89. $("#xnsscs").css("display","");
  90. $("#slsscs").css("display","none");
  91. $("#xdsscs").css("display","none");
  92. break;
  93. case 5:
  94. $("#gzsscs").css("display","none");
  95. $("#jxsscs").css("display","none");
  96. $("#xnsscs").css("display","none");
  97. $("#slsscs").css("display","");
  98. $("#xdsscs").css("display","none");
  99. break;
  100. }
  101. showDiv2();
  102. }
  103. function contrast()
  104. {
  105. var pj1=" ";
  106. var pj2=" ";
  107. var arr=$("#gridTable").jqGrid('getGridParam', 'selarrrow');
  108. var i=0;
  109. var data1 = [];
  110. var data2 = [];
  111. var xddl = [];
  112. var gzdl = [];
  113. var whdl = [];
  114. var qfdl = [];
  115. var sldl = [];
  116. var names = [];
  117. $.each(arr,function(n,value) {
  118. var pjName= $("#gridTable").jqGrid('getCell',value,'pjName');
  119. var fnlylfraction= $("#gridTable").jqGrid('getCell',value,'fnlylfraction');
  120. var gzsslfraction= $("#gridTable").jqGrid('getCell',value,'gzsslfraction');
  121. var jxsslfraction= $("#gridTable").jqGrid('getCell',value,'jxsslfraction');
  122. var qflfraction= $("#gridTable").jqGrid('getCell',value,'qflfraction');
  123. var xnsslfraction= $("#gridTable").jqGrid('getCell',value,'xnsslfraction');
  124. var slsslfraction= $("#gridTable").jqGrid('getCell',value,'slsslfraction');
  125. var fwjslfraction= $("#gridTable").jqGrid('getCell',value,'fwjslfraction');
  126. var ztzhjslfraction= $("#gridTable").jqGrid('getCell',value,'ztzhjslfraction');
  127. var xqjslfraction= $("#gridTable").jqGrid('getCell',value,'xqjslfraction');
  128. var fnlyl= $("#gridTable").jqGrid('getCell',value,'fnlyl');
  129. var gzssl= $("#gridTable").jqGrid('getCell',value,'gzssl');
  130. var jxssl= $("#gridTable").jqGrid('getCell',value,'jxssl');
  131. var qfl= $("#gridTable").jqGrid('getCell',value,'qfl');
  132. var slssl= $("#gridTable").jqGrid('getCell',value,'slssl');
  133. var fwjsl= $("#gridTable").jqGrid('getCell',value,'fwjsl');
  134. var ztzhjsl= $("#gridTable").jqGrid('getCell',value,'ztzhjsl');
  135. var xqjsl= $("#gridTable").jqGrid('getCell',value,'xqjsl');
  136. var xnssl= $("#gridTable").jqGrid('getCell',value,'xnssl');
  137. var scadafdl= $("#gridTable").jqGrid('getCell',value,'scadafdl');
  138. var qfss= $("#gridTable").jqGrid('getCell',value,'qfss');
  139. var gzss= $("#gridTable").jqGrid('getCell',value,'gzss');
  140. var whss= $("#gridTable").jqGrid('getCell',value,'whss');
  141. var xdss= $("#gridTable").jqGrid('getCell',value,'xdss');
  142. var slss= $("#gridTable").jqGrid('getCell',value,'slss');
  143. if(i==0)
  144. {
  145. pj1=pjName;
  146. data1.push(parseInt(fnlylfraction));
  147. data1.push(parseInt(gzsslfraction));
  148. data1.push(parseInt(jxsslfraction));
  149. data1.push(parseInt(qflfraction));
  150. data1.push(parseInt(xnsslfraction));
  151. data1.push(parseInt(slsslfraction));
  152. data1.push(parseInt(fwjslfraction));
  153. data1.push(parseInt(ztzhjslfraction));
  154. data1.push(parseInt(xqjslfraction));
  155. $("#pjid1").html(pjName + "&nbsp;");
  156. $("#fnlyl1").html(fnlyl + "&nbsp;");
  157. if(gzssl>=5)
  158. {
  159. $("#gzssl1").css("background-color","red");
  160. $("#gzssl1").html("<a href='#' onclick='displayInfo(2)'>"+gzssl + "</a>");
  161. }else
  162. {
  163. $("#gzssl1").html(gzssl+ "&nbsp;");
  164. }
  165. if(jxssl>=5)
  166. {
  167. $("#jxssl1").css("background-color","red");
  168. $("#jxssl1").html("<a href='#' onclick='displayInfo(3)'>"+jxssl + "</a>");
  169. }else
  170. {
  171. $("#jxssl1").html(jxssl + "&nbsp;");
  172. }
  173. if(qfl>=5)
  174. {
  175. $("#qfl1").html("<a href='#' onclick='displayInfo(1)'>"+qfl + "</a>");
  176. $("#qfl1").css("background-color","red");
  177. }else
  178. {
  179. $("#qfl1").html(qfl + "&nbsp;");
  180. }
  181. if(slssl>=5)
  182. {
  183. $("#slssl1").html("<a href='#' onclick='displayInfo(5)'>"+slssl + "</a>");
  184. $("#slssl1").css("background-color","red");
  185. }else
  186. {
  187. $("#slssl1").html(slssl + "&nbsp;");
  188. }
  189. if(xnssl>=5)
  190. {
  191. $("#xnssl1").html("<a href='#' onclick='displayInfo(4)'>"+xnssl + "</a>");
  192. $("#xnssl1").css("background-color","red");
  193. }else
  194. {
  195. $("#xnssl1").html(slssl + "&nbsp;");
  196. }
  197. $("#fwjsl1").html(fwjsl + "&nbsp;");
  198. $("#ztzhjsl1").html(ztzhjsl + "&nbsp;");
  199. $("#xqjsl1").html(xqjsl + "&nbsp;");
  200. $("#scadafdl1").html(scadafdl + "&nbsp;");
  201. $("#gzss1").html(gzss + "&nbsp;");
  202. $("#qfss1").html(qfss + "&nbsp;");
  203. $("#whss1").html(whss + "&nbsp;");
  204. $("#xdss1").html(xdss + "&nbsp;");
  205. $("#slss1").html(slss + "&nbsp;");
  206. names.push(pj1);
  207. if (xdss != null) {
  208. xddl.push( parseFloat(xdss) );
  209. }
  210. if (gzss != null) {
  211. gzdl.push( parseFloat(gzss) );
  212. }
  213. if (whss != null) {
  214. whdl.push( parseFloat(whss) );
  215. }
  216. if (qfss != null) {
  217. qfdl.push( parseFloat(qfss) );
  218. }
  219. sldl.push(parseFloat('0'));
  220. }else if(i==1)
  221. {
  222. pj2=pjName;
  223. data2.push(parseInt(fnlylfraction));
  224. data2.push(parseInt(gzsslfraction));
  225. data2.push(parseInt(jxsslfraction));
  226. data2.push(parseInt(qflfraction));
  227. data2.push(parseInt(xnsslfraction));
  228. data2.push(parseInt(slsslfraction));
  229. data2.push(parseInt(fwjslfraction));
  230. data2.push(parseInt(ztzhjslfraction));
  231. data2.push(parseInt(xqjslfraction));
  232. $("#pjid2").html(pjName + "&nbsp;");
  233. $("#fnlyl2").html(fnlyl + "&nbsp;");
  234. if(gzssl>=5)
  235. {
  236. $("#gzssl2").css("background-color","red");
  237. $("#gzssl2").html("<a href='#' onclick='displayInfo(2)'>"+gzssl + "</a>");
  238. }else
  239. {
  240. $("#gzssl2").html(gzssl+ "&nbsp;");
  241. }
  242. if(jxssl>=5)
  243. {
  244. $("#jxssl2").css("background-color","red");
  245. $("#jxssl2").html("<a href='#' onclick='displayInfo(3)'>"+jxssl + "</a>");
  246. }else
  247. {
  248. $("#jxssl2").html(jxssl + "&nbsp;");
  249. }
  250. if(qfl>=5)
  251. {
  252. $("#qfl2").html("<a href='#' onclick='displayInfo(1)'>"+qfl + "</a>");
  253. $("#qfl2").css("background-color","red");
  254. }else
  255. {
  256. $("#qfl2").html(qfl + "&nbsp;");
  257. }
  258. if(slssl>=5)
  259. {
  260. $("#slssl2").html("<a href='#' onclick='displayInfo(5)'>"+slssl + "</a>");
  261. $("#slssl2").css("background-color","red");
  262. }else
  263. {
  264. $("#slssl2").html(slssl + "&nbsp;");
  265. }
  266. if(xnssl>=5)
  267. {
  268. $("#xnssl2").html("<a href='#' onclick='displayInfo(4)'>"+xnssl + "</a>");
  269. $("#xnssl2").css("background-color","red");
  270. }else
  271. {
  272. $("#xnssl2").html(xnssl + "&nbsp;");
  273. }
  274. $("#fwjsl2").html(fwjsl + "&nbsp;");
  275. $("#ztzhjsl2").html(ztzhjsl + "&nbsp;");
  276. $("#xqjsl2").html(xqjsl + "&nbsp;");
  277. $("#scadafdl2").html(scadafdl + "&nbsp;");
  278. $("#gzss2").html(gzss + "&nbsp;");
  279. $("#qfss2").html(qfss + "&nbsp;");
  280. $("#whss2").html(whss + "&nbsp;");
  281. $("#xdss2").html(xdss + "&nbsp;");
  282. $("#slss2").html(slss + "&nbsp;");
  283. names.push(pj2);
  284. if (xdss != null) {
  285. xddl.push( parseFloat(xdss) );
  286. }
  287. if (gzss != null) {
  288. gzdl.push( parseFloat(gzss) );
  289. }
  290. if (whss != null) {
  291. whdl.push( parseFloat(whss) );
  292. }
  293. if (qfss != null) {
  294. qfdl.push( parseFloat(qfss) );
  295. }
  296. sldl.push(parseFloat('0'));
  297. }
  298. i++;
  299. })
  300. options2.series[0].data = data1;
  301. options2.series[0].name = pj1;
  302. options2.series[1].data = data2;
  303. options2.series[1].name = pj2;
  304. chart2 = new Highcharts.Chart(options2);
  305. options5.series[0].data = xddl;
  306. options5.series[1].data = gzdl;
  307. options5.series[2].data = whdl;
  308. options5.series[3].data = qfdl;
  309. options5.series[4].data = sldl;
  310. options5.xAxis.categories = names;
  311. chart5 = new Highcharts.Chart(options5);
  312. if(i>2)
  313. {
  314. alert("一次最多能选择两个项目!");
  315. return false;
  316. }else if(i<2)
  317. {
  318. alert("请选择两个项目!");
  319. return false;
  320. }
  321. showDiv();
  322. }
  323. function findWpPowerChat(wpId,beginDate,endDate,project) {
  324. var url = "/benchmark/findWpPowerPjChat.action?wpId="+wpId
  325. +"&beginDate="+beginDate +"&endDate="+endDate+"&project="+project;
  326. $.ajax({
  327. url : url,
  328. type : "post",
  329. cache : false,
  330. dataType : "json",
  331. async : false,
  332. data : {},
  333. ifModified : false,
  334. success : function(result) {
  335. var xddl = [];
  336. var gzdl = [];
  337. var whdl = [];
  338. var qfdl = [];
  339. var sldl = [];
  340. var xaixs1 = [];
  341. var xaixs2 = [];
  342. var name = [];
  343. if(result!=null)
  344. {
  345. $.each(result, function(m, obj) {
  346. //if(m == result.length -1){
  347. var total=0;
  348. if (obj.value1 != null) {
  349. total=total+parseFloat(obj.value1);
  350. xddl.push( parseFloat(obj.value1) );
  351. }
  352. if (obj.value2 != null) {
  353. total=total+parseFloat(obj.value2);
  354. gzdl.push( parseFloat(obj.value2) );
  355. }
  356. if (obj.value3 != null) {
  357. total=total+parseFloat(obj.value3);
  358. whdl.push( parseFloat(obj.value3) );
  359. }
  360. if (obj.value4 != null) {
  361. total=total+parseFloat(obj.value4);
  362. qfdl.push( parseFloat(obj.value4) );
  363. }
  364. if (obj.value5 != null) {
  365. total=total+parseFloat(obj.value5);
  366. sldl.push( parseFloat(obj.value5) );
  367. }
  368. var jsonObj1 = [obj.name, obj.value6 ];
  369. var jsonObj2 = [obj.name, total ];
  370. xaixs1.push(jsonObj1);
  371. xaixs2.push(jsonObj1);
  372. if(obj.name!= null )
  373. {
  374. name.push(obj.name);
  375. }
  376. });
  377. //alert(xtime.length);
  378. options1.series[0].data = xddl;
  379. options1.series[1].data = gzdl;
  380. options1.series[2].data = whdl;
  381. options1.series[3].data = qfdl;
  382. options1.series[4].data = sldl;
  383. options1.xAxis.categories = name;
  384. options3.series[0].data = xaixs1;
  385. options4.series[0].data = xaixs2;
  386. chart1 = new Highcharts.Chart(options1);
  387. chart3 = new Highcharts.Chart(options3);
  388. chart4 = new Highcharts.Chart(options4);
  389. }
  390. }
  391. });
  392. }
  393. var setting = {
  394. check : {
  395. enable : true,
  396. chkboxType : {
  397. "Y" : "",
  398. "N" : ""
  399. }
  400. },
  401. view: {
  402. dblClickExpand: false
  403. },
  404. data: {
  405. simpleData: {
  406. enable: true
  407. }
  408. },
  409. callback: {
  410. beforeClick: beforeClickWindfarm,
  411. onCheck: selectWindfarm
  412. },
  413. async: {
  414. enable: true,
  415. url:"../power/windfarmAjax.action",
  416. dataType:"json"
  417. }
  418. };
  419. function beforeClickWindfarm(treeId, treeNode) {
  420. var zTree = $.fn.zTree.getZTreeObj(treeId);
  421. zTree.checkNode(treeNode, !treeNode.checked, null, true);
  422. return false;
  423. }
  424. function showWindfarm() {
  425. var cityObj = $("#wpId");
  426. var cityOffset = $("#wpId").offset();
  427. $("#menuWindfarm").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
  428. $("body").bind("mousedown", onBodyDown);
  429. }
  430. function hideMenuWindfarm() {
  431. $("#menuWindfarm").fadeOut("fast");
  432. }
  433. var wpids="";
  434. function selectWindfarm(e, treeId, treeNode) {
  435. var zTree = $.fn.zTree.getZTreeObj("treeWindfarm"),
  436. nodes = zTree.getCheckedNodes(true);
  437. v = "";
  438. d="";
  439. for (var i=0, l=nodes.length; i<l; i++) {
  440. v += nodes[i].name + ",";
  441. d+=nodes[i].id+",";
  442. }
  443. if (v.length > 0 ) v = v.substring(0, v.length-1);
  444. if (d.length > 0 ) d = d.substring(0, d.length-1);
  445. wpids=d;
  446. var cityObj = $("#wpId");
  447. cityObj.attr("value", v);
  448. //$("#menuWindfarm").fadeOut("fast");
  449. }
  450. /***********************************************************************************************/
  451. function showProject(){
  452. if(wpids==""){
  453. alert("请选择风场!");
  454. return;
  455. }
  456. var setting3 = {
  457. check : {
  458. enable : true,
  459. chkboxType : {
  460. "Y" : "",
  461. "N" : ""
  462. }
  463. },
  464. view: {
  465. dblClickExpand: false
  466. },
  467. data: {
  468. simpleData: {
  469. enable: true
  470. }
  471. },
  472. callback: {
  473. beforeClick: beforeClickWindfarm,
  474. onCheck: selectPj
  475. },
  476. async: {
  477. enable: true,
  478. url:"../power/projectAjax.action?wpIds="+wpids,
  479. dataType:"json"
  480. }
  481. };
  482. $.fn.zTree.init($("#treePj"), setting3);
  483. var cityObj = $("#project");
  484. var cityOffset = $("#project").offset();
  485. $("#menuPj").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
  486. $("body").bind("mousedown", onBodyDown);
  487. pjIds='';
  488. $("#project").val("");
  489. }
  490. var pjIds;
  491. function selectPj(e, treeId, treeNode){
  492. var zTree = $.fn.zTree.getZTreeObj("treePj"),
  493. nodes = zTree.getCheckedNodes(true);
  494. v = "";
  495. d="";
  496. for (var i=0, l=nodes.length; i<l; i++) {
  497. v += nodes[i].name + ",";
  498. d+=nodes[i].id+",";
  499. }
  500. if (v.length > 0 ) v = v.substring(0, v.length-1);
  501. if (d.length > 0 ) d = d.substring(0, d.length-1);
  502. pjIds=d;
  503. var cityObj = $("#project");
  504. cityObj.attr("value", v);
  505. //$("#menuXl").fadeOut("fast");
  506. }
  507. function hideMenuPj() {
  508. $("#menuPj").fadeOut("fast");
  509. }
  510. /***********************************************************************************************/
  511. function onBodyDown(event) {
  512. if (( event.target.id != "wpId" && event.target.id != "menuWindfarm" && $(event.target).parents("#menuWindfarm").length<=0)) {
  513. hideMenuWindfarm();
  514. }
  515. if (!( event.target.id == "project" || event.target.id == "menuPj" || $(event.target).parents("#menuPj").length>0)) {
  516. hideMenuPj();
  517. }
  518. }
  519. /***********************************************************************************************/
  520. function queryData(){
  521. if("" == $("#beginDate").val()){
  522. alert("请选择查询开始日期!");
  523. }else if("" == $("#endDate").val()){
  524. alert("请选择查询结束日期!");
  525. }
  526. else{
  527. //var type=$("#type").val();
  528. //var wpId=$("#wpId").find("option:selected").val();
  529. //var beginDate=$("#beginDate").val();
  530. //var endDate=$("#endDate").val();
  531. //var url = '<%=request.getContextPath() %>/charts/lossList.action?wpId='+wpId
  532. // +"&beginDate="+beginDate +"&endDate="+endDate+"&type="+type;
  533. //$("#gridTable").setGridParam({url:url}).trigger("reloadGrid");
  534. $("#gridTable").jqGrid('GridUnload');
  535. showJqGrid();
  536. }
  537. }
  538. $(document).ready(function () {
  539. initial();
  540. options1 = {
  541. colors: [
  542. '#D201D8', //限电
  543. '#FD0100',//故障
  544. '#FF7B16', //维护
  545. '#8085E9',//性能
  546. '#A6A6A6' //受累
  547. ],
  548. chart: {
  549. renderTo: 'container',
  550. type: 'column',
  551. width:1568,
  552. height:308,
  553. //backgroundColor:'#BFDFFF',
  554. //plotBackgroundColor:'#BFDFFF',
  555. zoomType: 'x'
  556. },
  557. title : {
  558. text : '损失电量分析'
  559. },
  560. xAxis: {
  561. type: 'category'
  562. },
  563. yAxis: [{ // Primary yAxis
  564. labels: {
  565. format: '{value}万kw',
  566. style: {
  567. color: '#89A54E'
  568. }
  569. },
  570. title: {
  571. text: '电量',
  572. style: {
  573. color: '#89A54E'
  574. }
  575. }
  576. }],
  577. legend: {
  578. layout: 'vertical',
  579. // backgroundColor: '#FFFFFF',
  580. align: 'right',
  581. verticalAlign: 'top',
  582. x:-80,
  583. floating: true
  584. // shadow: true
  585. // layout: 'vertical',
  586. // align: 'right',
  587. // verticalAlign: 'middle',
  588. // borderWidth: 0
  589. },
  590. tooltip: {
  591. shared:true,
  592. xDateFormat:'%Y-%m-%d %H:%M'
  593. /*formatter: function() {
  594. return '<b>'+ this.series.name +'</b>:'+
  595. Highcharts.numberFormat(this.y, 2) +' 万kW<br/>时间:'+
  596. Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x);
  597. }*/
  598. },
  599. series: [{
  600. name: '限电损失电量(单位:万KWh)',
  601. yAxis:0
  602. },
  603. {name: '故障损失电量(单位:万KWh)',
  604. yAxis:0
  605. },{
  606. name: '检修损失电量(单位:万KWh)',
  607. yAxis:0
  608. },{
  609. name: '性能损失电量(单位:万KWh)',
  610. yAxis:0
  611. }
  612. ,{
  613. name: '受累损失电量(单位:万KWh)',
  614. yAxis:0
  615. }]
  616. };
  617. /******************************************玫瑰图1***********************************************/
  618. options2 = {
  619. colors: [
  620. '#7CB5EC',
  621. '#ACF19D'
  622. ],
  623. chart: {
  624. renderTo : 'fzy',
  625. polar: true,
  626. width:450,
  627. height:450,
  628. type: 'area'
  629. },
  630. title: {
  631. text: '对标排名分析',
  632. x: 0
  633. },
  634. pane: {
  635. size: '80%'
  636. },
  637. xAxis: {
  638. categories: ['风能利用率','故障损失率','检修损失率','弃风率','性能损失率','受累损失率','复位及时率','状态转换率','消缺及时率'
  639. ],
  640. tickmarkPlacement: 'on',
  641. lineWidth: 0
  642. },
  643. yAxis: {
  644. gridLineInterpolation: 'polygon',
  645. lineWidth: 0,
  646. min: 0
  647. },
  648. tooltip: {
  649. shared: true,
  650. pointFormat: '<span style="color:{series.color}"> <b>{point.y:,.0f}</b><br/>'
  651. },
  652. series: [{
  653. name: " ",
  654. data: [],
  655. pointPlacement: 'on'
  656. },{
  657. name: " ",
  658. data: [],
  659. pointPlacement: 'on'
  660. }]
  661. }
  662. /***************************************************************************************************/
  663. options3 = {
  664. colors: [
  665. '#00B259', //绿
  666. '#B20000', //红
  667. '#006DD9', //蓝
  668. '#000000', //黑
  669. '#FFBFFF',//藕荷色
  670. '#CC9900',//黄褐色
  671. '#FF8000',//橘黄
  672. '#DDDDDD',
  673. '#FF7744',
  674. '#33FFFF',
  675. '#FF44AA',
  676. '#FF00FF',
  677. '#FF0000',
  678. '#007799'
  679. ],
  680. chart : {
  681. renderTo : 'container3',
  682. height:313,width:785,
  683. plotBackgroundColor : null,
  684. plotBorderWidth : null,
  685. plotShadow : false
  686. },
  687. title : {
  688. text : '发电量占比'
  689. },
  690. tooltip : {
  691. pointFormat : '{series.name}: <b>{point.percentage:.1f}%</b>'
  692. },
  693. plotOptions : {
  694. pie : {
  695. allowPointSelect : true,
  696. cursor : 'pointer',
  697. dataLabels : {
  698. enabled : false,
  699. color : '#000000',
  700. connectorColor : '#000000',
  701. format : '<b>{point.name}</b>: {point.percentage:.1f} %'
  702. },
  703. showInLegend : true
  704. }
  705. },
  706. legend : {
  707. layout : 'vertical',
  708. align : 'left',
  709. verticalAlign : 'left',
  710. borderWidth : 0
  711. },
  712. series : [ {
  713. type : 'pie',
  714. name : '占比',
  715. data : []
  716. } ]
  717. }
  718. /***************************************************************************************************/
  719. options4 = {
  720. colors: [
  721. '#00B259', //绿
  722. '#B20000', //红
  723. '#006DD9', //蓝
  724. '#000000', //黑
  725. '#FFBFFF',//藕荷色
  726. '#CC9900',//黄褐色
  727. '#FF8000',//橘黄
  728. '#DDDDDD',
  729. '#FF7744',
  730. '#33FFFF',
  731. '#FF44AA',
  732. '#FF00FF',
  733. '#FF0000',
  734. '#007799'
  735. ],
  736. chart : {
  737. renderTo : 'container4',
  738. height:313,width:785,
  739. plotBackgroundColor : null,
  740. plotBorderWidth : null,
  741. plotShadow : false
  742. },
  743. title : {
  744. text : '损失电量占比'
  745. },
  746. tooltip : {
  747. pointFormat : '{series.name}: <b>{point.percentage:.1f}%</b>'
  748. },
  749. plotOptions : {
  750. pie : {
  751. allowPointSelect : true,
  752. cursor : 'pointer',
  753. dataLabels : {
  754. enabled : false,
  755. color : '#000000',
  756. connectorColor : '#000000',
  757. format : '<b>{point.name}</b>: {point.percentage:.1f} %'
  758. },
  759. showInLegend : true
  760. }
  761. },
  762. legend : {
  763. layout : 'vertical',
  764. align : 'left',
  765. verticalAlign : 'left',
  766. borderWidth : 0
  767. },
  768. series : [ {
  769. type : 'pie',
  770. name : '占比',
  771. data : []
  772. } ]
  773. }
  774. /***************************************************************************************************/
  775. options5 = {
  776. colors: [
  777. '#D201D8', //限电
  778. '#FD0100',//故障
  779. '#FF7B16', //维护
  780. '#8085E9',//性能
  781. '#A6A6A6' //受累
  782. ],
  783. chart: {
  784. renderTo: 'containers',
  785. type: 'column',
  786. width:450,
  787. height:300,
  788. //backgroundColor:'#BFDFFF',
  789. //plotBackgroundColor:'#BFDFFF',
  790. zoomType: 'x'
  791. },
  792. title : {
  793. text : '损失电量分析'
  794. },
  795. xAxis: {
  796. type: 'category'
  797. },
  798. yAxis: [{ // Primary yAxis
  799. labels: {
  800. format: '{value}万kw',
  801. style: {
  802. color: '#89A54E'
  803. }
  804. },
  805. title: {
  806. text: '电量',
  807. style: {
  808. color: '#89A54E'
  809. }
  810. }
  811. }],
  812. legend: {
  813. layout: 'vertical',
  814. // backgroundColor: '#FFFFFF',
  815. verticalAlign: 'top',
  816. x:105,
  817. y:10,
  818. floating: true
  819. // shadow: true
  820. // layout: 'vertical',
  821. // align: 'right',
  822. // verticalAlign: 'middle',
  823. // borderWidth: 0
  824. },
  825. tooltip: {
  826. shared:true,
  827. xDateFormat:'%Y-%m-%d %H:%M'
  828. /*formatter: function() {
  829. return '<b>'+ this.series.name +'</b>:'+
  830. Highcharts.numberFormat(this.y, 2) +' 万kW<br/>时间:'+
  831. Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x);
  832. }*/
  833. },
  834. series: [{
  835. name: '限电损失电量(单位:万KWh)',
  836. yAxis:0
  837. },
  838. {name: '故障损失电量(单位:万KWh)',
  839. yAxis:0
  840. },{
  841. name: '检修损失电量(单位:万KWh)',
  842. yAxis:0
  843. },{
  844. name: '性能损失电量(单位:万KWh)',
  845. yAxis:0
  846. }
  847. ,{
  848. name: '受累损失电量(单位:万KWh)',
  849. yAxis:0
  850. }]
  851. };
  852. /***************************************************************************************************/
  853. showJqGrid();
  854. });
  855. function displaybuttons(cellvalue, options, rawObject) {
  856. var detail = "<input type='button' value='详情' onclick=detail('"
  857. + rawObject.wpId + "')>";
  858. return "&nbsp;&nbsp;&nbsp;\t" + detail + "&nbsp;&nbsp;&nbsp;\t";
  859. };
  860. function detail(wpId) {
  861. $("#f1").attr("action", "../benchmark/benchmarkPjWtindex.action?wpId="+wpId).submit();
  862. }
  863. function showJqGrid() {
  864. var project="";
  865. var wpId="";
  866. if(wpids!=undefined)
  867. {
  868. wpId=wpids;
  869. }
  870. if(pjIds!=undefined)
  871. {
  872. project=pjIds;
  873. }
  874. var beginDate=$("#beginDate").val();
  875. var endDate=$("#endDate").val();
  876. findWpPowerChat(wpId,beginDate,endDate,project);
  877. var id = 'gridTable';
  878. var url = '<%=request.getContextPath() %>/benchmark/benchmarkPjList.action?wpId='+wpId
  879. +"&beginDate="+beginDate +"&endDate="+endDate+"&project="+project;
  880. var datatype = 'json';
  881. var colNames = ['复位及时率分数','状态转换分数','状态转换分数','风能利用率分数','故障损失率分数','检修损失率分数'
  882. ,'弃风率分数','受累损失率分数','性能损失分数','风电场编号','风电场名称','项目编号','项目名称','综合排名', '发电量排名', '发电量', '故障损失电量排名', '故障损失电量', '检修损失电量排名', '检修损失电量', '性能损失电量排名', '性能损失电量',
  883. '限电损失电量排名', '限电损失电量', '受累损失电量排名', '受累损失电量',
  884. '风能利用率排名', '风能利用率(%)', '故障损失率排名', '故障损失率(%)','检修损失率排名',
  885. '检修损失率(%)','弃风率排名','弃风率(%)','性能损失率排名','性能损失率(%)','受累损失率排名','受累损失率(%)', '复位及时率排名', '复位及时率(%)', '状态转换率排名', '状态转换率(%)',
  886. '消缺及时率排名', '消缺及时率(%)',"操作"];
  887. var colModel = [
  888. { name: 'fwjslfraction', index: 'fwjslfraction', width: 80, align: 'center',hidden:true},
  889. { name: 'ztzhjslfraction', index: 'ztzhjslfraction', width: 80, align: 'center',hidden:true},
  890. { name: 'xqjslfraction', index: 'xqjslfraction', width: 80, align: 'center',hidden:true},
  891. { name: 'fnlylfraction', index: 'fnlylfraction', width: 80, align: 'center',hidden:true},
  892. { name: 'gzsslfraction', index: 'gzsslfraction', width: 80, align: 'center',hidden:true},
  893. { name: 'jxsslfraction', index: 'jxsslfraction', width: 80, align: 'center',hidden:true},
  894. { name: 'qflfraction', index: 'qflfraction', width: 80, align: 'center',hidden:true},
  895. { name: 'slsslfraction', index: 'slsslfraction', width: 80, align: 'center',hidden:true},
  896. { name: 'xnsslfraction', index: 'xnsslfraction', width: 80, align: 'center',hidden:true},
  897. { name: 'wpId', index: 'wpId', width: 200, align: 'center',hidden:true },
  898. { name: 'wpName', index: 'wpName', width: 80, align: 'center'},
  899. { name: 'pjId', index: 'pjId', width: 200, align: 'center',hidden:true },
  900. { name: 'pjName', index: 'pjName', width: 80, align: 'center'},
  901. { name: 'ordernum', index: 'ordernum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  902. { name: 'scadafdlnum', index: 'scadafdlnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  903. { name: 'scadafdl', index: 'scadafdl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  904. { name: 'gzssnum', index: 'gzssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  905. { name: 'gzss', index: 'gzss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  906. { name: 'whssnum', index: 'whssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  907. { name: 'whss', index: 'whss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  908. { name: 'qfssnum', index: 'qfssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  909. { name: 'qfss', index: 'qfss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  910. { name: 'xdssnum', index: 'slssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  911. { name: 'xdss', index: 'slss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  912. { name: 'slssnum', index: 'slssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  913. { name: 'slss', index: 'slss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  914. { name: 'fnlylnum', index: 'fnlylnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  915. { name: 'fnlyl', index: 'fnlyl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  916. { name: 'gzsslnum', index: 'gzsslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  917. { name: 'gzssl', index: 'gzssl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  918. { name: 'jxsslnum', index: 'jxsslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  919. { name: 'jxssl', index: 'jxssl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  920. { name: 'qflnum', index: 'qflnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  921. { name: 'qfl', index: 'qfl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  922. { name: 'xnsslnum', index: 'xnsslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  923. { name: 'xnssl', index: 'xnssl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  924. { name: 'slsslnum', index: 'slsslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  925. { name: 'slssl', index: 'slssl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  926. { name: 'fwjslnum', index: 'fwjslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  927. { name: 'fwjsl', index: 'fwjsl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  928. { name: 'ztzhjslnum', index: 'ztzhjslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  929. { name: 'ztzhjsl', index: 'ztzhjsl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  930. { name: 'xqjslnum', index: 'xqjslnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  931. { name: 'xqjsl', index: 'xqjsl', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  932. { name: 'wpId', index: 'wpId', width: 70, align: 'center',formatter:displaybuttons}
  933. ];
  934. var caption = '项目对标列表';
  935. var sortname = 'total';
  936. var gridPagerID ='gridPager';
  937. var sortorder='desc';
  938. var height='auto';
  939. var width='auto';
  940. var rownumbers=true;
  941. var multiselect=true;
  942. myJqGrid(id, url, datatype, colNames, colModel, caption, sortname, gridPagerID,sortorder,height,width,
  943. multiselect,rownumbers);}
  944. function initial()
  945. {
  946. $.fn.zTree.init($("#treeWindfarm"), setting);
  947. wpids='<s:property value="wpId"/>';
  948. $("#beginDate").val('<s:property value="beginDate"/>');
  949. $("#endDate").val('<s:property value="endDate"/>');
  950. $("#wpId").val('${wpName}');
  951. }
  952. </script>
  953. <style type="text/css">
  954. fieldset legend {
  955. color:#302A2A;
  956. font: bold 16px/2 Verdana, Geneva, sans-serif;
  957. font-weight: bold;
  958. text-align: left;
  959. text-shadow: 2px 2px 2px rgb(88, 126, 156);
  960. }
  961. .ui-jqgrid tr.jqgrow td {
  962. white-space: normal !important;
  963. height:auto;
  964. vertical-align:text-top;
  965. padding-top:2px;
  966. }
  967. th.ui-th-column div{
  968. white-space:normal !important;
  969. height:auto !important;
  970. padding:0px;
  971. }
  972. .text_title {
  973. font-family: "宋体";
  974. font-size: 12px;
  975. color: #000;
  976. text-decoration: none;
  977. }
  978. .text_unit {
  979. font-family: "宋体";
  980. font-size: 12px;
  981. color: #333;
  982. text-decoration: none;
  983. }
  984. .text_main{
  985. font-family: Arial, Helvetica, sans-serif;
  986. font-size: 12px;
  987. color: #000;
  988. text-decoration: none;
  989. font-weight: bold;
  990. }
  991. fieldset legend {
  992. color:#302A2A;
  993. font: bold 16px/2 Verdana, Geneva, sans-serif;
  994. font-weight: bold;
  995. text-align: left;
  996. text-shadow: 2px 2px 2px rgb(88, 126, 156);
  997. }
  998. .panelcontainer {
  999. width: 100%;
  1000. height: 70px;
  1001. border-style: solid;
  1002. border-color: #f1f1f1;
  1003. border-width:1px;
  1004. }
  1005. .panelquery {
  1006. width:100%;
  1007. height:25px;
  1008. background-color:#f1f1f1;
  1009. line-height:25px;
  1010. }
  1011. .panelquerytext {
  1012. margin-left:3px;
  1013. font-weight:bold;
  1014. font-size: 12px;
  1015. font-family: tahoma,arial,verdana,sans-serif;
  1016. }
  1017. .querycondcontainer {
  1018. line-height:39px;
  1019. padding:3px;
  1020. float:left;
  1021. font-size: 12px;
  1022. }
  1023. </style>
  1024. </head>
  1025. <body>
  1026. <form action="lossIndex.action" method="post" id="f1">
  1027. <div class="panelcontainer" style="width:1620px;" >
  1028. <div class="querycondcontainer">
  1029. 场站:<input id="wpId" type="text" readonly value="" style="width:200px;" onclick="showWindfarm();" />
  1030. </div>
  1031. <div class="querycondcontainer">
  1032. 项目:<input id="project" type="text" readonly value="" style="width:200px;" onclick="showProject();" />
  1033. </div>
  1034. <div class="querycondcontainer">
  1035. 开始日期:<input type="text" style="width:150px;" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd',isShowWeek:true,readOnly:true})"
  1036. id="beginDate" name="beginDate"/>
  1037. </div>
  1038. <div class="querycondcontainer">
  1039. 结束日期:<input type="text" style="width:150px;" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd',isShowWeek:true,readOnly:true})"
  1040. id="endDate" name="endDate"/>
  1041. </div>
  1042. <div style="float:left;line-height:39px;margin-left:20px;width:80px;">
  1043. <input id="backbuttona" type="button" value="查询" onClick="queryData()" />
  1044. </div>
  1045. <div style="float:left;line-height:39px;margin-left:20px;width:80px;">
  1046. <input id="backbuttona" type="button" value="对标分析" onClick="contrast()" />
  1047. </div>
  1048. </div>
  1049. <div id="menuWindfarm" class="menuContent" style="overflow-y:scroll;overflow-x:auto;z-index:9999; border: 1px solid #617775;background: #f0f6e4;display:none;position: absolute;">
  1050. <ul id="treeWindfarm" class="ztree" style="margin-top:0; width:180px; height: 300px;"></ul>
  1051. </div>
  1052. <div id="menuPj" class="menuContent" style="overflow-y:scroll;overflow-x:auto;z-index:9999; border: 1px solid #617775;background: #f0f6e4;display:none;position: absolute;">
  1053. <ul id="treePj" class="ztree" style="margin-top:0; width:180px; height: 300px;"></ul>
  1054. </div>
  1055. <table id='gridTable' >
  1056. </table>
  1057. <div id='gridPager'></div>
  1058. <br/>
  1059. <div id="container2" style="width:1570px;height:310px;float:left">
  1060. <div id="container3" style=" width:785px; float:left"></div>
  1061. <div id="container4" style=" width:785px; float:left"></div>
  1062. </div>
  1063. <br/>
  1064. <div id="container" style="width:1570px;height:310px"></div>
  1065. </form>
  1066. <div class="highslide-html-content" id="showDiv" style="width: 1000">
  1067. <div class="highslide-header">
  1068. <ul>
  1069. <li class="highslide-move">
  1070. <a href="#" onclick="return false">Move</a>
  1071. </li>
  1072. <li class="highslide-close" >
  1073. <a href="#" onclick="return hs.close(this)" ></a>
  1074. </li>
  1075. </ul>
  1076. </div>
  1077. <div class="highslide-body" id="container1" style="width: 1100;height : 1050;">
  1078. <table width="1000" border="0" cellspacing="0" cellpadding="0" bgcolor="#efefef">
  1079. <tr>
  1080. <td width="560" rowspan="15" align="center" bgcolor="#FFFFFF"><div id="fzy"></div><div id="containers"></div></td>
  1081. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' >指标</span></td>
  1082. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' id="pjid1" >指标</span></td>
  1083. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' id="pjid2">指标</span></td>
  1084. </tr>
  1085. <tr>
  1086. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>发电量</span></td>
  1087. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="scadafdl1" class='text_title'></span></td>
  1088. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="scadafdl2" class='text_title'></span></td>
  1089. </tr>
  1090. <tr>
  1091. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>故障损失电量</span></td>
  1092. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzss1" class='text_title'></span></td>
  1093. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzss2" class='text_title'></span></td>
  1094. </tr>
  1095. <tr>
  1096. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>检修损失电量</span></td>
  1097. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="whss1" class='text_title'></span></td>
  1098. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="whss2" class='text_title'></span></td>
  1099. </tr>
  1100. <tr>
  1101. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>性能损失电量</span></td>
  1102. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfss1" class='text_title'></span></td>
  1103. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfss2" class='text_title'></span></td>
  1104. </tr>
  1105. <tr>
  1106. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>受累损失电量</span></td>
  1107. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slss1" class='text_title'></span></td>
  1108. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slss2" class='text_title'></span></td>
  1109. </tr>
  1110. <tr>
  1111. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>风能利用率</span></td>
  1112. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fnlyl1" class='text_title'></span></td>
  1113. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fnlyl2" class='text_title'></span></td>
  1114. </tr>
  1115. <tr>
  1116. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>故障损失率</span></td>
  1117. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzssl1" class='text_title'></span></td>
  1118. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzssl2" class='text_title'></span></td>
  1119. </tr>
  1120. <tr>
  1121. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>检修损失率</span></td>
  1122. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="jxssl1" class='text_title'></span></td>
  1123. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="jxssl2" class='text_title'></span></td>
  1124. </tr>
  1125. <tr>
  1126. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>弃风率</span></td>
  1127. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfl1" class='text_title'></span></td>
  1128. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfl2" class='text_title'></span></td>
  1129. </tr>
  1130. <tr>
  1131. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>性能损失率</span></td>
  1132. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xnssl1" class='text_title'></span></td>
  1133. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xnssl2" class='text_title'></span></td>
  1134. </tr>
  1135. <tr>
  1136. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>受累损失率</span></td>
  1137. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slssl1" class='text_title'></span></td>
  1138. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slssl2" class='text_title'></span></td>
  1139. </tr>
  1140. <tr>
  1141. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>复位及时率</span></td>
  1142. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fwjsl1" class='text_title'></span></td>
  1143. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fwjsl2" class='text_title'></span></td>
  1144. </tr>
  1145. <tr>
  1146. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>消缺及时率</span></td>
  1147. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xqjsl1" class='text_title'></span></td>
  1148. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xqjsl2" class='text_title'></span></td>
  1149. </tr>
  1150. <tr>
  1151. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>状态转换率</span></td>
  1152. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="ztzhjsl1" class='text_title'></span></td>
  1153. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="ztzhjsl2" class='text_title'></span></td>
  1154. </tr>
  1155. </table>
  1156. </div>
  1157. </div>
  1158. <!--***************************************************************************************************************************-->
  1159. <div class="highslide-html-content" id="showDiv2" style="width: 1000">
  1160. <div class="highslide-header">
  1161. <ul>
  1162. <li class="highslide-move">
  1163. <a href="#" onclick="return false">Move</a>
  1164. </li>
  1165. <li class="highslide-close" style="width: 18px;height: 10px">
  1166. <a href="#" onclick="return hs.close(this)" ></a>
  1167. </li>
  1168. </ul>
  1169. </div>
  1170. <div class="highslide-body" id="container5" style="width: 1000">
  1171. <!--***************************************************************************************************************************-->
  1172. <div id="gzsscs" style="display:none">
  1173. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1174. <tr>
  1175. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >故障损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1176. </tr>
  1177. <tr>
  1178. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、加强风机大部件的维护、消缺工作,确保能够长周期运行。</span><span id="wtid" class='text_title'></span></td>
  1179. </tr>
  1180. <tr>
  1181. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、定期针对风机易损件的更换、检查、维护,减少风机易损件故障的影响。</span><span id="level" class='text_title'></span></td>
  1182. </tr>
  1183. <tr>
  1184. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、加强备品备件的管理;提前采购,并采购优质的备品备件;定期对备品备件进行维护。</span>
  1185. </td>
  1186. </tr>
  1187. <tr>
  1188. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、按期、保证质量的完成定检项目。</span>
  1189. </td>
  1190. </tr>
  1191. <tr>
  1192. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、加强技术力量的储备、培训,培养优秀的风机检修维护人员。</span>
  1193. </td>
  1194. </tr>
  1195. <tr>
  1196. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、采购适用各类型风机检修、检测的工器具、仪表。</span>
  1197. </td>
  1198. </tr>
  1199. <tr>
  1200. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、建立检修、维护时间定额、工艺确认、验收等管理机制。</span>
  1201. </td>
  1202. </tr>
  1203. </table>
  1204. </div>
  1205. <!--***************************************************************************************************************************-->
  1206. <div id="xnsscs" style="display:none">
  1207. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1208. <tr>
  1209. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >性能损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1210. </tr>
  1211. <tr>
  1212. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、积极协调风机厂家技术人员,进行风机控制策略升级,提高切入风速、额定风速合格率,使风机进入最佳状态。</span><span id="wtid" class='text_title'></span></td>
  1213. </tr>
  1214. <tr>
  1215. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、加强风机大部件的维护、消缺工作,确保能够长周期运行。</span><span id="level" class='text_title'></span></td>
  1216. </tr>
  1217. <tr>
  1218. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、定期针对风机易损件的更换、检查、维护,减少风机易损件故障的影响。</span>
  1219. </td>
  1220. </tr>
  1221. <tr>
  1222. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、加强备品备件的管理;提前采购,并采购优质的备品备件;定期对备品备件进行维护。</span>
  1223. </td>
  1224. </tr>
  1225. <tr>
  1226. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、制定年度技改项目计划,及时进行风机性能优化,风能利用率。</span>
  1227. </td>
  1228. </tr>
  1229. <tr>
  1230. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、申请技改费用,更换风速仪、风向标为声波或激光测风,提升风机控制。</span>
  1231. </td>
  1232. </tr>
  1233. <tr>
  1234. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、按期、保证质量的完成定检项目。</span>
  1235. </td>
  1236. </tr>
  1237. <tr>
  1238. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>8、加强技术力量的储备、培训,培养优秀的风机检修维护人员。</span>
  1239. </td>
  1240. </tr>
  1241. <tr>
  1242. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>9、采购适用各类型风机检修、检测的工器具、仪表。</span>
  1243. </td>
  1244. </tr>
  1245. <tr>
  1246. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>10、建立风机性能优化、提效的技术团队;建立检修维护工艺确认、验收管理等机制。</span>
  1247. </td>
  1248. </tr>
  1249. </table>
  1250. </div>
  1251. <!--***************************************************************************************************************************-->
  1252. <div id="jxsscs" style="display:none">
  1253. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1254. <tr>
  1255. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >检修损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1256. </tr>
  1257. <tr>
  1258. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、进行检修时间优化(年度计划时间的确定,检修工期的优化)。</span><span id="wtid" class='text_title'></span></td>
  1259. </tr>
  1260. <tr>
  1261. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、季节检修向状态检修转变。</span><span id="level" class='text_title'></span></td>
  1262. </tr>
  1263. <tr>
  1264. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、通过制定详细、周密的检修计划,确定检修项目,定额情况,确保按计划或提前完成检修工作。</span>
  1265. </td>
  1266. </tr>
  1267. <tr>
  1268. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、提前安排备品备件的采购工作,确保检修工作前,备品备件到场。</span>
  1269. </td>
  1270. </tr>
  1271. <tr>
  1272. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、定期检查检修工具、仪器仪表等的配置、完好。提前联系大型车辆、机械等设备到场。做好其他车辆的检查、维护工作,保证车辆不出现异常情况。</span>
  1273. </td>
  1274. </tr>
  1275. <tr>
  1276. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、提前做好检修队伍的落实,人员资质、技术能力的审查。</span>
  1277. </td>
  1278. </tr>
  1279. <tr>
  1280. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、做好检修的设备性能、状态、可靠性、缺陷(故障)情况的详查,落实检修项目。</span>
  1281. </td>
  1282. </tr>
  1283. <tr>
  1284. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>8、检修工作中严格执行检修作业指导书,标准化检修。</span>
  1285. </td>
  1286. </tr>
  1287. <tr>
  1288. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>9、合理安排检修、运行人员,缩短工期。</span>
  1289. </td>
  1290. </tr>
  1291. <tr>
  1292. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>10、加强后勤保障能力,保证人员吃住行的安全。</span>
  1293. </td>
  1294. </tr>
  1295. <tr>
  1296. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>11、进行班前思想教育、统一思想,认真完成工作交底,确保人员、设备安全。</span>
  1297. </td>
  1298. </tr>
  1299. </table>
  1300. </div>
  1301. <!--***************************************************************************************************************************-->
  1302. <div id="slsscs" style="display:none">
  1303. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1304. <tr>
  1305. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >受累损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1306. </tr>
  1307. <tr>
  1308. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、关注电网计划检修时间,合理优化、适当建议电网检修避开大风天气、恶略天气。</span><span id="wtid" class='text_title'></span></td>
  1309. </tr>
  1310. <tr>
  1311. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、恶略天气关注电网的变化,根据实际情况适当变换运行方式,做好事故预想。</span><span id="level" class='text_title'></span></td>
  1312. </tr>
  1313. <tr>
  1314. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、电网出现故障后,积极联络、及时沟通、主动采取措施,尽快消除故障,恢复运行。</span>
  1315. </td>
  1316. </tr>
  1317. <tr>
  1318. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、电网检修时,安排专人负责联系检修人员、大客户经理、调度员等,确认检修进度,及时反馈。工作完成后,及时联系相关人员,争取提前恢复运行。安排风场做好恢复运行的准备工作。</span>
  1319. </td>
  1320. </tr>
  1321. </table>
  1322. </div>
  1323. <!--***************************************************************************************************************************-->
  1324. <div id="xdsscs" style="display:none">
  1325. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1326. <tr>
  1327. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >限电损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1328. </tr>
  1329. <tr>
  1330. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、关注国家、自治区、电网各级关于弃风限电的政策。按相关政策要求,及时应对和采取措施。</span><span id="wtid" class='text_title'></span></td>
  1331. </tr>
  1332. <tr>
  1333. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、在新能源电量与小火电置换、大用户直供、外送等方面增加营销力度。</span><span id="level" class='text_title'></span></td>
  1334. </tr>
  1335. <tr>
  1336. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、积极与宁夏电网调度机构进行沟通,在负荷有空间时,有较高风速时,及时申请提高负荷。</span>
  1337. </td>
  1338. </tr>
  1339. </table>
  1340. </div>
  1341. <!--***************************************************************************************************************************-->
  1342. </div>
  1343. </div>
  1344. <!--***************************************************************************************************************************-->
  1345. </body>