You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
6.1 KiB
230 lines
6.1 KiB
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
|
pageEncoding="UTF-8"%>
|
|
<%@ page import="com.lp.cfg.ProConfig"%>
|
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<%@ include file="/WEB-INF/wechat/iot/common/resource_lib.jsp"%>
|
|
<link type="text/css" href="<%=basePath%>/lib/pintuer/pintuer.min.css" rel="stylesheet"/>
|
|
<script type="text/javascript" src="../../lib/layer/layer.js"></script>
|
|
|
|
<style type="text/css">
|
|
.btn-span{
|
|
border:1px solid #3499da;
|
|
padding: 1px 10px;
|
|
color:#3499da ;
|
|
margin:0 10px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
}
|
|
.self-input{
|
|
}
|
|
.self-sapn{
|
|
display: inline-block;
|
|
width: 40%;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;overflow: hidden;
|
|
|
|
}
|
|
.float-left.width-50{
|
|
margin-bottom: 8px;
|
|
}
|
|
.input-small{
|
|
height: 36px;
|
|
line-height: 36px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="t-c title-info" >
|
|
<span>设备参数配置</span>
|
|
<div class="back" onclick="returnBack()" style=" position: fixed;top: 0px;" >
|
|
返回</div>
|
|
</div>
|
|
<div style="height: 50px;"></div>
|
|
<div id="container" style="padding: 10px 5px;">
|
|
|
|
</div>
|
|
<div id="template" class="hide">
|
|
<div class="panel mt-10" >
|
|
<div class="panel-head " style="background-color:#f5f5f5;">
|
|
<strong>{name}</strong>
|
|
|
|
<span style="float: right;" class="pr-10">时间:<span>[mtime]</span></span>
|
|
</div>
|
|
<div class="panel-body clear">
|
|
{body}
|
|
</div>
|
|
<div class="panel-foot clear" style="background-color:#fff;">
|
|
<span class="float-right btn-span" onclick="downparam({id})" >参数下发</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="template3" class="hide">
|
|
<div class="" style="padding:5px 0;">
|
|
<span class="self-sapn">{0}:</span>
|
|
<select class="input input-small input-select self-input params">
|
|
{1}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="template2" class="hide">
|
|
<div class="" style="position: relative;">
|
|
<input class="input input-small self-input {5}-value" readonly="readonly" tag="{4}" value="{1}" >
|
|
<!-- <input class="input input-small self-input params" placeholder="数据下发" tag="{4}" style=" margin-top: 10px;" > -->
|
|
<span style="position: absolute;top:9px;right: 10px;z-index: 1000;" >{2}</span>
|
|
<p style="padding-top: 10px;margin:0;">
|
|
备注: {3}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
|
|
<script type="text/javascript">
|
|
|
|
// 参数读取
|
|
function sensor_param_read( id ,obj){
|
|
commonAjax('PUT', localUrl+'/sensor/param/read.json' , {id:id},function(data){
|
|
if(isOK(data)){
|
|
tip("读指令下发成功,请稍后...");
|
|
setTimeout(function() {
|
|
getSensorSetting(GetQueryString("id"));
|
|
}, 3000);
|
|
}else{
|
|
tip(data.statusMsg,'e') ;
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 数据下发
|
|
*/
|
|
function downparam(id){
|
|
layer.prompt({title: '数据下发', formType: 3}, function(val, index){
|
|
commonAjax('PUT',localUrl+'/sensor/param/down.json', {sdata : val ,id:id },function(data){
|
|
if(isOK(data)){
|
|
tip("写指令下发成功,请稍后...");
|
|
}else{
|
|
$.toptip(data.statusMsg, 'error');
|
|
}
|
|
});
|
|
layer.close(index);
|
|
});
|
|
return false;
|
|
}
|
|
|
|
function getDisInfo(data){
|
|
var t =eval('('+ gdv( data.infos,'{}') +')');
|
|
if( t!= null && t.readType == 1){
|
|
return "" ;
|
|
}else{
|
|
return "hide" ;
|
|
}
|
|
}
|
|
|
|
// 参数下发
|
|
function sensor_param_down( id, obj ){
|
|
var inputs = $(obj).parent().parent().find('input.params,select.params');
|
|
var str_sdata = '' ;
|
|
for(var i=0;i<inputs.length;i++){
|
|
str_sdata += ","+inputs.eq(i).val();
|
|
}
|
|
var downparam =str_sdata.substring(1) ;
|
|
|
|
if( inputs.eq(0).attr("tag") !=null && inputs.eq(0).attr("tag") != '' ){
|
|
var info_data = eval ("("+ inputs.eq(0).attr("tag") + ")") ;
|
|
if(info_data.max != null && info_data.max != '' ){
|
|
if( downparam >= info_data.max ){
|
|
tip("参数大于最大值",'e');
|
|
return ;
|
|
}
|
|
}
|
|
|
|
if(info_data.min != null && info_data.min != '' ){
|
|
if( downparam <= info_data.min ){
|
|
tip("参数小于最大值",'e');
|
|
return ;
|
|
}
|
|
}
|
|
}
|
|
|
|
if( $(obj).prev().prev().html() == '文本信息下发' ){
|
|
downparam = $URL.encode(str_sdata.substring(1)) ;
|
|
}
|
|
if(inputs.length >0){
|
|
commonAjax('PUT',localUrl+'/sensor/param/down.json', {sdata: downparam ,id:id },function(data){
|
|
if(isOK(data)){
|
|
tip("写指令下发成功,请稍后...");
|
|
setTimeout(function() {
|
|
udpSensorSetting(GetQueryString("id"));
|
|
inputs.eq(0).val('') ;
|
|
}, 2500);
|
|
}else{
|
|
tip(data.statusMsg,'e') ;
|
|
}
|
|
});
|
|
}else{
|
|
tip("暂无指令下发",'e');
|
|
}
|
|
}
|
|
|
|
setInterval(function(){
|
|
udpSensorSetting(GetQueryString("id"));
|
|
}, 10*1000);
|
|
|
|
// 更新数据
|
|
function udpSensorSetting(nid){
|
|
postAjax(localUrl+"/page/sensor.json?pageSize=300&paged=1", { node_id : nid , data_type:1 },function(data){
|
|
if(isOK(data)){
|
|
var dataT = data.data.data ;
|
|
for(var i=0 ; i<dataT.length; i++){
|
|
$("."+dataT[i].id + "-value").val( dataT[i].sdata ) ;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
getSensorSetting(GetQueryString("id"));
|
|
|
|
function getSensorSetting(nid){
|
|
postAjax(localUrl+"/page/sensor.json?pageSize=300&paged=1", { node_id : nid , data_type:1 },function(data){
|
|
if(isOK(data)){
|
|
var dataT = data.data.data ;
|
|
$("#container").empty();
|
|
for(var i=0 ; i<dataT.length; i++){
|
|
dataT[i].body = getBodyContent( dataT[i].name , dataT[i].sdata, dataT[i].param_config , dataT[i].param_names , dataT[i].infos.replace(/"/g,"'") , dataT[i].id );
|
|
$("#container").append( $("#template").html().format(dataT[i]) );
|
|
}
|
|
}else{
|
|
$("#container").append( "<p style='color:#666;text-align:center;'>暂无参数配置</p>");
|
|
}
|
|
});
|
|
}
|
|
|
|
function getBodyContent(as,bs,cs,d,f , g){
|
|
var s = '' ;
|
|
s += $("#template2").html().format( as ,bs, cs ,d,f , g);
|
|
return s;
|
|
}
|
|
|
|
function selectInit(a,b,c){
|
|
var s = '' ;
|
|
for(var i=0;i<a.length;i++){
|
|
s += "<option "+ tom(b[i]==c,"selected='selected'","") +" value='"+b[i] +"'>"+ a[i] +"</option>";
|
|
}
|
|
return s ;
|
|
}
|
|
|
|
function returnBack(){
|
|
forward( '/wiot/device?id=' + GetQueryString("sid") );
|
|
}
|
|
|
|
</script>
|
|
|
|
</html>
|