rtu_status.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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].rtu_status + ')');
  18. var c1 = row.insertCell(0);
  19. c1.innerHTML = '<div class="deviceId">' + stat.imei + '</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 (data[i].is_online == "1") c3.innerHTML = '<img src="static/img/onLine.png" alt="">';
  25. else if (data[i].is_online == "0") c3.innerHTML = '<img src="static/img/offLine.png" title=离线时间:' + data[i].off_time.replace(' ', ' ') + ' alt="">';
  26. else c3.innerHTML = "--";
  27. var c4 = row.insertCell(3);
  28. c4.innerHTML = stat.cbd_id;
  29. var c5 = row.insertCell(4);
  30. c5.innerHTML = stat.csq;
  31. // var c6 = row.insertCell(5);
  32. // c6.innerHTML = stat.proj
  33. var c6 = row.insertCell(5);
  34. c6.innerHTML = stat.dver;
  35. // var c8 = row.insertCell(7);
  36. // var cpu = stat.cpu_tmp / 1000
  37. // c8.innerHTML = cpu;
  38. var c7 = row.insertCell(6);
  39. if (stat.cam_sta == 0) c7.innerHTML = '正常';
  40. else c7.innerHTML = '异常';
  41. var c8 = row.insertCell(7);
  42. c8.innerHTML = stat.dat_f;
  43. var c9 = row.insertCell(8);
  44. c9.innerHTML = data[i].upl_time;
  45. var c10 = row.insertCell(9);
  46. c10.innerHTML = '<button onclick="reloadPage($(this))" class="btn btn-sm btn-success green">刷新</button>';
  47. var c11 = row.insertCell(10);
  48. c11.innerHTML = '<button onclick="reloadPage($(this))" class="btn btn-sm btn-success red">重启</button> <button onclick="reloadPage($(this))" class="btn btn-sm btn-success">升级</button> <button onclick="reloadPage($(this))" class="btn btn-sm btn-success">拍照</button> <button class="btn btn-sm btn-primary" onclick="openDetialPage(\'rtu_data?id='+stat.imei+'\')">详情</button>';
  49. // c13.innerHTML = '<button class="btn btn-sm btn-primary" onclick="openDetialPage(\'rtu_data?id='+stat.imei+'\')">详情</button>';
  50. }
  51. }
  52. // //刷新、重启等操作
  53. function reloadPage(obj, ext) {
  54. var parent = obj.parents('tr');
  55. var deviceId = parent.find('.deviceId').html().trim();
  56. id = deviceId.toString();
  57. var topicid = [];
  58. topicid.push(id);
  59. var ext = obj.context.innerHTML
  60. var extData
  61. if (ext == '重启') {
  62. extData = "reboot"
  63. } else if (ext == '升级') {
  64. extData = "update"
  65. } else if (ext == '拍照') {
  66. extData = "takephoto"
  67. } else if (ext == '刷新') {
  68. extData = "data"
  69. }
  70. $.ajax({
  71. type: "post",
  72. url: 'rtu_mqtt',
  73. data: {
  74. id: id,
  75. ext: extData
  76. },
  77. beforeSend: function () {
  78. $('#loadingParent').show();
  79. },
  80. complete: function () {
  81. setTimeout(function () {
  82. $('#loadingParent').hide();
  83. },3000)
  84. },
  85. dataType: "json",
  86. success: function (data) {
  87. if (data == "0") {
  88. layer.msg("发送成功!");
  89. }
  90. else {
  91. layer.msg("发送失败!")
  92. }
  93. }
  94. })
  95. }
  96. // 分页初始化
  97. layui.use('laypage', function () {
  98. // var equip_id = document.getElementById("equip_id").value
  99. var laypage = layui.laypage;
  100. laypage.render({
  101. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  102. , count: $('#totalPage').val()
  103. , theme: '#428BCA'
  104. , layout: ['prev', 'page', 'next', 'skip']
  105. , jump: function (obj, first) {
  106. $.ajax({
  107. type: "post",
  108. url: "rtu_view",
  109. data: {
  110. page: obj.curr
  111. },
  112. dataType: "json",
  113. beforeSend: function () {
  114. $('#loadingParent').show();
  115. },
  116. complete: function () {
  117. $('#loadingParent').hide();
  118. },
  119. success: function (data) {
  120. if (data.dat.length > 0) {
  121. Fill_Table('datatable', data.dat);
  122. $('#page').parent().show();
  123. } else {
  124. Fill_null_Table('datatable', data.dat);
  125. $('#page').parent().hide();
  126. }
  127. $('#iframe-main', parent.document).css('height', $('.content').height())
  128. }
  129. });
  130. if (!first) {
  131. $("#datatable tr:not(:first)").remove();
  132. }
  133. }
  134. });
  135. });
  136. //筛选
  137. function sub_filter() {
  138. var ename = $('#ename').val();
  139. var eId = $('#eId').val();
  140. $("#datatable tr:not(:first)").html("");
  141. $.ajax({
  142. url: 'rtu_view',
  143. type: 'post',
  144. data: {
  145. req: "filter",
  146. ename: ename,
  147. page: 1,
  148. f_id: eId
  149. },
  150. beforeSend: function () {
  151. $('#loadingParent').show();
  152. },
  153. complete: function () {
  154. $('#loadingParent').hide();
  155. },
  156. success: function (data) {
  157. var msg = $.parseJSON(data);
  158. if (msg.dat.length > 0) {
  159. Fill_Table('datatable', msg.dat);
  160. $('#page').parent().show();
  161. } else {
  162. Fill_null_Table('datatable', msg.dat);
  163. $('#page').parent().hide();
  164. }
  165. var datas = {
  166. req: "filter",
  167. ename: ename,
  168. f_id: eId
  169. };
  170. initSearchPage(msg.nums, 'rtu_view', datas);
  171. if ($('.content').height() > 750) {
  172. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  173. } else {
  174. $('#iframe-main', parent.document).css('height', '750px')
  175. }
  176. }
  177. })
  178. }
  179. //搜索分页
  180. function initSearchPage(page, url, datas) {
  181. layui.use('laypage', function () {
  182. var laypage = layui.laypage;
  183. laypage.render({
  184. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  185. // , count: 30
  186. , count: page
  187. , theme: '#428BCA'
  188. , layout: ['prev', 'page', 'next', 'skip']
  189. , jump: function (obj, first) {
  190. datas.page = obj.curr;
  191. if (!first) {
  192. $.ajax({
  193. url: url,
  194. type: 'post',
  195. data: datas,
  196. beforeSend: function () {
  197. $('#loadingParent').show();
  198. },
  199. complete: function () {
  200. $('#loadingParent').hide();
  201. },
  202. success: function (data) {
  203. $("#datatable tr:not(:first)").html("");
  204. var msg = $.parseJSON(data);
  205. if (msg.dat.length > 0) {
  206. Fill_Table('datatable', msg.dat)
  207. } else {
  208. Fill_null_Table('datatable', msg.dat)
  209. }
  210. if ($('.content').height() > 750) {
  211. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  212. } else {
  213. $('#iframe-main', parent.document).css('height', '750px')
  214. }
  215. }
  216. })
  217. }
  218. }
  219. });
  220. });
  221. }
  222. // 窗口改变iframe高度改变
  223. $(window).resize(function () {
  224. if ($('.content').height() > 750) {
  225. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  226. } else {
  227. $('#iframe-main', parent.document).css('height', '750px')
  228. }
  229. });