scd_report.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. var user = document.getElementById("datatable");
  2. function Fill_null_Table(table_id, data) {
  3. var table = document.getElementById(table_id).children[1];
  4. var row = table.insertRow(table.rows.length);
  5. var c1 = row.insertCell(0);
  6. c1.setAttribute('colspan', '18');
  7. c1.setAttribute('class', 'nullData');
  8. c1.innerHTML = "暂无数据";
  9. }
  10. function Fill_Table(table_id, data) {
  11. //js循环读取json数据
  12. var table = document.getElementById(table_id).children[1];
  13. for (var i = 0; i < data.length; i++) {
  14. var row = table.insertRow(table.rows.length);
  15. if (data[i].length == 0) { continue; }
  16. //JSON字符串转换JSON对象
  17. var stat = eval('(' + data[i].scd_data + ')');
  18. var c1 = row.insertCell(0);
  19. c1.innerHTML = '<div class="deviceId">' + data[i].equip_id + '</div>';
  20. var c2 = row.insertCell(1);
  21. if (data[i].equip_name == "") c2.innerHTML = "无";
  22. else c2.innerHTML = data[i].equip_name;
  23. var c3 = row.insertCell(2);
  24. if (stat.ds == 0) c3.innerHTML = "关";
  25. else c3.innerHTML = "开";
  26. var c4 = row.insertCell(3);
  27. if (stat.ws == 0) c4.innerHTML = "待机";
  28. else if (stat.ws == 1) c4.innerHTML = "工作";
  29. else if (stat.ws == 2) c4.innerHTML = "充电";
  30. var c5 = row.insertCell(4);
  31. if (stat.tbs == 0) c5.innerHTML = '<img src="static/img/green.png" alt="">';
  32. else c5.innerHTML = '<img src="static/img/red.png" alt="">';
  33. var c6 = row.insertCell(5);
  34. if (stat.rps == 0) c6.innerHTML = '<img src="static/img/noRCtrl.png" alt="">';
  35. else c6.innerHTML = '<img src="static/img/rCtrl.png" alt="">';
  36. var c7 = row.insertCell(6);
  37. if (stat.tps == 0) c7.innerHTML = '<img src="static/img/noHighTemp.png" alt="">';
  38. else c7.innerHTML = '<img src="static/img/highTemp.png" alt="">';
  39. var c8 = row.insertCell(7);
  40. if (stat.dps == 0) c8.innerHTML = '<img src="static/img/dps1.png" alt="">';
  41. else c8.innerHTML = '<img src="static/img/dps2.png" alt="">';
  42. var c9 = row.insertCell(8);
  43. if(stat.tcs == 1){
  44. c9.innerHTML = stat.st + '-' + stat.et;
  45. }else{
  46. if (stat.tt == 0) c9.innerHTML = "常亮";
  47. else c9.innerHTML = stat.tt;
  48. }
  49. var c10 = row.insertCell(9);
  50. c10.innerHTML = stat.ct;
  51. var c11 = row.insertCell(10);
  52. c11.innerHTML = stat.at;
  53. var c12 = row.insertCell(11);
  54. c12.innerHTML = stat.ah;
  55. var c13 = row.insertCell(12);
  56. c13.innerHTML = (stat.cv / 1000).toFixed(2);
  57. var c14 = row.insertCell(13);
  58. c14.innerHTML = (stat.bv / 1000).toFixed(2);
  59. var c15 = row.insertCell(14);
  60. if (stat.lng > 999) {
  61. var lng = Math.floor(stat.lng / 100) + ((stat.lng % 100) / 60);
  62. } else {
  63. var lng = Number(stat.lng);
  64. }
  65. c15.innerHTML = lng.toFixed(4);
  66. var c16 = row.insertCell(15);
  67. if (stat.lng > 999) {
  68. var lat = Math.floor(stat.lat / 100) + ((stat.lat % 100) / 60);
  69. } else {
  70. var lat = Number(stat.lat);
  71. }
  72. c16.innerHTML = lat.toFixed(4);
  73. var c17 = row.insertCell(16);
  74. c17.innerHTML = data[i].upl_time;
  75. var c18 = row.insertCell(17);
  76. // c18.innerHTML = "<button onclick='reloadPage($(this))' class='btn btn-sm btn-success'>查询</button> <button onclick='details($(this))' class='btn btn-sm btn-primary'>详情</button>";
  77. c18.innerHTML = '<button onclick="reloadPage($(this))" class="btn btn-sm btn-success">查询</button> <button class="btn btn-sm btn-primary" onclick="openDetialPage(\'scd_report_detail?id='+data[i].equip_id+'\')">详情</button>';
  78. }
  79. }
  80. //刷新
  81. function reloadPage(obj) {
  82. var parent = obj.parents('tr');
  83. var deviceId = parent.find('.deviceId').html().trim();
  84. id = deviceId.toString();
  85. var topicid = [];
  86. topicid.push(id);
  87. $.ajax({
  88. type: "post",
  89. url: 'scd_mqtt',
  90. beforeSend: function () {
  91. $('#loadingParent').show();
  92. },
  93. complete: function () {
  94. setTimeout(function () {
  95. $('#loadingParent').hide();
  96. },3000)
  97. },
  98. data: {
  99. "sw": "read",//读取
  100. "topicid": JSON.stringify(topicid),
  101. "kind": "data"//读取下位机数据
  102. },
  103. dataType: "json",
  104. success: function (data) {
  105. if (data == "0") {
  106. layer.msg("发送成功!");
  107. var eswitch = $('#eswitch').val();
  108. var ename = $('#ename').val();
  109. var eId = $('#eId').val();
  110. var page = $('.layui-laypage-curr em').eq(1).html();
  111. var data = {
  112. req: "filter",
  113. ename: ename,
  114. eswitch: eswitch,
  115. f_id:eId,
  116. page: page,
  117. }
  118. setTimeout(function () {
  119. $.post("scd_report",data,function(data){
  120. $("#datatable tr:not(:first)").html("");
  121. var msg = $.parseJSON(data);
  122. if (msg.dat.length > 0) {
  123. Fill_Table('datatable', msg.dat);
  124. $('#page').parent().show();
  125. } else {
  126. Fill_null_Table('datatable', msg.dat);
  127. $('#page').parent().hide();
  128. }
  129. $('#checkAll').prop('checked',false)
  130. });
  131. }, 3000)
  132. }
  133. else {
  134. layer.msg("发送失败!")
  135. }
  136. }
  137. })
  138. }
  139. function details(obj) {
  140. var parent = obj.parents('tr');
  141. var deviceId = parent.find('.deviceId').html().trim();
  142. id = deviceId.toString();
  143. window.location.href = "scd_report_detail?id=" + id;
  144. }
  145. // 分页初始化
  146. layui.use('laypage', function () {
  147. // var equip_id = document.getElementById("equip_id").value
  148. var laypage = layui.laypage;
  149. laypage.render({
  150. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  151. , count: $('#totalPage').val()
  152. , theme: '#428BCA'
  153. , layout: ['prev', 'page', 'next', 'skip']
  154. , jump: function (obj, first) {
  155. $.ajax({
  156. type: "get",
  157. url: "scd_report?req=" + "reqdat" + '&page=' + obj.curr,
  158. dataType: "json",
  159. beforeSend: function () {
  160. $('#loadingParent').show();
  161. },
  162. complete: function () {
  163. $('#loadingParent').hide();
  164. },
  165. success: function (data) {
  166. if (data.length > 0) {
  167. Fill_Table('datatable', data);
  168. $('#page').parent().show();
  169. } else {
  170. Fill_null_Table('datatable', data);
  171. $('#page').parent().hide();
  172. }
  173. $('#iframe-main', parent.document).css('height', $('.content').height())
  174. }
  175. });
  176. if (!first) {
  177. $("#datatable tr:not(:first)").remove();
  178. }
  179. }
  180. });
  181. });
  182. //筛选
  183. function sub_filter() {
  184. var ename = $('#ename').val();
  185. var eId = $('#eId').val();
  186. $("#datatable tr:not(:first)").html("");
  187. $.ajax({
  188. url: 'scd_report',
  189. type: 'post',
  190. data: {
  191. req: "filter",
  192. ename: ename,
  193. page: 1,
  194. f_id: eId
  195. },
  196. beforeSend: function () {
  197. $('#loadingParent').show();
  198. },
  199. complete: function () {
  200. $('#loadingParent').hide();
  201. },
  202. success: function (data) {
  203. var msg = $.parseJSON(data);
  204. if (msg.dat.length > 0) {
  205. Fill_Table('datatable', msg.dat);
  206. $('#page').parent().show();
  207. } else {
  208. Fill_null_Table('datatable', msg.dat);
  209. $('#page').parent().hide();
  210. }
  211. var datas = {
  212. req: "filter",
  213. ename: ename,
  214. f_id: eId
  215. };
  216. initSearchPage(msg.nums, 'scd_report', datas);
  217. if ($('.content').height() > 750) {
  218. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  219. } else {
  220. $('#iframe-main', parent.document).css('height', '750px')
  221. }
  222. }
  223. })
  224. }
  225. //搜索分页
  226. function initSearchPage(page, url, datas) {
  227. layui.use('laypage', function () {
  228. var laypage = layui.laypage;
  229. laypage.render({
  230. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  231. // , count: 30
  232. , count: page
  233. , theme: '#428BCA'
  234. , layout: ['prev', 'page', 'next', 'skip']
  235. , jump: function (obj, first) {
  236. datas.page = obj.curr;
  237. if (!first) {
  238. $.ajax({
  239. url: url,
  240. type: 'post',
  241. data: datas,
  242. beforeSend: function () {
  243. $('#loadingParent').show();
  244. },
  245. complete: function () {
  246. $('#loadingParent').hide();
  247. },
  248. success: function (data) {
  249. $("#datatable tr:not(:first)").html("");
  250. var msg = $.parseJSON(data);
  251. if (msg.dat.length > 0) {
  252. Fill_Table('datatable', msg.dat)
  253. } else {
  254. Fill_null_Table('datatable', msg.dat)
  255. }
  256. if ($('.content').height() > 750) {
  257. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  258. } else {
  259. $('#iframe-main', parent.document).css('height', '750px')
  260. }
  261. }
  262. })
  263. }
  264. }
  265. });
  266. });
  267. }
  268. // 窗口改变iframe高度改变
  269. $(window).resize(function () {
  270. if ($('.content').height() > 750) {
  271. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  272. } else {
  273. $('#iframe-main', parent.document).css('height', '750px')
  274. }
  275. });