ledtest.html 14.0 KB
<span style="font-size:18px;"><!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
 
<title>smartshelf系统</title>
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
 
</head>
 
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">亮灯料架</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li><a href="{{ url_for('index') }}">控制</a></li>
            <li class="active"><a href="{{ url_for('ledtest') }}">测试</a> </li>
            <li><a href="{{ url_for('shelfconfig') }}">料架配置</a> </li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav>
 
<div class="container-fluid">
  <div class="row">
 
    <div class="col-md-6">
      <h2>料架系统</h2>
      <hr class="divider">
        <!-- 灯条测试 -->
        <div class="panel panel-warning">
          <div class="panel-heading">
            <h3 class="panel-title">灯条测试</h3>
          </div>
          <div class="panel-body">
                <label for="cha" class="col-sm-1">通道</label>
                <div class="col-sm-3">
                  <select id='linechannel' class="form-control">
                    <option>通道1</option>
                    <option>通道2</option>
                  </select>
                </div><!-- /.col-sm-4 -->
                <label for="cha1" class="col-sm-1">颜色</label>
                <div class="col-sm-3">
                  <select id='linecolor' class="form-control">
                    <option></option>
                    <option>绿</option>
                    <option></option>
                    <option></option>
                  </select>
                </div>
                <div class="col-sm-4">
                  <input type="button" value="灯条全开" class="btn btn-warning" onclick="lineledon()"/>
                  <input type="button" value="灯条关闭" class="btn btn-info" onclick="lineledoff()"/>
                </div><!-- /.col-sm-4 -->
          </div>
        </div>
        <div class="panel panel-success">
          <div class="panel-heading">
            <h3 class="panel-title">库位操作测试</h3>
          </div>
          <div class="panel-body">
                <label for="stock_cha1" class="col-sm-1">库位</label>
                <div class="col-sm-3">
                  <select id="led_address" class="form-control">
                    {% for optionv in option_list %}
                        <option>{{ optionv }}</option>
                    {% endfor %}
                  </select>
                </div>
                <label for="cha2" class="col-sm-1">颜色</label>
                <div class="col-sm-3">
                  <select id='indexcolor' class="form-control">
                    <option></option>
                    <option>绿</option>
                    <option></option>
                    <option></option>
                  </select>
                </div>
                <div class="col-sm-4">
                  <input type="button" value="亮灯" class="btn btn-warning" onclick="ledopen()"/>
                  <input type="button" value="灭灯" class="btn btn-info" onclick="ledoff()"/>
                  <input type="button" value="重置" class="btn btn-info" onclick="resetled()"/>
                </div><!-- /.col-sm-4 -->
          </div>
        </div>
        <div class="panel panel-success">
          <div class="panel-heading">
            <h3 class="panel-title">状态灯测试</h3>
          </div>
          <div class="panel-body">
                <label for="cha4" class="col-sm-1">通道</label>
                <div class="col-sm-3">
                  <select id='workchannel' class="form-control">
                    <option>通道1</option>
                    <option>通道2</option>
                  </select>
                </div><!-- /.col-sm-4 -->
                <label for="cha6" class="col-sm-1">颜色</label>
                <div class="col-sm-3">
                  <select id='workcolor' class="form-control">
                    <option>green</option>
                    <option>red</option>
                  </select>
                </div>
                <div class="col-sm-4">
                  <input type="button" value="亮灯" class="btn btn-warning" onclick="workinglight()"/>
                  <input type="button" value="灭灯" class="btn btn-info" onclick="workingoff()"/>
                </div><!-- /.col-sm-4 -->
          </div>
        </div>
    </div>
    <div class="col-md-6">
      <h2>运行日志&状态信息</h2>
      <hr class="divider">        
        <div id="panel-group">
          <!-- 1 -->
          <div class="panel panel-primary">
            <div class="panel-heading">
              <h3 class="panel-title">提醒消息</h3>
            </div>
            <div class="panel-body">
              <div class="alert alert-info" role="alert">
                <p>
                运行状态:<span id="shelfstate"></span>
                </p>
              </div>
              <div class="alert alert-info" role="alert">
                <p>
                  测试消息:<span id="testinfo"></span>
                  </p>
              </div>
              <div class="alert alert-info" role="alert">
                <p>
                  配置文件加载状态:<span>{{ config_state }}</span>
                  </p>
              </div>
              <!-- <div class="alert alert-info" role="alert">
                <p>
                默认管脚位置:<span id="gpioconfig"></span>
                </p>
              </div> -->
            </div>
          </div>
          <!-- <div class="panel panel-danger">
            <div class="panel-heading">
              <h3 class="panel-title">日志</h3>
            </div>
            <div class="panel-body">
              <div class="alert alert-info" role="alert">
                <strong>提示</strong> xxx灯亮
              </div>
              <div class="alert alert-danger" role="alert">
                <strong>提示</strong> xxx灯灭
              </div>
            </div>
          </div> -->
        </div>
    </div>
    </div>
    
  </div>
 
