equipmanage_scd.js 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846
  1. var topicid = []; //imei数组
  2. $(function () {
  3. // 时间插件初始化
  4. layui.use(['laydate','form'], function () {
  5. var laydate = layui.laydate;
  6. var form = layui.form;
  7. //执行一个laydate实例
  8. // laydate.render({
  9. // elem: '#timSelectBoxBegin' //指定元素
  10. // , type: 'time'
  11. // // , range: true
  12. // , min: '18:00:00'
  13. // , max: '23:59:59'
  14. // ,btns: ['clear', 'confirm']
  15. // , format: 'H点'
  16. // , done: function (value, date, endDate) {
  17. // $('#begin').val(date.hours)
  18. // }
  19. // });
  20. // //执行一个laydate实例
  21. // laydate.render({
  22. // elem: '#timSelectBoxEnd' //指定元素
  23. // , type: 'time'
  24. // , min: '00:00:00'
  25. // , max: '05:00:00'
  26. // ,btns: ['clear', 'confirm']
  27. // , format: 'H点'
  28. // , done: function (value, date) {
  29. // $('#end').val(date.hours)
  30. // }
  31. // });
  32. form.on('select(userSelect)', function(data){
  33. dverSelect()
  34. console.log(data.elem); //得到select原始DOM对象
  35. console.log(data.value); //得到被选中的值
  36. console.log(data.othis); //得到美化后的DOM对象
  37. });
  38. });
  39. $('#clock').on('change', function () {
  40. if ($(this).val() == 0) {
  41. $('#timeHourParent').hide();
  42. $('#durationParent').show();
  43. $('#timSelectBox').val('');
  44. $('#begin').val('0');
  45. $('#end').val('0');
  46. $('#dSwitchParent').show();
  47. } else {
  48. $('#timeHourParent').show();
  49. $('#durationParent').hide();
  50. $('#duration').val(0);
  51. $('#switchBtn').val('设备开关');
  52. $('#dSwitchParent').hide();
  53. }
  54. })
  55. var user = document.getElementById("datatable");
  56. // 分页初始化
  57. layui.use('laypage', function () {
  58. var laypage = layui.laypage;
  59. laypage.render({
  60. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  61. , count: $('#totalPage').val()
  62. , theme: '#428BCA'
  63. , layout: ['prev', 'page', 'next', 'skip']
  64. , jump: function (obj, first) {
  65. $('#scdState').val('定时时长');
  66. $('#equipSwBtn').val('设备开关');
  67. $('#equipSwBtn').attr('disabled', true);
  68. $('#simsearch').attr('disabled', true);
  69. $('#scdState').attr('disabled', true);
  70. $('#autoClear').attr('disabled', true);
  71. $('#deviceConfig').attr('disabled', true);
  72. $('#debugging').attr('disabled', true);
  73. $('#newStatus').attr('disabled', true);
  74. $('#operationBtn').attr('disabled', true);
  75. $('#reportConfig').attr('disabled', true);
  76. $.ajax({
  77. url: 'equipmanage_scd',
  78. type: 'post',
  79. data: {
  80. req: "reqdat",
  81. page: obj.curr
  82. },
  83. beforeSend: function () {
  84. $('#loadingParent').show();
  85. },
  86. complete: function () {
  87. $('#loadingParent').hide();
  88. },
  89. success: function (data) {
  90. var msg = $.parseJSON(data);
  91. if ($('#totalPage').val() > 0) {
  92. Fill_Table('datatable', msg);
  93. $('#page').parent().show();
  94. } else {
  95. Fill_null_Table('datatable', msg);
  96. $('#page').parent().hide();
  97. }
  98. topicid = [];//当点击下一页不保存当前选中项
  99. $('#checkAll').prop('checked', false)
  100. $('.controlModel').hide();
  101. // 当点击下一页保存当前选中项
  102. // for(var i = 0; i < topicid.length;i++){
  103. // $('.itemId').each(function(){
  104. // if($(this).html() == topicid[i]){
  105. // $(this).parent().find('.check').prop('checked','checked');
  106. // }
  107. // })
  108. // }
  109. scrollBar()
  110. }
  111. })
  112. if (!first) {
  113. $("#datatable tr:not(:first)").remove();
  114. }
  115. }
  116. });
  117. });
  118. })
  119. // 版本筛选
  120. function dverSelect(obj,param){
  121. var ename = $('#ename').val();
  122. var eId = $('#eId').val();
  123. var onoffSelectVal = $('#onoffSelect').val() || '';
  124. var edverVal = $('#edver').val() || '';
  125. var euserVal = $('#userSelect').val() || '';
  126. $.ajax({
  127. url: 'equipmanage_scd',
  128. type: 'post',
  129. data: {
  130. req: "filter",
  131. dver: edverVal,
  132. is_online: onoffSelectVal,
  133. ename: ename,
  134. f_id: eId,
  135. page:1,
  136. uname:euserVal
  137. },
  138. beforeSend: function () {
  139. $('#loadingParent').show();
  140. },
  141. complete: function () {
  142. $('#loadingParent').hide();
  143. },
  144. success: function (data) {
  145. $("#datatable tr:not(:first)").html("");
  146. var msg = $.parseJSON(data);
  147. if (msg.dat.length > 0) {
  148. Fill_Table('datatable', msg.dat);
  149. $('#page').parent().show();
  150. } else {
  151. Fill_null_Table('datatable', msg);
  152. $('#page').parent().hide();
  153. }
  154. var datas = {
  155. req: "filter",
  156. dver: edverVal,
  157. is_online: onoffSelectVal,
  158. ename: '',
  159. f_id: '',
  160. page:1,
  161. uname:euserVal
  162. }
  163. initSearchPage(msg.nums, 'equipmanage_scd',datas);
  164. if ($('.content').height() > 750) {
  165. $('#iframe-main', parent.document).css('height', $('.content').height() + 20)
  166. } else {
  167. $('#iframe-main', parent.document).css('height', '750px')
  168. }
  169. }
  170. })
  171. }
  172. function Fill_null_Table(table_id, data) {
  173. var table = document.getElementById(table_id).children[1];
  174. var row = table.insertRow(table.rows.length);
  175. var c1 = row.insertCell(0);
  176. c1.setAttribute('colspan', '16');
  177. c1.setAttribute('class', 'nullData');
  178. c1.innerHTML = "暂无数据";
  179. scrollBar();
  180. $('.innerTable').height(740);
  181. }
  182. function Fill_Table(table_id, dat) {
  183. //js循环读取json数据
  184. var table = document.getElementById(table_id).children[1];
  185. for (var i = 0; i < dat.length; i++) {
  186. var row = table.insertRow(table.rows.length);
  187. var c1 = row.insertCell(0);
  188. // c1.innerHTML = "<input type='checkbox' onchange='checkAllSelect()' class='check' name='title-table-checkbox' />";
  189. c1.innerHTML = '<div style="position:relative"><label class="my_protocol">' +
  190. '<input type="checkbox" class="check" onclick="checkAllSelect()" value="2014" name="check_box_list">' +
  191. '<span></span></label></div>';
  192. //JSON字符串转换JSON对象
  193. var stat = eval('(' + dat[i].scd_status + ')');
  194. var c2 = row.insertCell(1);
  195. c2.innerHTML = stat.imei;
  196. c2.setAttribute("class", "itemId");
  197. var c3 = row.insertCell(2);
  198. if (dat[i].equip_name == "") c3.innerHTML = "无";
  199. else c3.innerHTML = dat[i].equip_name;
  200. var c4 = row.insertCell(3);
  201. if (dat[i].is_online == 1) c4.innerHTML = '<img src="static/img/onLine.png" alt="">';
  202. else if (dat[i].is_online == 0) c4.innerHTML = '<img src="static/img/offLine.png" title=离线时间:' + dat[i].off_time.replace(' ', ' ') + ' alt="">';
  203. else c4.innerHTML = '--'
  204. var c5 = row.insertCell(4);
  205. if (stat.ds == 0) c5.innerHTML = "关";
  206. else c5.innerHTML = "开";
  207. c5.setAttribute("dSwitch", stat.ds);
  208. c5.setAttribute("class", "dSwitch");
  209. var c6 = row.insertCell(5);
  210. if (stat.ws == 0) c6.innerHTML = "待机";
  211. else if (stat.ws == 1) c6.innerHTML = "工作";
  212. else if (stat.ws == 2) c6.innerHTML = "充电";
  213. var c7 = row.insertCell(6);
  214. if (stat.tcs == 1) { //时控
  215. c7.innerHTML = stat.st + '-' + stat.et;
  216. c7.setAttribute("timeSwitch", 1);
  217. } else {
  218. if (stat.tt == 0) c7.innerHTML = "常亮";
  219. else c7.innerHTML = stat.tt;
  220. c7.setAttribute("timeSwitch", 0);
  221. }
  222. c7.setAttribute("class", "timeLength");
  223. var c8 = row.insertCell(7);
  224. if (stat.clt) c8.innerHTML = (stat.clt/60);
  225. else c8.innerHTML = '--';
  226. c8.setAttribute("class", "clt");
  227. var c9 = row.insertCell(8);
  228. if (stat.tbs == 0) c9.innerHTML = '<img src="static/img/green.png" alt="">';
  229. else c9.innerHTML = '<img src="static/img/red.png" alt="">';
  230. var c10 = row.insertCell(9);
  231. if (stat.lps == 0) c10.innerHTML = '<img src="static/img/night.png" alt="">';
  232. else c10.innerHTML = '<img src="static/img/daytime.png" alt="">';
  233. var c11 = row.insertCell(10);
  234. if (stat.rps == 0) c11.innerHTML = '<img src="static/img/noRCtrl.png" alt="">';
  235. else c11.innerHTML = '<img src="static/img/rCtrl.png" alt="">';
  236. var c12 = row.insertCell(11);
  237. if (stat.tps == 0) c12.innerHTML = '<img src="static/img/noHighTemp.png" alt="">';
  238. else c12.innerHTML = '<img src="static/img/highTemp.png" alt="">';
  239. var c13 = row.insertCell(12);
  240. if (stat.dps == 0) c13.innerHTML = '<img src="static/img/dps1.png" alt="">';
  241. else c13.innerHTML = '<img src="static/img/dps2.png" alt="">';
  242. var c14 = row.insertCell(13);
  243. c14.innerHTML = stat.csq;
  244. var c15 = row.insertCell(14);
  245. c15.innerHTML = stat.dattim || '--';
  246. c15.setAttribute("class", "dattim");
  247. var c16 = row.insertCell(15);
  248. c16.innerHTML = stat.dver;
  249. c16.setAttribute("class", "dver");
  250. var c17 = row.insertCell(16);
  251. c17.innerHTML = dat[i].upl_time + '<input class="iccid" type="hidden" value="' + stat.iccid + '">';
  252. scrollBar();
  253. $('.innerTable').height(740);
  254. }
  255. }
  256. // 单个复选框
  257. var zqc = [];
  258. function checkAllSelect() {
  259. var CheckCount = 0;
  260. $('.check').each(function () {
  261. if ($(this).prop("checked") == true) {
  262. CheckCount++;
  263. $(this).parents('tr').addClass('selectedColor');
  264. if (!contains(topicid, $(this).parents('tr').find('.itemId').html())) {
  265. topicid.push($(this).parents('tr').find('.itemId').html());
  266. var versions = $(this).parents('tr').find('.dver').html().split('-');
  267. if(versions.indexOf('ZQC') != -1){
  268. zqc.push($(this).parents('tr').find('.itemId').html());
  269. }
  270. }
  271. } else {
  272. $(this).parents('tr').removeClass('selectedColor');
  273. removeByValue(topicid, $(this).parents('tr').find('.itemId').html());
  274. removeByValue(zqc, $(this).parents('tr').find('.itemId').html());
  275. }
  276. });
  277. if (CheckCount == $('.check').length) {
  278. $('#checkAll').prop("checked", true);
  279. } else {
  280. $('#checkAll').prop("checked", false);
  281. }
  282. if (CheckCount > 0) {
  283. $('#equipSwBtn').attr('disabled', false);
  284. $('#scdState').attr('disabled', false);
  285. $('#deviceConfig').attr('disabled', false);
  286. $('#debugging').attr('disabled', false);
  287. $('#newStatus').attr('disabled', false);
  288. $('#operationBtn').attr('disabled', false);
  289. // $('.controlModel').slideDown();
  290. } else {
  291. $('#equipSwBtn').attr('disabled', true);
  292. $('#scdState').attr('disabled', true);
  293. $('#deviceConfig').attr('disabled', true);
  294. $('#debugging').attr('disabled', true);
  295. $('#newStatus').attr('disabled', true);
  296. $('#operationBtn').attr('disabled', true);
  297. $('#reportConfig').attr('disabled', true);
  298. // $('.controlModel').slideUp();
  299. }
  300. if (topicid.length == 1) {
  301. // var lConfig = $("#datatable .check:checked").parents('tr').find('.timeLength');
  302. var lConfigVal = $("#datatable .check:checked").parents('tr').find('.timeLength').html();
  303. var dSwitchVal = $("#datatable .check:checked").parents('tr').find('.dSwitch').attr('dSwitch');
  304. if (dSwitchVal != 0) {
  305. dSwitchVal = 1;
  306. }
  307. $('#scdState').val(parseInt(lConfigVal));
  308. $('#equipSwBtn').val(parseInt(dSwitchVal));
  309. $('#simsearch').attr('disabled', false);
  310. // 数据上传时间间隔操作 判断大于3.3.6的才能下发控制
  311. var dattimeVal = $("#datatable .check:checked").parents('tr').find('.dattim').html();
  312. var dver = $("#datatable .check:checked").parents('tr').find('.dver').html();
  313. var dverArr = dver.split('.');
  314. var dverArr2 = [];
  315. for(var i = 0;i< dverArr.length;i++){
  316. dverArr2.push(parseInt(dverArr[i]));
  317. }
  318. if((dverArr2[0]>=3)&&(dverArr2[1]>=3)&&(dverArr2[2]>=7)){
  319. $('#reportConfig').attr('disabled', false);
  320. }else{
  321. $('#reportConfig').attr('disabled', true);
  322. }
  323. } else {
  324. $('#scdState').val('定时时长');
  325. $('#equipSwBtn').val('设备开关');
  326. $('#simsearch').attr('disabled', true);
  327. }
  328. // 自清虫
  329. if(zqc.length > 0){
  330. $('#autoClear').attr('disabled', false);
  331. }else{
  332. $('#autoClear').attr('disabled', true);
  333. }
  334. }
  335. //全选
  336. function checkAll(obj) {
  337. $('#scdState').val('定时时长');
  338. $('#equipSwBtn').val('设备开关');
  339. $('#simsearch').attr('disabled', true);
  340. if (obj.prop("checked") == true) {
  341. $('.check').each(function () {
  342. $(this).prop("checked", true);
  343. $(this).parents('tr').addClass('selectedColor');
  344. if (!contains(topicid, $(this).parents('tr').find('.itemId').html())) {
  345. topicid.push($(this).parents('tr').find('.itemId').html());
  346. var versions = $(this).parents('tr').find('.dver').html().split('-');
  347. if(versions.indexOf('ZQC') != -1){
  348. zqc.push($(this).parents('tr').find('.itemId').html());
  349. }
  350. }
  351. });
  352. $('#equipSwBtn').attr('disabled', false);
  353. $('#scdState').attr('disabled', false);
  354. $('#deviceConfig').attr('disabled', false);
  355. $('#debugging').attr('disabled', false);
  356. $('#newStatus').attr('disabled', false);
  357. $('#operationBtn').attr('disabled', false);
  358. // $('.controlModel').slideDown();
  359. $('#autoClear').attr('disabled', false);
  360. } else {
  361. $('.check').each(function () {
  362. $(this).parents('tr').removeClass('selectedColor');
  363. $(this).prop("checked", false);
  364. });
  365. topicid = [];
  366. zqc = [];
  367. $('#equipSwBtn').attr('disabled', true);
  368. $('#scdState').attr('disabled', true);
  369. $('#deviceConfig').attr('disabled', true);
  370. $('#debugging').attr('disabled', true);
  371. $('#newStatus').attr('disabled', true);
  372. $('#operationBtn').attr('disabled', true);
  373. // $('.controlModel').slideUp();
  374. $('#autoClear').attr('disabled', true);
  375. }
  376. }
  377. //移除数组元素
  378. function removeByValue(arr, val) {
  379. for (var i = 0; i < arr.length; i++) {
  380. if (arr[i] == val) {
  381. arr.splice(i, 1);
  382. break;
  383. }
  384. }
  385. }
  386. //判断数组中是否包含元素
  387. function contains(arr, obj) {
  388. var i = arr.length;
  389. while (i--) {
  390. if (arr[i] === obj) {
  391. return true;
  392. }
  393. }
  394. return false;
  395. }
  396. //保存配置
  397. function saveMode() {
  398. var ts = $('#clock').val();
  399. var duration = $('#duration').val();
  400. var begin = $('#begin').val();
  401. var end = $('#end').val();
  402. if (ts == 1) {
  403. if (!begin) {
  404. layer.tips('请选择时间段', '#timSelectBoxBegin');
  405. return false;
  406. }else if (!end) {
  407. layer.tips('请选择时间段', '#timSelectBoxEnd');
  408. return false;
  409. }
  410. }
  411. $.ajax({
  412. url: 'scd_mqtt',
  413. type: 'post',
  414. data: {
  415. sw: "timer",//定时
  416. topicid: JSON.stringify(topicid),
  417. ts: ts,
  418. hours: duration,//光控模式下的定时时长
  419. begin: begin,
  420. end: end
  421. },
  422. beforeSend: function () {
  423. $('#loadingParent').show();
  424. },
  425. complete: function () {
  426. setTimeout(function () {
  427. $('#loadingParent').hide();
  428. }, 4000)
  429. },
  430. success: function (data) {
  431. if (data == "0") {
  432. layer.msg("发送成功!")
  433. // $('#myModal').modal('hide');
  434. var eId = $('#eId').val();
  435. var ename = $('#ename').val();
  436. var page = $('.layui-laypage-curr em').eq(1).html();
  437. var onoffSelectVal = $('#onoffSelect').val() || '';
  438. var edverVal = $('#edver').val() || '';
  439. var euserVal = $('#userSelect').val() || '';
  440. var data = {
  441. req: "filter",
  442. dver: edverVal,
  443. is_online: onoffSelectVal,
  444. ename: ename,
  445. page: page,
  446. f_id: eId,
  447. uname:euserVal
  448. }
  449. $('#myModal').modal('hide')
  450. setTimeout(function () {
  451. $.post("equipmanage_scd", data, function (data) {
  452. $("#datatable tr:not(:first)").html("");
  453. var msg = $.parseJSON(data);
  454. if (msg.dat.length > 0) {
  455. Fill_Table('datatable', msg.dat);
  456. $('#page').parent().show();
  457. } else {
  458. Fill_null_Table('datatable', msg.dat);
  459. $('#page').parent().hide();
  460. }
  461. $('#state').val('定时时长');
  462. $('#checkAll').prop('checked', false)
  463. $('#simsearch').attr('disabled', true);
  464. $('#equipSwBtn').attr('disabled', true);
  465. $('#scdState').attr('disabled', true);
  466. $('#autoClear').attr('disabled', true);
  467. $('#deviceConfig').attr('disabled', true);
  468. $('#debugging').attr('disabled', true);
  469. $('#newStatus').attr('disabled', true);
  470. $('#operationBtn').attr('disabled', true);
  471. $('#reportConfig').attr('disabled', true);
  472. $('#operationBtn').html('操作');
  473. $('.coerce').removeClass('coerceBlock');
  474. });
  475. }, 4000)
  476. }
  477. else {
  478. layer.msg("发送失败!")
  479. }
  480. }
  481. })
  482. }
  483. //关闭模态框时清空数据
  484. $(function () {
  485. $('#myModal').on('hidden.bs.modal', function () {
  486. $('#clock').val(0);
  487. $('#duration').val(0);
  488. $('#timeHourParent').hide();
  489. $('#durationParent').show();
  490. $('#timSelectBox').val('');
  491. $('#begin').val('');
  492. $('#end').val('');
  493. $('#switchBtn').val('设备开关');
  494. });
  495. });
  496. //刷新
  497. function reloadPage() {
  498. if (topicid.length > 0) {
  499. $.ajax({
  500. type: "post",
  501. url: 'scd_mqtt',
  502. beforeSend: function () {
  503. $('#loadingParent').show();
  504. },
  505. complete: function () {
  506. setTimeout(function () {
  507. $('#loadingParent').hide();
  508. }, 3000)
  509. },
  510. data: {
  511. "sw": "read",//读取
  512. "topicid": JSON.stringify(topicid),
  513. "kind": "status"//读取下位机状态
  514. },
  515. dataType: "json",
  516. success: function (data) {
  517. if (data == "0") {
  518. layer.msg("发送成功!");
  519. var ename = $('#ename').val();
  520. var eId = $('#eId').val();
  521. var page = $('.layui-laypage-curr em').eq(1).html();
  522. var eId = $('#eId').val();
  523. var onoffSelectVal = $('#onoffSelect').val() || '';
  524. var edverVal = $('#edver').val() || '';
  525. var euserVal = $('#userSelect').val() || '';
  526. var data = {
  527. req: "filter",
  528. dver: edverVal,
  529. is_online: onoffSelectVal,
  530. ename: ename,
  531. f_id: eId,
  532. page: page,
  533. uname:euserVal
  534. }
  535. setTimeout(function () {
  536. $.post("equipmanage_scd", data, function (data) {
  537. $("#datatable tr:not(:first)").html("");
  538. var msg = $.parseJSON(data);
  539. if (msg.dat.length > 0) {
  540. Fill_Table('datatable', msg.dat);
  541. $('#page').parent().show();
  542. } else {
  543. Fill_null_Table('datatable', msg.dat);
  544. $('#page').parent().hide();
  545. }
  546. $('#checkAll').prop('checked', false)
  547. // $('.controlModel').slideUp();
  548. $('#simsearch').attr('disabled', true);
  549. $('#equipSwBtn').attr('disabled', true);
  550. $('#scdState').attr('disabled', true);
  551. $('#deviceConfig').attr('disabled', true);
  552. $('#debugging').attr('disabled', true);
  553. $('#newStatus').attr('disabled', true);
  554. $('#reportConfig').attr('disabled', true);
  555. $('#operationBtn').html('操作');
  556. $('.coerce').removeClass('coerceBlock');
  557. });
  558. }, 3000)
  559. }
  560. else {
  561. layer.msg("发送失败!")
  562. }
  563. }
  564. })
  565. } else {
  566. layui.use('layer', function () {
  567. var layer = layui.layer;
  568. layer.msg('请选择一条数据');
  569. });
  570. }
  571. }
  572. //筛选
  573. function sub_filter() {
  574. $('#equipSwBtn').attr('disabled', true);
  575. $('#simsearch').attr('disabled', true);
  576. $('#scdState').attr('disabled', true);
  577. $('#deviceConfig').attr('disabled', true);
  578. $('#debugging').attr('disabled', true);
  579. $('#newStatus').attr('disabled', true);
  580. $('#operationBtn').attr('disabled', true);
  581. $('#reportConfig').attr('disabled', true);
  582. var ename = $('#ename').val();
  583. var eId = $('#eId').val();
  584. var onoffSelectVal = $('#onoffSelect').val() || '';
  585. var edverVal = $('#edver').val() || '';
  586. var euserVal = $('#userSelect').val() || '';
  587. $.ajax({
  588. url: 'equipmanage_scd',
  589. type: 'post',
  590. data: {
  591. req: "filter",
  592. dver: edverVal,
  593. is_online: onoffSelectVal,
  594. ename: ename,
  595. page: 1,
  596. f_id: eId,
  597. uname:euserVal
  598. },
  599. success: function (data) {
  600. var eId = $('#eId').val();
  601. $("#datatable tr:not(:first)").html("");
  602. var msg = $.parseJSON(data);
  603. if (msg.dat.length > 0) {
  604. Fill_Table('datatable', msg.dat);
  605. $('#page').parent().show();
  606. } else {
  607. Fill_null_Table('datatable', msg.dat);
  608. $('#page').parent().hide();
  609. }
  610. topicid = [];//当点击下一页不保存当前选中项
  611. $('#checkAll').prop('checked', false)
  612. $('.controlModel').hide();
  613. scrollBar()
  614. var datas = {
  615. req: "filter",
  616. is_online: onoffSelectVal,
  617. dver: edverVal,
  618. ename: ename,
  619. f_id: eId,
  620. uname:euserVal
  621. };
  622. initSearchPage(msg.nums, '/equipmanage_scd', datas);
  623. }
  624. })
  625. }
  626. //搜索分页
  627. function initSearchPage(page, url, datas) {
  628. layui.use('laypage', function () {
  629. var laypage = layui.laypage;
  630. laypage.render({
  631. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  632. , count: page
  633. , theme: '#428BCA'
  634. , layout: ['prev', 'page', 'next', 'skip']
  635. , jump: function (obj, first) {
  636. $('#scdState').val('定时时长');
  637. $('#equipSwBtn').val('设备开关');
  638. $('#autoClear').attr('disabled', true);
  639. $('#equipSwBtn').attr('disabled', true);
  640. $('#simsearch').attr('disabled', true);
  641. $('#scdState').attr('disabled', true);
  642. $('#deviceConfig').attr('disabled', true);
  643. $('#debugging').attr('disabled', true);
  644. $('#newStatus').attr('disabled', true);
  645. $('#operationBtn').attr('disabled', true);
  646. $('#reportConfig').attr('disabled', true);
  647. datas.page = obj.curr;
  648. if (!first) {
  649. $.ajax({
  650. url: url,
  651. type: 'post',
  652. data: datas,
  653. success: function (data) {
  654. $("#datatable tr:not(:first)").html("");
  655. var msg = $.parseJSON(data);
  656. if (msg.dat.length > 0) {
  657. Fill_Table('datatable', msg.dat)
  658. } else {
  659. Fill_null_Table('datatable', msg.dat)
  660. }
  661. topicid = [];//当点击下一页不保存当前选中项
  662. $('#checkAll').prop('checked', false)
  663. $('.controlModel').hide();
  664. scrollBar()
  665. }
  666. })
  667. }
  668. }
  669. });
  670. });
  671. }
  672. // 强制升级
  673. function coerceshow(obj) {
  674. if ($('.coerce').hasClass('coerceBlock')) {
  675. $('.coerce').removeClass('coerceBlock');
  676. $('.coerce').hide();
  677. $(obj).html('操作');
  678. } else {
  679. $('.coerce').show();
  680. $('.coerce').addClass('coerceBlock');
  681. $(obj).html('取消');
  682. }
  683. }
  684. function popupFrame(str, cmd, type, data) {
  685. //询问框
  686. layer.confirm('确定' + str + '?', {
  687. icon: 3,
  688. btn: ['确定', '取消'] //按钮
  689. }, function (index) {
  690. handleFun(cmd, type);
  691. layer.close(index);
  692. }, function () {
  693. });
  694. }
  695. function handleFun(cmd, type) {
  696. $.ajax({
  697. type: "post",
  698. url: 'scd_mqtt',
  699. data: {
  700. "sw": "ctrl",//控制
  701. "topicid": JSON.stringify(topicid),
  702. "cmd": cmd,//升级 update
  703. "kind": type
  704. },
  705. dataType: "json",
  706. beforeSend: function () {
  707. $('#loadingParent').show();
  708. },
  709. complete: function () {
  710. setTimeout(function () {
  711. $('#loadingParent').hide();
  712. }, 3000)
  713. },
  714. success: function (data) {
  715. // layer.close(popupIndex);
  716. if (data == 0) {
  717. setTimeout(function () {
  718. $('#operationBtn').click();
  719. layer.msg('设置成功');
  720. }, 3000)
  721. }
  722. }
  723. })
  724. }
  725. // 窗口改变iframe高度改变
  726. $(window).resize(function () {
  727. scrollBar()
  728. });
  729. function timing(ctrl, val) {
  730. if (ctrl == 'scdState') {
  731. var data = {
  732. sw: "timer",//定时
  733. ts: 0,
  734. topicid: JSON.stringify(topicid),
  735. hours: val
  736. }
  737. } else {
  738. var data = {
  739. sw: "timer",//开关
  740. // ts:0,
  741. topicid: JSON.stringify(topicid),
  742. ds: val
  743. }
  744. }
  745. $.ajax({
  746. url: 'scd_mqtt',
  747. type: 'post',
  748. data: data,
  749. beforeSend: function () {
  750. $('#loadingParent').show();
  751. },
  752. complete: function () {
  753. setTimeout(function () {
  754. $('#loadingParent').hide();
  755. }, 4000)
  756. },
  757. success: function (data) {
  758. if (data == "0") {
  759. layer.msg("发送成功!")
  760. // $('#myModal').modal('hide');
  761. var eId = $('#eId').val();
  762. var ename = $('#ename').val();
  763. var page = $('.layui-laypage-curr em').eq(1).html();
  764. var onoffSelectVal = $('#onoffSelect').val() || '';
  765. var edverVal = $('#edver').val() || '';
  766. var euserVal = $('#userSelect').val() || '';
  767. var data = {
  768. req: "filter",
  769. ename: ename,
  770. page: page,
  771. f_id: eId,
  772. dver: edverVal,
  773. is_online: onoffSelectVal,
  774. uname:euserVal
  775. }
  776. setTimeout(function () {
  777. $.post("equipmanage_scd", data, function (data) {
  778. $("#datatable tr:not(:first)").html("");
  779. var msg = $.parseJSON(data);
  780. if (msg.dat.length > 0) {
  781. Fill_Table('datatable', msg.dat);
  782. $('#page').parent().show();
  783. } else {
  784. Fill_null_Table('datatable', msg.dat);
  785. $('#page').parent().hide();
  786. }
  787. $('#state').val('定时时长');
  788. $('#checkAll').prop('checked', false)
  789. $('#equipSwBtn').attr('disabled', true);
  790. $('#scdState').attr('disabled', true);
  791. $('#simsearch').attr('disabled', true);
  792. $('#deviceConfig').attr('disabled', true);
  793. $('#debugging').attr('disabled', true);
  794. $('#newStatus').attr('disabled', true);
  795. $('#operationBtn').attr('disabled', true);
  796. $('#reportConfig').attr('disabled', true);
  797. $('#operationBtn').html('操作');
  798. $('.coerce').removeClass('coerceBlock');
  799. });
  800. }, 4000)
  801. }
  802. else {
  803. layer.msg("发送失败!")
  804. }
  805. }
  806. })
  807. }