equipManage_ybq_detail.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet">
  8. <link href="../css/mui.min.css" rel="stylesheet" />
  9. <link rel="stylesheet" href="../css/iconfont.css" />
  10. <link href="../css/common.css" rel="stylesheet" />
  11. <link rel="stylesheet" href="../css/mescroll.min.css">
  12. <link rel="stylesheet" type="text/css" href="../css/mui.picker.min.css" />
  13. <style type="text/css">
  14. .mui-content {
  15. background: #fff;
  16. }
  17. .iconfont {
  18. font-size: 35px;
  19. color: #3bb9e7;
  20. /*font-weight: bold;*/
  21. line-height: 80px;
  22. margin: 10px 10px 10px 20px;
  23. }
  24. .equipState {
  25. font-size: 18px;
  26. margin-top: 14px;
  27. color: #333;
  28. }
  29. #detial>div {
  30. border-bottom: 2px solid #eee;
  31. }
  32. #detial>div:nth-of-type(odd) {
  33. border-right: 2px solid #eee;
  34. }
  35. .mui-table-view:after,
  36. .mui-table-view:before {
  37. height: 2px;
  38. background-color: #eee;
  39. }
  40. @media(max-width: 400px) {
  41. .mui-col-sm-6 {
  42. width: 50%;
  43. }
  44. }
  45. .nullData {
  46. top: 45px;
  47. }
  48. /*查看详情*/
  49. .areaTitle {
  50. color: #424242;
  51. padding-left: 5px;
  52. border-left: 5px solid #5870f6;
  53. font-weight: bold;
  54. font-size: 16px;
  55. }
  56. .detialBox .fa{
  57. padding-right: 5px;
  58. color: #ff6e00;
  59. }
  60. /**/
  61. .controlVal{
  62. position: absolute;
  63. top: 50%;
  64. right: 35px;
  65. -webkit-transform: translateY(-50%);
  66. transform: translateY(-50%);
  67. }
  68. #controlBtn {
  69. width: 80%;
  70. /*height: 0px;*/
  71. background: white;
  72. position: fixed;
  73. top: 24%;
  74. left: 50%;
  75. margin-left: -40%;
  76. }
  77. /*移除底部或顶部三角,需要在删除此代码*/
  78. .mui-popover .mui-popover-arrow:after {
  79. width: 0px;
  80. }
  81. </style>
  82. </head>
  83. <body>
  84. <header class="mui-bar mui-bar-nav">
  85. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  86. <h1 class="mui-title" id="title">杀虫灯设备</h1>
  87. <!--<a id="openPopover" class="mui-icon mui-icon-more mui-pull-right"></a>-->
  88. </header>
  89. <div class="mui-content">
  90. <div id="scrollPlace" class="mescroll">
  91. <div id="dataList">
  92. <ul class="mui-table-view" id="equip">
  93. <li class="mui-table-view-cell">
  94. <h1 class="areaTitle">设备信息</h1>
  95. </li>
  96. <li class="mui-table-view-cell">
  97. <p id="equipId"></p>
  98. </li>
  99. <li class="mui-table-view-cell">
  100. <p id="equipName"></p>
  101. </li>
  102. <li class="mui-table-view-cell">
  103. <p id="upl_time"></p>
  104. </li>
  105. </ul>
  106. <div class="mui-row" id="detial">
  107. <div class="mui-col-sm-6">
  108. <div class="mui-pull-left">
  109. <i class="iconfont">&#xe698;</i>
  110. </div>
  111. <div class="mui-pull-left ">
  112. <p class="equipState" id="ds">开</p>
  113. <p class="equipFun">设备开关</p>
  114. </div>
  115. </div>
  116. <div class="mui-col-sm-6">
  117. <div class="mui-pull-left">
  118. <i class="iconfont">&#xe60b;</i>
  119. </div>
  120. <div class="mui-pull-left ">
  121. <p class="equipState" id="ws">待机</p>
  122. <p class="equipFun">工作状态</p>
  123. </div>
  124. </div>
  125. <div class="mui-col-sm-6">
  126. <div class="mui-pull-left">
  127. <i class="iconfont">&#xeaae;</i>
  128. </div>
  129. <div class="mui-pull-left ">
  130. <p class="equipState" id="tt">4</p>
  131. <p class="equipFun">定时模式</p>
  132. </div>
  133. </div>
  134. <div class="mui-col-sm-6">
  135. <div class="mui-pull-left">
  136. <i class="iconfont">&#xe64c;</i>
  137. </div>
  138. <div class="mui-pull-left ">
  139. <p class="equipState" id="lps">正常</p>
  140. <p class="equipFun">光控状态</p>
  141. </div>
  142. </div>
  143. <div class="mui-col-sm-6">
  144. <div class="mui-pull-left">
  145. <i class="iconfont">&#xe633;</i>
  146. </div>
  147. <div class="mui-pull-left ">
  148. <p class="equipState" id="tps">正常</p>
  149. <p class="equipFun">温控状态</p>
  150. </div>
  151. </div>
  152. <div class="mui-col-sm-6">
  153. <div class="mui-pull-left">
  154. <i class="iconfont">&#xe635;</i>
  155. </div>
  156. <div class="mui-pull-left ">
  157. <p class="equipState" id="rps">正常</p>
  158. <p class="equipFun">雨控状态</p>
  159. </div>
  160. </div>
  161. <div class="mui-col-sm-6">
  162. <div class="mui-pull-left">
  163. <i class="iconfont">&#xe622;</i>
  164. </div>
  165. <div class="mui-pull-left ">
  166. <p class="equipState" id="tbs">正常</p>
  167. <p class="equipFun">灯管状态</p>
  168. </div>
  169. </div>
  170. <div class="mui-col-sm-6">
  171. <div class="mui-pull-left">
  172. <i class="iconfont">&#xe78d;</i>
  173. </div>
  174. <div class="mui-pull-left ">
  175. <p class="equipState" id="dps">正常</p>
  176. <p class="equipFun">倾倒状态</p>
  177. </div>
  178. </div>
  179. <div class="mui-col-sm-6">
  180. <div class="mui-pull-left">
  181. <i class="iconfont">&#xe60a;</i>
  182. </div>
  183. <div class="mui-pull-left ">
  184. <p class="equipState" id="csq">29</p>
  185. <p class="equipFun">信号强度</p>
  186. </div>
  187. </div>
  188. <div class="mui-col-sm-6">
  189. <div class="mui-pull-left">
  190. <i class="iconfont">&#xe65f;</i>
  191. </div>
  192. <div class="mui-pull-left ">
  193. <p class="equipState" id="dver">1.0.1</p>
  194. <p class="equipFun">版本型号</p>
  195. </div>
  196. </div>
  197. </div>
  198. <ul class="mui-table-view detialBox">
  199. <li class="mui-table-view-cell">
  200. <h1 class="areaTitle">配置设备操作</h1>
  201. </li>
  202. <li class="mui-table-view-cell" id="clock">
  203. <a class="mui-navigate-right">
  204. <i class="fa fa-clock-o" aria-hidden="true"></i>
  205. 定时模式
  206. <span class="controlVal">光控</span>
  207. </a>
  208. </li>
  209. <li class="mui-table-view-cell" id="timingBtn">
  210. <a class="mui-navigate-right">
  211. <i class="fa fa-clock-o" aria-hidden="true"></i>
  212. 定时时长
  213. <span class="controlVal">4</span>
  214. </a>
  215. </li>
  216. <li class="mui-table-view-cell" id="switchBtn">
  217. <a class="mui-navigate-right">
  218. <i class="fa fa-power-off" aria-hidden="true"></i>
  219. 设备开关
  220. <span class="controlVal">开</span>
  221. </a>
  222. </li>
  223. <li class="mui-table-view-cell" id="startBar">
  224. <a class="mui-navigate-right">
  225. <i class="fa fa-power-off" aria-hidden="true"></i>
  226. 起始时间
  227. <span class="controlVal">3</span>
  228. </a>
  229. </li>
  230. <li class="mui-table-view-cell" id="stopBar">
  231. <a class="mui-navigate-right">
  232. <i class="fa fa-power-off" aria-hidden="true"></i>
  233. 结束时间
  234. <span class="controlVal">2</span>
  235. </a>
  236. </li>
  237. <li class="mui-table-view-cell" id="refreshBtn">
  238. <a class="mui-navigate-right">
  239. <i class="fa fa-refresh" aria-hidden="true"></i>
  240. 查询最新状态
  241. </a>
  242. </li>
  243. </ul>
  244. </div>
  245. </div>
  246. </div>
  247. <div id="aaa" style="display: none;">
  248. sdvsdvsdvsd
  249. </div>
  250. <script src="../js/jquery-2.1.0.js"></script>
  251. <script src="../js/mui.min.js"></script>
  252. <script src="../js/mescroll.min.js" charset="utf-8"></script>
  253. <script src="../js/mui.picker.min.js" type="text/javascript" charset="utf-8"></script>
  254. <script src="../js/common.js"></script>
  255. <script type="text/javascript">
  256. var equipId;
  257. mui.init();
  258. mui.plusReady(function() {
  259. var self = plus.webview.currentWebview();
  260. equipId = self.equipId;
  261. $('#equipId').html('设备ID:'+equipId);
  262. console.log(equipId);
  263. //创建MeScroll对象,内部已默认开启下拉刷新,自动执行up.callback,重置列表数据;
  264. var mescroll = new MeScroll("scrollPlace", {
  265. down: {
  266. callback: downCallback //下拉刷新的回调,别写成downCallback(),多了括号就自动执行方法了
  267. },
  268. });
  269. ws=plus.webview.currentWebview();
  270. //修改操作
  271. document.getElementById('openPopover').addEventListener('tap', function() {
  272. mui('#popover').popover('toggle', document.getElementById('controlBtn'));
  273. })
  274. //定时时长
  275. document.getElementById("clock").addEventListener('tap', function() {
  276. // 显示遮罩层
  277. // ws.setStyle({mask:"rgba(0,0,0,0.5)"});
  278. // $('#aaa').show()
  279. // 点击关闭遮罩层
  280. // ws.addEventListener("maskClick",function(){
  281. // ws.setStyle({mask:"none"});
  282. // },false);
  283. })
  284. //下拉刷新的回调
  285. function downCallback() {
  286. $.ajax({
  287. url: 'http://120.27.222.26/app_equipmanage_detail',
  288. data: {
  289. 'etype': 'scd',
  290. 'equip_id': equipId,
  291. },
  292. dataType: 'json', //服务器返回json格式数据
  293. type: 'post', //HTTP请求类型
  294. beforeSend: function() {
  295. plus.nativeUI.showWaiting('请求中...');
  296. },
  297. complete: function() {
  298. plus.nativeUI.closeWaiting();
  299. },
  300. timeout: 10000, //超时时间设置为10秒;
  301. success: function(data) {
  302. //联网成功的回调,隐藏下拉刷新的状态;
  303. mescroll.endSuccess(); //无参. 注意结束下拉刷新是无参的
  304. var equip_name = data.equip_name || '无';
  305. $('#equipName').html('设备名称:' + equip_name);
  306. $('#upl_time').html('上报时间:' + data.upl_time);
  307. var stat = eval('(' + data.scd_status + ')');
  308. var ds = stat.ds == 0 ? '关' : '开';
  309. $('#ds').html(ds);
  310. var ws = '';
  311. if(stat.ws == 0) ws = "待机";
  312. else if(stat.ws == 1) ws = "工作";
  313. else if(stat.ws == 2) ws = "充电";
  314. $('#ws').html(ws);
  315. var tt = '';
  316. if(stat.tt == 1){
  317. $('#timingBtn').hide();
  318. $('#switchBtn').hide();
  319. $('#startBar').show();
  320. $('#stopBar').show();
  321. }else{
  322. $('#timingBtn').show();
  323. $('#switchBtn').show();
  324. $('#startBar').hide();
  325. $('#stopBar').hide();
  326. }
  327. if(stat.tt == 0) tt = "常亮";
  328. else tt = stat.tt;
  329. $('#tt').html(tt);
  330. var lps = stat.lps == 0 ? '正常' : '异常';
  331. $('#lps').html(lps);
  332. var tps = stat.tps == 0 ? '正常' : '异常';
  333. $('#tps').html(tps);
  334. var rps = stat.rps == 0 ? '正常' : '异常';
  335. $('#rps').html(rps);
  336. var tbs = stat.tbs == 0 ? '正常' : '异常';
  337. $('#tbs').html(tbs);
  338. var dps = stat.dps == 0 ? '正常' : '异常';
  339. $('#dps').html(dps);
  340. $('#csq').html(stat.csq);
  341. $('#dver').html(stat.dver);
  342. },
  343. error: function(xhr, type, errorThrown) {
  344. //联网失败的回调,隐藏下拉刷新的状态
  345. mescroll.endErr();
  346. mui.toast('数据请求失败');
  347. }
  348. });
  349. }
  350. //定时时长
  351. document.getElementById("timingBtn").addEventListener('tap', function() {
  352. var picker = new mui.PopPicker();
  353. picker.setData([{
  354. value: "0",
  355. text: "常亮"
  356. }, {
  357. value: "1",
  358. text: "1小时"
  359. }, {
  360. value: "2",
  361. text: "2小时"
  362. }, {
  363. value: "3",
  364. text: "3小时"
  365. }, {
  366. value: "4",
  367. text: "4小时"
  368. }, {
  369. value: "5",
  370. text: "5小时"
  371. }, {
  372. value: "6",
  373. text: "6小时"
  374. }, {
  375. value: "7",
  376. text: "7小时"
  377. }])
  378. picker.show(function(getSelectedItems) {
  379. console.log(getSelectedItems[0].value);
  380. var id = [];
  381. id.push(equipId);
  382. mui.ajax('http://120.27.222.26/scd_mqtt', {
  383. data: {
  384. 'sw': 'tt',
  385. 'topicid': JSON.stringify(id),
  386. 'hours': getSelectedItems[0].value
  387. },
  388. dataType: 'json', //服务器返回json格式数据
  389. type: 'post', //HTTP请求类型
  390. timeout: 10000, //超时时间设置为10秒;
  391. beforeSend: function() {
  392. plus.nativeUI.showWaiting('请求中...');
  393. },
  394. complete: function() {
  395. plus.nativeUI.closeWaiting();
  396. },
  397. success: function(data) {
  398. if(data == 0){
  399. mui.toast('设置成功');
  400. }
  401. },
  402. error: function(xhr, type, errorThrown) {
  403. $('#equiplist').empty();
  404. mui('.mui-content')[0].appendChild(netStyle('../images/error.png'));
  405. mui.toast('数据请求失败');
  406. }
  407. })
  408. })
  409. picker.hide = function(){
  410. var self = this;
  411. self.panel.classList.remove(mui.className('active'));
  412. self.mask.close();
  413. document.body.classList.remove(mui.className('poppicker-active-for-page'));
  414. //处理物理返回键
  415. mui.back=self.__back;
  416. }
  417. });
  418. //设备开关
  419. document.getElementById("switchBtn").addEventListener('tap', function() {
  420. var picker = new mui.PopPicker();
  421. picker.setData([{
  422. value: "0",
  423. text: "开启"
  424. }, {
  425. value: "1",
  426. text: "关闭"
  427. }])
  428. picker.show(function(getSelectedItems) {
  429. console.log(getSelectedItems[0].value)
  430. var id = [];
  431. id.push(equipId);
  432. mui.ajax('http://120.27.222.26/scd_mqtt', {
  433. data: {
  434. 'sw': 'ds',
  435. 'topicid': JSON.stringify(id),
  436. 'ds': getSelectedItems[0].value
  437. },
  438. dataType: 'json', //服务器返回json格式数据
  439. type: 'post', //HTTP请求类型
  440. timeout: 10000, //超时时间设置为10秒;
  441. beforeSend: function() {
  442. plus.nativeUI.showWaiting('请求中...');
  443. },
  444. complete: function() {
  445. plus.nativeUI.closeWaiting();
  446. },
  447. success: function(data) {
  448. if(data == 0){
  449. mui.toast('设置成功');
  450. }
  451. },
  452. error: function(xhr, type, errorThrown) {
  453. $('#equiplist').empty();
  454. mui('.mui-content')[0].appendChild(netStyle('../images/error.png'));
  455. mui.toast('数据请求失败');
  456. }
  457. })
  458. })
  459. picker.hide = function(){
  460. var self = this;
  461. self.panel.classList.remove(mui.className('active'));
  462. self.mask.close();
  463. document.body.classList.remove(mui.className('poppicker-active-for-page'));
  464. //处理物理返回键
  465. mui.back=self.__back;
  466. }
  467. });
  468. //查询
  469. $('#refreshBtn').on('tap',function(){
  470. var id = [];
  471. id.push(equipId);
  472. mui.ajax('http://120.27.222.26/scd_mqtt',{
  473. data:{
  474. 'sw': 'read',
  475. 'topicid': JSON.stringify(id),
  476. 'kind': 'status'
  477. },
  478. dataType:'json',//服务器返回json格式数据
  479. type:'post',//HTTP请求类型
  480. timeout: 10000,//超时时间设置为10秒;
  481. beforeSend: function() {
  482. plus.nativeUI.showWaiting('请求中...');
  483. },
  484. complete: function() {
  485. setTimeout(function () {
  486. plus.nativeUI.closeWaiting();
  487. }, 5000)
  488. },
  489. success:function(data){
  490. setTimeout(function () {
  491. location.reload();
  492. }, 5000)
  493. },
  494. error:function(xhr,type,errorThrown){
  495. mui.toast('请求失败!')
  496. }
  497. });
  498. })
  499. })
  500. </script>
  501. </body>
  502. </html>