assess_situation.js 11 KB

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