assess_situation.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. var lianyungang_Station = new Array;
  2. var yancheng_Station = new Array;
  3. var nantong_Station = new Array;
  4. var r1 = new Array();
  5. var r2 = new Array();
  6. var r3 = new Array();
  7. var rank = new Array();
  8. function querySituationClick(){
  9. //每次点击前清空表格数据
  10. $(".table-tbody").empty('');
  11. var start_date = $("#start-time").val();
  12. var end_date = $("#end-time").val();
  13. if(start_date==null||start_date==''||start_date==undefined||end_date==null||end_date==''||end_date==undefined){
  14. tip("请选择起止日期");
  15. return ;
  16. }else{
  17. start_date += " 23:00:00";
  18. end_date += " 23:00:00";
  19. }
  20. var startStr = start_date.replace(/-/g, '/');
  21. var endStr = end_date.replace(/-/g, '/');
  22. var start = new Date(startStr);
  23. //开始日期取前一天的23:00
  24. start.setDate(start.getDate()-1);
  25. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  26. var end = new Date(endStr);
  27. if(start>end){
  28. tip("开始时间不能比结束时间大");
  29. return;
  30. }
  31. var param = {
  32. "dept_id": $("#fsList").val(),
  33. "start_date": start_date,
  34. "end_date": end_date,
  35. }
  36. var url = "statistics/score/info";
  37. var strTbody='';
  38. post_common_service( url,param,function(data){
  39. // 道管中心排名
  40. ranking_method(data);
  41. for(i=0;i<data.length;i++){
  42. $(".table-tbody").append(gethtml(data[i],i));
  43. }
  44. },function(error){
  45. return "" ;
  46. });
  47. }
  48. function initQuerySituation(){
  49. //默认初始化前一周查所有
  50. var endD = new Date();
  51. var now = new Date();
  52. var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
  53. var start_time = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate();
  54. var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate();
  55. //默认初始化时间页面回显
  56. $("#start-time").val(start_time);
  57. $("#end-time").val(end_time);
  58. var start_date = start_time+" 23:00:00";
  59. var end_date = end_time+" 23:00:00";
  60. var start = new Date(start_date);
  61. //开始日期取前一天的23:00
  62. start.setDate(start.getDate()-1);
  63. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  64. var param = {
  65. "start_date": start_date,
  66. "end_date": end_date,
  67. }
  68. var url = "statistics/score/info";
  69. var strTbody='';
  70. post_common_service( url,param,function(data){
  71. // 道管中心排名
  72. ranking_method(data)
  73. for(i=0;i<data.length;i++){
  74. $(".table-tbody").append(gethtml(data[i],i));
  75. }
  76. },function(error){
  77. return "" ;
  78. });
  79. }
  80. /**
  81. * 道管中心排名
  82. * @param {*} data
  83. */
  84. function ranking_method(data){
  85. //清空数组
  86. lianyungang_Station.length=0;
  87. yancheng_Station.length=0;
  88. nantong_Station.length=0;
  89. r1.length=0;
  90. r2.length=0;
  91. r3.length=0;
  92. rank.length=0;
  93. // 把收费站得分分别添加到3个数组
  94. for(i=0;i<data.length;i++){
  95. if(i>=0 && i<=6)
  96. lianyungang_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
  97. else if(i>6 && i<=12)
  98. yancheng_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
  99. else
  100. nantong_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
  101. }
  102. // 得分转化为3个排名数组
  103. for(var i=1;i<=3;i++){
  104. station_rank(i);
  105. }
  106. // 将3个排名数组合并成一个数组
  107. rank=r1.concat(r2).concat(r3);
  108. }
  109. function gethtml(data,i){
  110. var strTbody = "";
  111. if(i==0 || i==7 || i==13){
  112. var ranking;
  113. var name = "";
  114. var rowspan = 0;
  115. if(i==0){
  116. name = "连云港";
  117. rowspan = 7;
  118. ranking=rank[i];
  119. }else if(i==7){
  120. name = "盐城";
  121. rowspan = 6;
  122. ranking=rank[i];
  123. }else if(i==13){
  124. name = "南通";
  125. rowspan = 8;
  126. ranking=rank[i];
  127. }
  128. strTbody +="<tr><td rowspan="+rowspan+">"+name+"</td>";
  129. strTbody +="<td>"+ranking+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,0)
  130. +"</td><td>"+filter(data.checked_people_num,0)+"</td><td>"+filter(data.checked_num,0)
  131. +"</td><td>"+(data.checked_people_num-(data.score_fifteen+data.score_fifty+data.score_over_fifty))
  132. +"</td><td>"+data.score_fifteen+"</td><td>"+data.score_fifty+"</td><td>"
  133. +data.score_over_fifty+"</td><td>"+data.all_check_score+"</td><td>"
  134. +filterByZeroHandle(filterJudge(data.all_check_score,data.checked_num),'0')+"</td><td>"
  135. +filterByZeroHandle((1000-filterJudge(data.all_check_score,data.checked_num)),'1000')+"</td>";
  136. strTbody += "</tr>";
  137. }else{
  138. strTbody +="<tr>"
  139. strTbody +="<td>"+rank[i]+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,'0')
  140. +"</td><td>"+filter(data.checked_people_num,0)+"</td><td>"+filter(data.checked_num,'0')
  141. +"</td><td>"+(data.checked_people_num-(data.score_fifteen+data.score_fifty+data.score_over_fifty))
  142. +"</td><td>"+data.score_fifteen+"</td><td>"+data.score_fifty+"</td><td>"
  143. +data.score_over_fifty+"</td><td>"+data.all_check_score+"</td><td>"
  144. +filterByZeroHandle(filterJudge(data.all_check_score,data.checked_num),'0')+"</td><td>"
  145. +filterByZeroHandle((1000-filterJudge(data.all_check_score,data.checked_num)),'1000')+"</td>";
  146. strTbody+="</tr>";
  147. }
  148. return strTbody;
  149. }
  150. /**
  151. * 排名
  152. */
  153. function station_rank_method(array,rank){
  154. rank[0] = 1 ;
  155. for(var i=1; i<array.length; i++){
  156. if(array[i-1] == array[i] ){
  157. rank[i] = rank[i-1];
  158. }else{
  159. rank[i] = i +1;
  160. }
  161. }
  162. }
  163. /**
  164. * 得分转化为3个排名数组
  165. * @param {*} type
  166. */
  167. function station_rank(type){
  168. if(type==1){
  169. station_rank_method(lianyungang_Station, r1);
  170. }else if(type==2){
  171. station_rank_method(yancheng_Station, r2);
  172. }else if(type==3){
  173. station_rank_method(nantong_Station, r3);
  174. }
  175. }
  176. function filter(value , default_display_value){
  177. if(value!='' && value!=undefined ){
  178. return value ;
  179. }else if(default_display_value != undefined){
  180. return default_display_value ;
  181. }else{
  182. return "" ;
  183. }
  184. }
  185. /**
  186. * 过滤除数为0和保留二位小数时出现的0.00
  187. * @param {*} value
  188. * @param {*} default_display_value
  189. */
  190. function filterByZeroHandle(value , default_display_value){
  191. if(isNaN(value)){
  192. return default_display_value ;
  193. }else{
  194. if((value+'').endsWith('.00')){
  195. return value.substring(0,value.length-3);
  196. }
  197. return value ;
  198. }
  199. }
  200. function filterJudge(num1,num2){
  201. if(num2==0){
  202. return 0;
  203. }else{
  204. return (num1/num2).toFixed(2);
  205. }
  206. }
  207. function exportExcel(){
  208. var start_date = $("#start-time").val();
  209. var end_date = $("#end-time").val();
  210. if( start_date=='' || end_date==''){
  211. tip("请选择起止日期");
  212. return ;
  213. }else{
  214. start_date += " 23:00:00";
  215. end_date += " 23:00:00";
  216. var start = new Date(start_date);
  217. //开始日期取前一天的23:00
  218. start.setDate(start.getDate()-1);
  219. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  220. }
  221. window.open( getserveraddr() + "/file/score/info?start_date="+start_date+"&end_date="+end_date);
  222. }