bzy_report.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. // 时间插件初始化
  2. layui.use('laydate', function () {
  3. var laydate = layui.laydate;
  4. //执行一个laydate实例
  5. laydate.render({
  6. elem: '#timSelectBox' //指定元素
  7. , range: true
  8. , done: function (value, date) {
  9. var dateArray = value.split(' - ')
  10. $('#begin').val(dateArray[0])
  11. $('#end').val(dateArray[1])
  12. }
  13. });
  14. });
  15. function Fill_null_Table(table_id, data) {
  16. var table = document.getElementById(table_id).children[1];
  17. var row = table.insertRow(table.rows.length);
  18. var c1 = row.insertCell(0);
  19. c1.setAttribute('colspan', '16');
  20. c1.setAttribute('class', 'nullData');
  21. c1.innerHTML = "暂无数据";
  22. }
  23. var parentUserName = $('#parentUserName', parent.document).html();
  24. if (parentUserName == '巩义长寿山' || parentUserName == '梁平区农委') {
  25. $(document.getElementById('datatable').children[0]).find('tr').append('<th>孢子统计</th>');
  26. }
  27. function Fill_Table(table_id, dat) {
  28. var table = document.getElementById(table_id).children[1];
  29. for (var i = 0; i < dat.length; i++) {
  30. var row = table.insertRow(table.rows.length);
  31. if (dat[i].length == 0) { continue; }
  32. //JSON字符串转换JSON对象
  33. var stat = eval('(' + dat[i].bzy_status + ')');
  34. var c1 = row.insertCell(0);
  35. c1.innerHTML = '<div class="deviceId">' + dat[i].equip_id;
  36. var c2 = row.insertCell(1);
  37. if (dat[i].equip_name == "") c2.innerHTML = "无"
  38. else c2.innerHTML = dat[i].equip_name;
  39. var c3 = row.insertCell(2);
  40. if (stat.on_off == 1) c3.innerHTML = '开';
  41. else if (stat.on_off == 0) c3.innerHTML = '关'; //0关(之前)
  42. var c4 = row.insertCell(3);
  43. c4.innerHTML = stat.v_bat;
  44. var c5 = row.insertCell(4);
  45. c5.innerHTML = stat.set_temp;
  46. var c6 = row.insertCell(5);
  47. c6.innerHTML = stat.pre_temp;
  48. var c7 = row.insertCell(6);
  49. if (stat.usb_sta == 0) c7.innerHTML = '<img src="static/img/usb_sta1.png" alt="">';
  50. else c7.innerHTML = '<img src="static/img/usb_sta2.png" alt="">';
  51. var c8 = row.insertCell(7);
  52. if (stat.bat_sta == 0) c8.innerHTML = '<img src="static/img/vbat1.png" alt="">';
  53. else c8.innerHTML = '<img src="static/img/vbat2.png" alt="电量过低">';
  54. var c9 = row.insertCell(8);
  55. c9.innerHTML = stat.at;
  56. var c10 = row.insertCell(9);
  57. c10.innerHTML = stat.ah;
  58. var c11 = row.insertCell(10);
  59. c11.innerHTML = dat[i].upl_time;
  60. var c12 = row.insertCell(11);
  61. c12.innerHTML = "<button onclick='reloadPage($(this))' class='btn btn-sm btn-success'>查询</button>";
  62. var c13 = row.insertCell(12);
  63. // c13.innerHTML = "<button onclick='viewimg($(this))' class='btn btn-sm btn-primary'>查看图片</button>";
  64. c13.innerHTML = '<button class="btn btn-sm btn-primary" onclick="openDetialPage(\'bzy/bzy_photo?imei='+dat[i].equip_id+'\')">查看图片</button>';
  65. var c14 = row.insertCell(13);
  66. // c14.innerHTML = "<button onclick='details($(this))' class='btn btn-sm btn-primary'>查看详情</button>";
  67. // c14.innerHTML = "<button onclick='details($(this))' class='btn btn-sm btn-primary'>查看详情</button>";
  68. c14.innerHTML = '<button class="btn btn-sm btn-primary" onclick="openDetialPage(\'bzy_report_detail?id='+dat[i].equip_id+'\')">详情</button>';
  69. if (parentUserName == '巩义长寿山' || parentUserName == '梁平区农委') {
  70. // var equip_desc = dat[i].equip_desc;
  71. // if (equip_desc == 0 || equip_desc == '' || equip_desc == null) {
  72. // var txt = '使用中';
  73. // } else if (equip_desc == 1) {
  74. // var txt = '维修';
  75. // } else if (equip_desc == 2) {
  76. // var txt = '弃用';
  77. // } else {
  78. // var txt = '未定义';
  79. // }
  80. var c15 = row.insertCell(14);
  81. // c18.innerHTML = "<input type='hidden' value='" + equip_desc + "' /><a href='javascript:;' onclick='changeStatus($(this)," + stat.imei + ")' class=''>" + txt + "</a>";
  82. c15.innerHTML = '<button class="btn btn-sm btn-primary" onclick="openDetialPage(\'bzy_report_statistics?id='+dat[i].equip_id+'\')">孢子统计</button>';
  83. }
  84. }
  85. }
  86. //刷新:下发查询:
  87. function reloadPage(obj) {
  88. var parent = obj.parents('tr');
  89. var deviceId = parent.find('.deviceId').html().trim();
  90. $.ajax({
  91. type: "post",
  92. url: 'bzy_mqtt',
  93. data: {
  94. "req": "read",//读取
  95. "topicid": deviceId,
  96. "kind": "data"//读取下位机数据
  97. },
  98. dataType: "json",
  99. beforeSend: function () {
  100. $('#loadingParent').show();
  101. },
  102. complete: function () {
  103. setTimeout(function () {
  104. $('#loadingParent').hide();
  105. }, 3000)
  106. },
  107. success: function (data) {
  108. if (data == "0") {
  109. layer.msg("发送成功!")
  110. setTimeout(function () {
  111. var ename = $('#ename').val();
  112. var eId = $('#eId').val();
  113. var page = $('.layui-laypage-curr em').eq(1).html();
  114. var data = {
  115. req: "filter",
  116. ename: ename,
  117. f_id: eId,
  118. page: page
  119. };
  120. $.post("bzy_report", data, function (data) {
  121. $("#datatable tr:not(:first)").html("");
  122. var msg = $.parseJSON(data);
  123. if (msg.dat.length > 0) {
  124. Fill_Table('datatable', msg.dat);
  125. $('#page').parent().show();
  126. } else {
  127. Fill_null_Table('datatable', msg.dat);
  128. $('#page').parent().hide();
  129. }
  130. });
  131. // window.location.href = window.location.href;
  132. }, 3000)
  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 = "bzy_report_detail?id=" + id;
  144. }
  145. function viewimg(obj) {
  146. var parent = obj.parents('tr');
  147. var deviceId = parent.find('.deviceId').html().trim();
  148. imei = deviceId.toString();
  149. window.location.href = "bzy/bzy_photo?imei=" + imei;
  150. }
  151. // 分页初始化
  152. layui.use('laypage', function () {
  153. var laypage = layui.laypage;
  154. laypage.render({
  155. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  156. , count: $('#totalPage').val()
  157. ,theme: '#428BCA'
  158. , layout: ['prev', 'page', 'next', 'skip']
  159. , jump: function (obj) {
  160. $.ajax({
  161. type: "get",
  162. url: "bzy_report?req="+"reqdat"+'&page='+obj.curr,
  163. dataType: "json",
  164. beforeSend: function () {
  165. $('#loadingParent').show();
  166. },
  167. complete: function () {
  168. $('#loadingParent').hide();
  169. },
  170. success: function (data) {
  171. $("#datatable tr:not(:first)").html("");
  172. // js循环读取json数据
  173. if (data.length > 0) {
  174. Fill_Table('datatable', data);
  175. $('#page').parent().show();
  176. } else {
  177. Fill_null_Table('datatable');
  178. $('#page').parent().hide();
  179. }
  180. $('#iframe-main', parent.document).css('height', $('.content').height())
  181. }
  182. })
  183. }
  184. });
  185. });
  186. //筛选
  187. function sub_filter() {
  188. var ename = $('#ename').val();
  189. var eId = $('#eId').val();
  190. $("#datatable tr:not(:first)").html("");
  191. $.ajax({
  192. url: 'bzy_report',
  193. type: 'post',
  194. data: {
  195. req: "filter",
  196. ename: ename,
  197. page:1,
  198. f_id:eId
  199. },
  200. beforeSend: function () {
  201. $('#loadingParent').show();
  202. },
  203. complete: function () {
  204. $('#loadingParent').hide();
  205. },
  206. success: function (data) {
  207. var msg = $.parseJSON(data);
  208. if (msg.dat.length > 0) {
  209. Fill_Table('datatable', msg.dat);
  210. $('#page').parent().show();
  211. } else {
  212. Fill_null_Table('datatable', msg);
  213. $('#page').parent().hide();
  214. }
  215. var datas = {
  216. req: "filter",
  217. ename: ename,
  218. f_id:eId
  219. };
  220. initSearchPage(msg.nums, 'bzy_report',datas);
  221. if ($('.content').height() > 750) {
  222. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  223. } else {
  224. $('#iframe-main', parent.document).css('height', '750px')
  225. }
  226. }
  227. })
  228. }
  229. //搜索分页
  230. function initSearchPage(page, url, datas) {
  231. layui.use('laypage', function () {
  232. var laypage = layui.laypage;
  233. laypage.render({
  234. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  235. , count: page
  236. ,theme: '#428BCA'
  237. , layout: ['prev', 'page', 'next', 'skip']
  238. , jump: function (obj, first) {
  239. datas.page = obj.curr;
  240. if (!first) {
  241. $.ajax({
  242. url: url,
  243. type: 'post',
  244. data: datas,
  245. beforeSend: function () {
  246. $('#loadingParent').show();
  247. },
  248. complete: function () {
  249. $('#loadingParent').hide();
  250. },
  251. success: function (data) {
  252. $("#datatable tr:not(:first)").html("");
  253. var msg = $.parseJSON(data);
  254. if (msg.dat.length > 0) {
  255. Fill_Table('datatable', msg.dat)
  256. } else {
  257. Fill_null_Table('datatable', msg.dat)
  258. }
  259. if ($('.content').height() > 750) {
  260. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  261. } else {
  262. $('#iframe-main', parent.document).css('height', '750px')
  263. }
  264. }
  265. })
  266. }
  267. }
  268. });
  269. });
  270. }
  271. // 窗口改变iframe高度改变
  272. $(window).resize(function () {
  273. if ($('.content').height() > 750) {
  274. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  275. } else {
  276. $('#iframe-main', parent.document).css('height', '750px')
  277. }
  278. });