<script>
    $(document).ready(function () {
        getstate();
        console.log('success');
        });
      // 获取开机关机状态
      function getstate(){
        // var form= new FormData(document.getElementById("test_form"));
        $.ajax({
            url:"/getstate",
            type:"post",
            // data:form,
            dataType: 'json',
            processData:false,
            contentType:false,
            success:function(data){
                console.log(data)
                if (data[0].state == 'on') {$("#shelfstate").html("运行中");}
                else if (data[0].state == 'off') {$("#shelfstate").html("已关闭");}
                else {$("#shelfstate").html("未初始化");}
                // $("#shelfstate").html("<b>已关闭</b>")
                $("#testinfo").html(data[0].msg)
            },
            error:function(e){
                    alert("未获取到状态信息");
            }
        })
      }

      // 灯条测试
      function lineledon(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
        }else {
          var data = {"channel_num":document.getElementById("linechannel").value,
                    "channel_color":document.getElementById("linecolor").value}
          console.log(data)
          $.ajax({
              url:"/lineledon",
              type:"post",
              data:JSON.stringify(data),
              contentType: "application/json",
              dataType: 'json',
              success:function(data){
                      $("#testinfo").html(data[0].msg)
              },
              error:function(e){
                      alert("error");
              }
          })
          }
      }

      function lineledoff(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
        } else {
              var data = {"channel_num":document.getElementById("linechannel").value,
                        "channel_color":document.getElementById("linecolor").value}
            // var form= new FormData(document.getElementById("test_form"));
            // var data = {"word":"hello"}
            console.log(data)
            $.ajax({
                url:"/lineledoff",
                type:"post",
                data:JSON.stringify(data),
                dataType: 'json',
                contentType: "application/json",
                success:function(data){
                        $("#testinfo").html(data[0].msg)
                },
                error:function(e){
                        alert("error");
                }
            })
          }
      }
      // 库位灯测试
      function ledopen(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
          } else {
                var data = {"light_led_color":document.getElementById("indexcolor").value,
                          "light_led":document.getElementById("led_address").value}
              $.ajax({
                  url:"/ledopen",
                  type:"post",
                  data:JSON.stringify(data),
                  contentType: "application/json",
                  dataType: 'json',
                  success:function(data){
                          $("#testinfo").html(data[0].msg)
                  },
                  error:function(e){
                          alert("error");
                  }
              })
            }
      }

      // 库位灯测试
      function ledoff(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
          } else {
              var data = {
                    "off_led":document.getElementById("led_address").value}
              // console.log(data)
              $.ajax({
                  url:"/ledoff",
                  type:"post",
                  data:JSON.stringify(data),
                  contentType: "application/json",
                  dataType: 'json',
                  success:function(data){
                          $("#testinfo").html(data[0].msg)
                  },
                  error:function(e){
                          alert("error");
                  }
              })
          }
      }

      // 状态灯测试
      function workinglight(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
          } else {
              var data = {
                    "workchannel":document.getElementById("workchannel").value,
                    "workcolor":document.getElementById("workcolor").value}
              $.ajax({
                  url:"/workinglight",
                  type:"post",
                  data:JSON.stringify(data),
                  contentType: "application/json",
                  dataType: 'json',
                  // processData: false,//用于对data参数进行序列化处理 这里必须false
                  // contentType: false, //必须
                  success:function(data){
                          $("#testinfo").html(data[0].msg)
                  },
                  error:function(e){
                          alert("error");
                  }
              })
          }
      }

      function workingoff(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
          } else {
              var data = {
                    "workchannel":document.getElementById("workchannel").value,
                    "workcolor":document.getElementById("workcolor").value}
              $.ajax({
                  url:"/workingoff",
                  type:"post",
                  data:JSON.stringify(data),
                  contentType: "application/json",
                  dataType: 'json',
                  // processData: false,//用于对data参数进行序列化处理 这里必须false
                  // contentType: false, //必须
                  success:function(data){
                          $("#testinfo").html(data[0].msg)
                  },
                  error:function(e){
                          alert("error");
                  }
              })
          }
      }

      // 库位灯重置
      function resetled(){
        var shelfstate = document.getElementById("shelfstate").innerHTML
        if (shelfstate == '运行中') {alert("料架运行中,请关闭后再进行测试")
          } else {
              $.ajax({
                  url:"/resetled",
                  type:"post",
                  // data:JSON.stringify(data),
                  contentType: "application/json",
                  dataType: 'json',
                  success:function(data){
                          $("#testinfo").html(data[0].msg)
                  },
                  error:function(e){
                          alert("error");
                  }
              })
          }
      }

</script>
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
</body>
</html>