| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737 |
- <!doctype html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title></title>
- <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
- <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet">
- <link rel="stylesheet" href="../css/iconfont.css" />
- <link href="../css/mui.min.css" rel="stylesheet" />
- <link href="../css/common.css" rel="stylesheet" />
- <style type="text/css">
- .mui-content {
- background: #fff;
- }
-
- .iconfont {
- font-size: 35px;
- color: #3bb9e7;
- /*font-weight: bold;*/
- line-height: 80px;
- margin: 10px 10px 10px 20px;
- }
-
- .equipState {
- font-size: 18px;
- margin-top: 14px;
- color: #333;
- text-align: -webkit-center;
- color: #21b2e7;
- }
-
- #detial>div {
- border-bottom: 2px solid #eee;
- }
-
- #detial>div:nth-of-type(odd) {
- /*border-right: 2px solid #eee;*/
- }
-
- .mui-table-view:after,
- .mui-table-view:before {
- height: 2px;
- background-color: #eee;
- }
-
- @media(max-width: 400px) {
- .mui-col-sm-6 {
- width: 50%;
- }
- }
- /*设置*/
-
- #detial .mui-navigate-right {
- line-height: 80px;
- }
-
- #detial .mui-navigate-right:after,
- #detial .mui-push-right:after {
- font-size: 33px;
- color: #3bb9e7;
- }
-
- .nullData {
- top: 45px;
- }
-
- .areaTitle {
- color: #424242;
- padding-left: 5px;
- border-left: 5px solid #5870f6;
- font-weight: bold;
- font-size: 16px;
- }
-
- .detialBox .fa {
- padding-right: 5px;
- color: #ff6e00;
- }
- #adminOperate{
- display: none;
- }
- .btns{
- padding-top: 20px;
- text-align: center;
- }
- .btns p{
- margin: 10px 0;
- }
- .btns p button{
- width: 120px;
- border-radius: 50px;
- }
- .equipFun {
- text-align: -webkit-center;
- }
- /*设备数据*/
- .equipmentBox {
- margin: 80px 0 0 0;
- }
- .annular {
- background: url(../images/annular.png);
- background-repeat:no-repeat;
- background-position: center;
- height: 150px;
- /*height: 100%;*/
- width: 33%;
- background-size: 100%;
- }
- .equipmentBox_val {
- }
- .stateList {
- /*border: 1px solid #000;*/
- width: 30%;
- }
- #detial {
- margin-left: 16px;
- }
- </style>
- </head>
- <body>
- <header class="mui-bar mui-bar-nav">
- <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
- <h1 class="mui-title">性诱设备</h1>
- <a class="headRightIcon mui-icon mui-icon-loop mui-pull-right" onclick="location.reload();"></a>
- </header>
- <div class="mui-content">
- <div id="scrollPlace" class="mescroll">
- <div id="dataList">
- <ul class="mui-table-view" id="equip">
- <li class="mui-table-view-cell">
- <h1 class="areaTitle">设备信息</h1>
- </li>
- <li class="mui-table-view-cell">
- <p id="equipId"></p>
- </li>
- <li class="mui-table-view-cell">
- <p id="equipName"></p>
- </li>
- <li class="mui-table-view-cell">
- <p id="equipCode"></p>
- </li>
- <li class="mui-table-view-cell">
- <p id="equipType"></p>
- </li>
- <li class="mui-table-view-cell">
- <p id="upl_time"></p>
- </li>
- <li class="mui-table-view-cell">
- <p id="lat_lng"></p>
- </li>
- </ul>
- <ul class="mui-table-view detialBox">
- <li class="mui-table-view-cell">
- <h1 class="areaTitle">配置设备操作</h1>
- </li>
- <li class="mui-table-view-cell" id="lookImg">
- <a class="mui-navigate-right">
- <i class="fa fa-file-image-o" aria-hidden="true"></i> 查看图片
- </a>
- </li>
- <li class="mui-table-view-cell" id="configuration">
- <a class="mui-navigate-right">
- <i class="fa fa-cogs" aria-hidden="true"></i> 设备配置
- </a>
- </li>
- <li class="mui-table-view-cell" id="simCodeSearch">
- <a class="mui-navigate-right">
- <i class="fa fa-search" aria-hidden="true"></i> SIM卡查询
- </a>
- </li>
- <li class="mui-table-view-cell" id="lookStatsData">
- <a class="mui-navigate-right">
- <i class="fa fa-bar-chart-o" aria-hidden="true"></i> 统计详情
- </a>
- </li>
- <li class="mui-table-view-cell" id="lookHistoryData">
- <a class="mui-navigate-right">
- <i class="fa fa-list" aria-hidden="true"></i> 历史数据
- </a>
- </li>
- <li class="mui-table-view-cell" id="debug">
- <a class="mui-navigate-right">
- <i class="fa fa-wrench" aria-hidden="true"></i> 调试
- </a>
- </li>
- <li class="mui-table-view-cell" id="adminOperate">
- <a class="mui-navigate-right">
- <i class="fa fa-cog" aria-hidden="true"></i> 操作
- </a>
- </li>
- <!--<li class="mui-table-view-cell" id="downInquire">
- <a class="mui-navigate-right">
- <i class="fa fa-refresh" aria-hidden="true"></i> 查询最近状态
- </a>
- </li>-->
- </ul>
-
- <!-- 测试设备状态 -->
- <div class="mui-table-view-cell">
- <h1 class="areaTitle">设备状态</h1>
- </div>
- <div class="mui-row" id="detial">
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="ds"></p>
- <p class="equipFun">设备开关</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="onOff"></p>
- <p class="equipFun">在线状态</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="ws"></p>
- <p class="equipFun">工作状态</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="bs"></p>
- <p class="equipFun">电池状态</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="bv"></p>
- <p class="equipFun">电池电压</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="cv"></p>
- <p class="equipFun">充电电压</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState" id="dver"></p>
- <p class="equipFun">版本号</p>
- </div>
- </div>
- <div class="mui-col-sm-4 stateList">
- <div class="">
- </div>
- <div class="">
- <p class="equipState">--</p>
- <p class="equipFun">--</p>
- </div>
- </div>
- </div>
- <!-- 测试设备状态 -->
-
- <!-- 测试设备数据 -->
- <div class="mui-table-view-cell">
- <h1 class="areaTitle">设备数据</h1>
- </div>
- <div class="mui-row" id="detial">
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="cs"></p>
- <p class="equipFun">充电状态</p>
- </div>
- </div>
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="dat_f"></p>
- <p class="equipFun">数据上传间隔</p>
- </div>
- </div>
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="cpu_tmp"></p>
- <p class="equipFun">CPU温度</p>
- </div>
- </div>
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="csq"></p>
- <p class="equipFun">信号强度</p>
- </div>
- </div>
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="at"></p>
- <p class="equipFun">环境温度</p>
- </div>
- </div>
- <div class="mui-col-sm-4 annular">
- <div class="mui-pull-left">
- </div>
- <div class="equipmentBox">
- <p class="equipState equipmentBox_val" id="ah"></p>
- <p class="equipFun">环境湿度</p>
- </div>
- </div>
- </div>
- <!-- 测试设备数据 -->
-
-
- </div>
- </div>
- <!--调试框-->
- <div id="debugPopover" class="box mui-popover mui-poppicker mui-popover-action mui-popover-bottom" style="height: 260px;background-color: #fff;border-radius: 10px 10px 0 0;">
- <div class="mui-popover-arrow"></div>
- <div class="btns">
- <p><button type="button" onclick="popupFrame('开启设备',7)" class="mui-btn mui-btn-danger">开启</button></p>
- <p><button type="button" onclick="popupFrame('关闭设备',8)" class="mui-btn mui-btn-danger">关闭</button></p>
- <p><button type="button" onclick="popupFrame('重启设备',1)" class="mui-btn mui-btn-danger">重启</button></p>
- <p><button type="button" onclick="popupFrame('开启卷粘虫带',5)" class="mui-btn mui-btn-danger">卷粘虫带</button></p>
- <p><button type="button" onclick="popupFrame('进行拍照',4)" class="mui-btn mui-btn-danger">拍照</button></p>
- </div>
- </div>
- <!--操作框-->
- <div id="operatePopover" class="box mui-popover mui-poppicker mui-popover-action mui-popover-bottom" style="height: 300px;background-color: #fff;border-radius: 10px 10px 0 0;">
- <div class="mui-popover-arrow">1</div>
- <div class="btns">
- <p><button type="button" onclick="popupFrame('重启',1)" class="mui-btn mui-btn-danger">重启</button></p>
- <p><button type="button" onclick="popupFrame('升级',2)" class="mui-btn mui-btn-danger">升级</button></p>
- <p><button type="button" onclick="popupFrame('重新上电',6)" class="mui-btn mui-btn-danger">重新上电</button></p>
- <p><button type="button" onclick="popupFrame('查询mqtt网络配置',3)" class="mui-btn mui-btn-danger">mqtt网络配置</button></p>
- <p><button type="button" onclick="popupFrame('开启卷粘虫带',5)" class="mui-btn mui-btn-danger">卷粘虫带</button></p>
- <p><button type="button" onclick="popupFrame('进行拍照',4)" class="mui-btn mui-btn-danger">拍照</button></p>
- </div>
- </div>
- <!--sim卡-->
- <div id="popover" class="box mui-popover mui-poppicker mui-popover-action mui-popover-bottom" style="height: 310px;background-color: #fff;">
- <div class="mui-popover-arrow"></div>
- <!--<div class="popoverheader">
- <div class="text"></div>
- <a href="#popover"><img src="../image/close.png" alt=""></a>
- </div>-->
- <div id="simDetial">
-
- </div>
- <div class="mui-table-view mui-table-view-chevron next">
- <a href="#popover" class="x-next add">我知道了</a>
- </div>
- </div>
- <!--mqtt网络配置-->
- <div id="mqttConf" class="box mui-popover mui-poppicker mui-popover-action mui-popover-bottom" style="height: 310px;background-color: #fff;">
- <div class="mui-popover-arrow"></div>
- <!--<div class="popoverheader">
- <div class="text"></div>
- <a href="#popover"><img src="../image/close.png" alt=""></a>
- </div>-->
- <div id="mqttConfDetial">
-
- </div>
- <div class="mui-table-view mui-table-view-chevron next">
- <a href="#mqttConf" class="x-next add">我知道了</a>
- </div>
- </div>
- </div>
- <div id="map" style="display: none;"></div>
-
- <script src="../js/jquery-2.1.0.js"></script>
- <script src="../js/mui.min.js"></script>
- <script src="../js/common.js"></script>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=La58N63t7hPhafQ7Eror2kon"></script>
- <script type="text/javascript">
- var equipId;
- var iccid;
- //配置需要参数
- var confDatF;
- var confTurnT;
- var confPicT;
- var confPicF;
-
- mui.init();
- mui.plusReady(function() {
- var self = plus.webview.currentWebview();
- equipId = self.equipId;
- $('#equipId').html('设备ID:' + equipId);
- console.log(equipId);
- downCallback()
- var isuser = plus.storage.getItem('isuser');
- if(isuser == 'admin'){
- $('#adminOperate').show();
- }
- var map = new BMap.Map("map"); //
- geoc = new BMap.Geocoder();
- function downCallback() {
- $.ajax({
- url: 'http://120.27.222.26/app_equipmanage_detail',
- data: {
- 'etype': 'xycb',
- 'equip_id': equipId,
- },
- dataType: 'json', //服务器返回json格式数据
- type: 'post', //HTTP请求类型
- timeout: 10000, //超时时间设置为10秒;
- beforeSend: function() {
- plus.nativeUI.showWaiting('请求中...');
- },
- complete: function() {
- plus.nativeUI.closeWaiting();
- },
- success: function(data) {
- var equip_name = data.equip_name || '无';
- $('#equipName').html('设备名称:' + equip_name);
- $('#upl_time').html('上报时间:' + data.upl_time);
- var stat = eval('(' + data.ybq_status + ')');
- var point = new BMap.Point(stat.lng, stat.lat);
- geoc.getLocation(point, function (rs) {
- var addComp = rs.addressComponents;
- $('#lat_lng').html('位置:' + addComp.province + ", " + addComp.city + ", " + addComp.district);
- });
- $('#equipCode').html('设备编号:' + stat.dev_num);
- if(stat.proj == "SEX_TRAP_1"){
- $('#equipType').html('设备型号:I');
- }else if(stat.proj == "SEX_TRAP_2"){
- $('#equipType').html('设备型号:II');
- }
- var ds = stat.ds == 0 ? '关闭' : '开机';
- $('#ds').html(ds);
- var onOff = data.is_online == 0 ? '离线' : '在线';
- $('#onOff').html(onOff);
- var ws = stat.ws == 0 ? '待机' : '工作';
- $('#ws').html(ws);
- if(stat.bs != ''){
- if(stat.bs == 0){
- var bs = '正常';
- }else if(stat.bs == 1){
- var bs = '欠压';
- }else if(stat.bs == 2){
- var bs = '过压';
- }
- $('#bs').html(bs);
- }else{
- $('#bs').html('--');
- }
-
- if(stat.bv != ''){
- $('#bv').html(stat.bv/1000);
- }else{
- $('#bv').html('--');
- }
- if(stat.cv != ''){
- $('#cv').html(stat.cv/1000);
- }else{
- $('#cv').html('--');
- }
- $('#dver').html(stat.dver);
- if(stat.cs != ''){
- var cs = stat.cs == 0 ? '未充电' : '充电';
- }else{
- var cs = '--';
- }
- $('#cs').html(cs);
- $('#dat_f').html(stat.dat_f);
- $('#cpu_tmp').html(stat.cpu_tmp/1000);
- $('#csq').html(stat.csq);
- if(stat.at != ''){
- $('#at').html(stat.at);
- }else{
- $('#at').html('-');
- }
- if(stat.ah != ''){
- $('#ah').html(stat.ah);
- }else{
- $('#ah').html('--');
- }
- iccid = stat.iccid;
- confDatF = stat.dat_f;
- confTurnT = stat.turn_t;
- confPicT = stat.pic_t;
- confPicF = stat.pic_f;
- },
- error: function(xhr, type, errorThrown) {
- //联网失败的回调,隐藏下拉刷新的状态
- mescroll.endErr();
- mui.toast('数据请求失败');
- }
- });
- }
-
- //查看图片
- document.getElementById('lookImg').addEventListener('tap', function() {
- mui.openWindow({
- url: 'sex_trap_photo2.html',
- id: 'sex_trap_photo2',
- extras: {
- equipId: equipId,
- }
- })
- })
- //配置
- document.getElementById('configuration').addEventListener('tap', function() {
- mui.openWindow({
- url: 'sex_trap_detail2_config.html',
- id: 'sex_trap_detail2_config',
- extras: {
- equipId: equipId,
- confDatF: confDatF,
- confTurnT: confTurnT,
- confPicT: confPicT,
- confPicF: confPicF
- }
- })
- })
- //sim卡查新
- document.getElementById('simCodeSearch').addEventListener('tap', function() {
- if(iccid) {
- $.ajax({
- url: 'http://120.27.222.26/siminfo',
- data: {
- simid: iccid,
- },
- dataType: 'json', //服务器返回json格式数据
- type: 'post', //HTTP请求类型
- timeout: 10000, //超时时间设置为10秒;
- beforeSend: function() {
- plus.nativeUI.showWaiting('请求中...');
- },
- complete: function() {
- plus.nativeUI.closeWaiting();
- },
- success: function(data) {
- var dat = data.data;
- if(data.code == 0) {
- var status;
- if(dat.account_status == "0") {
- status = "未知";
- } else if(dat.account_status == "1") {
- status = "测试期";
- } else if(dat.account_status == "2") {
- status = "沉默期";
- } else if(dat.account_status == "3") {
- status = "使用中";
- } else if(dat.account_status == "4") {
- status = "停机";
- } else if(dat.account_status == "5") {
- status = "停机保号";
- } else if(dat.account_status == "6") {
- status = "预销号";
- } else if(dat.account_status == "7") {
- status = "销号";
- }
- var usage;
- if(dat.iccid) {
- usage = dat.data_usage;
- } else {
- usage.innerHTML = '--';
- }
- var balance;
- if(dat.iccid) {
- balance = dat.data_balance;
- } else {
- balance = '--';
- }
- var time;
- if(dat.iccid) {
- var timestamp4 = new Date(dat.expiry_date * 1000); //直接用 new Date(时间戳) 格式转化获得当前时间
- time = timestamp4.toLocaleDateString().replace(/\//g, "-") + " " + timestamp4.toTimeString().substr(0, 8);
- } else {
- time = '--';
- }
- html = '<div style="padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">SIM卡查询结果<br>ICCID:' + iccid + '<br><br>状态:' + status + '<br>套餐:' + dat.data_plan + 'Mb<br>已用流量:' + usage + 'Mb<br>剩余流量:' + balance + 'Mb<br>到期时间:' + time + '</div>'
- $('#mqttConfDetial').html(html);
- mui('.mui-popover').popover('show', document.getElementById("popover"));
- }
- },
- error: function(xhr, type, errorThrown) {
- //联网失败的回调,隐藏下拉刷新的状态
- mescroll.endErr();
- mui.toast('数据请求失败');
- }
- });
- } else {
- mui.toast('未查询到SIM卡号');
- }
- })
- //统计详情
- document.getElementById('lookStatsData').addEventListener('tap', function() {
- mui.openWindow({
- url: 'sex_trap_detail_echart.html',
- id: 'sex_trap_detail_echart',
- extras: {
- equipId: equipId
- }
- })
- })
- //历史数据
- document.getElementById('lookHistoryData').addEventListener('tap', function() {
- mui.openWindow({
- url: 'sex_trap_detail_list.html',
- id: 'sex_trap_detail_list',
- extras: {
- equipId: equipId
- }
- })
- })
- //调试
- document.getElementById('debug').addEventListener('tap', function() {
- mui('#debugPopover').popover('show', document.getElementById("debug"));
- })
- //操作
- document.getElementById('adminOperate').addEventListener('tap', function() {
- mui('#operatePopover').popover('show', document.getElementById("adminOperate"));
- })
- })
-
- function popupFrame(txt,flag){
- var txtMsg = '是否'+ txt +'?';
- mui.confirm(txtMsg,'控制',['取消','确定'],function(e){
- if(e.index == 0){
- // alert(0)
- }else if(e.index == 1){
- if(flag == 1){
- var data = {
- ext:'reboot',
- }
- var fun = function(){};
- }else if(flag == 2){
- var data = {
- ext:'update',
- }
- var fun = function(){};
- }else if(flag == 3){
- var data = {
- ext:'mqttconf',
- }
- var fun = function(){
- setTimeout(function(){
- mui.ajax('http://120.27.222.26/sex_mqtt_detail', {
- type:'post',
- data:{
- e_id:equipId
- },
- dataType:'json',
- beforeSend: function() {
- plus.nativeUI.showWaiting("分配中...");
- },
- complete: function() {
- plus.nativeUI.closeWaiting();
- },
- success:function(data){
- var content='<div style="padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">ip:'+data.ip+'<br />port:'+data.port+'<br />sub:'+data.sub+'<br />pub:'+data.pub+'<br />lastwill:'+data.lastwill+'<br />keepalive:'+data.keepalive+'<br />username:'+data.username+'<br />stamp:'+data.stamp+'</div>';
- $('#mqttConfDetial').html(content);
- mui('.mui-popover').popover('toggle',document.getElementById("mqttConf"));
- },
- error:function(type){
- console.log(type)
- }
- })
- },500)
- };
- }else if(flag == 4){
- var data = {
- ext:'takephoto',
- }
- var fun = function(){};
- }else if(flag == 5){
- var data = {
- ext:'turn',
- }
- var fun = function(){};
- }else if(flag == 6){
- var data = {
- ext:'repower',
- }
- var fun = function(){};
- }else if(flag == 7){
- var data = {
- ext:'ds1',
- }
- var fun = function(){};
- }else if(flag == 8){
- var data = {
- ext:'ds0',
- }
- var fun = function(){};
- }
- sendCtrlFun(data,fun)
- }
- },'div')
- }
-
- function sendCtrlFun(data,callback){
- data.e_id = equipId;
- mui.ajax('http://120.27.222.26/sex_mqtt', {
- type:'post',
- data:data,
- beforeSend: function() {
- plus.nativeUI.showWaiting("分配中...");
- },
- complete: function() {
- plus.nativeUI.closeWaiting();
- },
- success:function(data){
- if(data == 0){
- callback();
- mui.toast('下发成功',{ duration:'long', type:'div' })
- }
- },
- error:function(type){
- console.log(type)
- }
- })
- }
- </script>
- </body>
- </html>
|