alarm_frm.html 8.88 KB
<!DOCTYPE html>
  <html>
  <head>
      <meta charset="utf-8">
      <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
      <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
      <title>所有报警_frm</title>
      <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
      <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
      <link rel="stylesheet" type="text/css" href="../../css/alarm/alarm.css"/>
      <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
      <link rel="stylesheet" type="text/css" href="../../css/aui-flex.css" />
      <style>
          html,
          body{
            background-color: #F4F6F9;
          }
      </style>
  </head>
  <body>
    <div class="search-view-inline" style="position:fixed;top:0;z-index:99;">
        <div class="select-list aui-ellipsis-1" tapmode id="select-imei" onclick="selectImei();">
            <span class="choose-device-title">请选择设备</span>
            <i></i>
        </div>
        <label style="background-color:rgba(240,245,255,1);"></label>
        <div class="select-list aui-ellipsis-1" tapmode id="select-status" onclick="selectStatus();">
            <span class="choose-device-title">报警类型</span>
            <i></i>
        </div>
    </div>
    <div class="alarm-panel" id="alarm_panel">
      <!-- <div class="list-panel"><div class="aui-flex-col"><div class="aui-flex-item-1 aui-flex-row aui-hide choose-area"><img src="../../image/alarm/icon-unselected.png" class="imgCls" style="width:18px;height:18px;margin-top: 3.2rem;margin-left:0.5rem;" tapmode onclick="chooseToHandle(this,'b6975fbc-538d-46dd-9884-49f189225483')" /></div><div class="aui-flex-row aui-flex-item-11 normal-area"><div class="info-panel"><div class="aui-row top-14"><div class="aui-col-3"><div class="number-id">4</div></div><div class="aui-col-21"><span class="device-imei">设备ID:867352040464122</span></div></div><div class="list-line"></div></div><p class="warning-item-content alarms-style"><em class="ararm-btn">IGBT驱动异常</em></p><div class="list-footer"><span class="update-time">更新时间:2019-08-29 08:59:27</span></div></div></div></div> -->
    </div>
  </body>
  <script type="text/javascript" src="../../script/api.js"></script>
  <script type="text/javascript" src="../../script/common.js"></script>
  <script type="text/javascript">
      var page = 1,
        limit = 10,
        selected_imei = '',
        selected_status = '',
        selected_type = 'all',
        nextDataFlag = true
        sequence = 0;
      var userId;
      var token;
      var selectedHandleList = [];
      apiready = function(){
        api.parseTapmode();
        token = $api.getStorage('userToken');
        userId = $api.getStorage('userID');
        /**上拉加载 */
        api.addEventListener({
            name: 'scrolltobottom',
            extra: {
                threshold: 0
            }
        }, function(ret, err) {
            page += 1;
            getAlarmList();
            // console.log(JSON.stringify(ret));
        });
        /** 下拉刷新 */
        api.setRefreshHeaderInfo({
            loadingImg:'',
            bgColor: '#5B7FF8',
            textColor: '#000',
            textDown: '下拉刷新...',
            textUp: '松开刷新...'
        }, function(ret, err) {
          page = 1;
          selected_imei = '';
          selected_status = '';
          selected_type = 'all';
          nextDataFlag = true;
          sequence = 0;
          $api.html($api.dom($api.byId("select-imei"), 'span'), "请选择设备");
          $api.html($api.dom($api.byId("select-status"), 'span'), "报警类型");
          //---移除dom中的所有元素
          var allDom = $api.domAll('.single-msg'); //list-panel
          for (var i = 0; i < allDom.length; i++) {
            $api.remove(allDom[i]);
          }
          getAlarmList();
          api.refreshHeaderLoadDone();
        });

        api.addEventListener({
            name: 'handleAllAlarmMsgBegin'
        }, function(ret, err){
            if( ret ){
              if (ret.value.isEdit) {    //打开弹性布局
                //
                var normalDoms = $api.domAll('.normal-area');
                for (var i = 0; i < normalDoms.length; i++) {
                  $api.removeCls(normalDoms[i], 'aui-flex-item-12');
                  $api.addCls(normalDoms[i], 'aui-flex-item-11');
                }
                var chooseDoms = $api.domAll('.choose-area');
                for (var j = 0; j < chooseDoms.length; j++) {
                  $api.removeCls(chooseDoms[j], 'aui-hide');
                }

                //打开底部操作栏
                api.openFrame({
                    name: 'alarm_tool',
                    url: './alarm_tool.html',
                    rect: {
                        x: 0,
                        y: api.winHeight-api.pageParam.f-49-49,
                        w: api.winWidth,
                        h: 50
                    }
                });

              }else {          //关闭弹性布局;找到所有selected图,置为unselected
                var normalDoms = $api.domAll('.normal-area');
                for (var i = 0; i < normalDoms.length; i++) {
                  $api.removeCls(normalDoms[i], 'aui-flex-item-11');
                  $api.addCls(normalDoms[i], 'aui-flex-item-12');
                }
                var chooseDoms = $api.domAll('.choose-area');
                for (var j = 0; j < chooseDoms.length; j++) {
                  $api.addCls(chooseDoms[j], 'aui-hide');
                  ((chooseDoms[j].childNodes)[0]).src = '../../image/alarm/icon-unselected.png';
                }

                selectedHandleList = [];
                //发送消息至底部工具栏 置空数据
                //...
                //关闭底部操作栏
                api.closeFrame({
                    name: 'alarm_tool'
                });

              }
            }
        });


        getAlarmList();
      };

      function getAlarmList() {

        api.ajax({
          url: HOST + '/iot_api/v1/app/get_warning_list?page=' + page + '&limit=' + limit + '&imei=' + selected_imei + '&status=' + selected_status + '&user_id=' + userId,
          method: 'GET',
          headers: {
            'Content-Type': 'application/json;charset=utf-8',
            'token': token
          },
        }, function(ret, err) {
          if (ret.code == 0) {
            if (!ret.data.next) {
              api.toast({msg: '暂无更多数据!',duration: 2000,location: 'bottom'});
              return;
            }else {
              var warningList = ret.data.rows;
              for (var i = 0; i < warningList.length; i++) {
                sequence += 1;
                var warningDomHtml =  addWarningListHtml(warningList[i],sequence);
                $api.append($api.byId("alarm_panel"), warningDomHtml);
              }
            }
          }else {
            api.toast({msg: '网络错误',duration: 2000,location: 'bottom'});
          }
        });
      }

      function selectImei() {
        api.openFrame({
            name: 'alarmImeiSelect_frm',
            url: './alarmImeiSelect_frm.html',
            rect: {
                x: 0,
                y: api.winHeight-204,
                w: api.winWidth,
                h: 204
            },
            pageParam: {
                selected: selected_type
            },
            bounces: false,
            bgColor: '#FFFFFF',
        });

      }

      function selectStatus() {

        api.openFrame({
            name: 'alarmTypeSelect_frm',
            url: './alarmTypeSelect_frm.html',
            rect: {
                x: 0,
                // y: api.winHeight-203,
                y: api.pageParam.h,
                w: api.winWidth,
                h: api.winHeight-api.pageParam.h-api.pageParam.f
            },
            pageParam: {
                selected: selected_type,
            },
            bounces: false,
            animation: {
                type:"fade",                //动画类型(详见动画类型常量)
                subType:"from_bottom",       //动画子类型(详见动画子类型常量)
                duration:300                //动画过渡时间,默认300毫秒
            }
        });

      }

      function chooseToHandle(dom,msg_id) { //val是序号
        if (dom.src.indexOf("unselected") != -1) { //选中操作
          dom.src = '../../image/alarm/icon-selected.png';
          if ( selectedHandleList.indexOf(msg_id) == -1 ) {  //防止list数据重复
            selectedHandleList.push = msg_id;
          }
        }else {  //取消选中按钮
          dom.src = '../../image/alarm/icon-unselected.png';
          var index = selectedHandleList.indexOf(msg_id);
          if ( index > -1 ) {
            selectedHandleList.splice(index, 1);
          }
        }
      }
  </script>
  </html>