123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537 |
- <!DOCTYPE html>
- <html class="x-admin-sm">
- <head>
- <meta charset="UTF-8">
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport"
- content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
- <link rel="shortcut icon" href="https://osscold.baozhida.cn/favicon.ico">
- <link rel="bookmark" href="https://osscold.baozhida.cn/favicon.ico">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/css/font.css">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/css/xadmin.css">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/layui/css/layui.css">
- <script type="text/javascript" src="https://osscold.baozhida.cn/layui/layui.js" charset="utf-8"></script>
- <script type="text/javascript" src="https://osscold.baozhida.cn/js/xadmin.js"></script>
- <script src="https://cdn.staticfile.org/jquery/3.4.0/jquery.min.js"></script>
- <script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
- <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
- <!--[if lt IE 9]>
- <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
- <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
- <![endif]--></head>
- <body>
- <div class="layui-fluid">
- <div class="layui-row" id="tab_2">
- <div class="layui-row">
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
- <legend >传感器参数 {{if gt $.DeviceSensorParameter_T_SendState_0 0 }} <span style="background-color: #dedede;"> 上次设置的参数 还没有生效,再次提交会替换上次的数据!</span> {{end}}</legend>
- </fieldset>
- </div>
- <div class="layui-row">
- <div class="layui-col-md7" style="margin-bottom: 30px">
- <div style="{{if gt $.DeviceSensorParameter_T_SendState_0 0 }} background-color: #dedede; {{end}}">
- <form class="layui-form" action="" lay-filter="example">
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">设备名称</label>
- <div class="layui-input-inline">
- <input type="text" id="S_devName layui-disabled" value="{{.Device.T_devName}}" name="S_devName" autocomplete="off"
- class="layui-input layui-disabled">
- </div>
- <div class="layui-input-inline">
- <input class="layui-input layui-disabled" value="{{.Device.T_sn}}" type="text" id="S_sn" name="S_sn"
- autocomplete="off">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">传感器名称</label>
- <div class="layui-input-inline">
- <input type="text" id="S_name" value="{{.DeviceSensor.T_name}}" name="S_name" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-input-inline" style="width: 50px">
- <input class="layui-input layui-disabled" type="text" value="{{.DeviceSensor.T_id}}" id="S_id" name="S_id"
- autocomplete="off"
- class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">温度范围 ℃</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_Tlower" autocomplete="off" value="{{.DeviceSensor.T_Tlower}}" class="layui-input">
- </div>
- <div class="layui-form-mid">-</div>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_Tupper" autocomplete="off" value="{{.DeviceSensor.T_Tupper}}" class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">湿度范围 %</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_RHlower" autocomplete="off" value="{{.DeviceSensor.T_RHlower}}" class="layui-input">
- </div>
- <div class="layui-form-mid">-</div>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_RHupper" autocomplete="off" value="{{.DeviceSensor.T_RHupper}}" class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width: 60px;">启用</label>
- <div class="layui-input-block">
- <input type="checkbox" id="S_en" name="S_en" lay-filter="switchTest" lay-skin="switch"
- lay-text="开|关">
- <div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>关</em><i></i></div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width: 60px;">空库</label>
- <div class="layui-input-block">
- <input type="checkbox" id="S_free" name="S_free" lay-filter="switchTest" lay-skin="switch"
- lay-text="开|关">
- <div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>关</em><i></i></div>
- </div>
- </div>
- <div class="layui-form-item" style="text-align: center;margin-top: 20px">
- <button id="Pu_DeviceParameter_Sensor_id" type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="add">传感器配置{{if gt $.DeviceSensorParameter_T_SendState_0 0 }} (替换上次参数) {{end}}</button>
- </div>
- </form>
- </div>
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
- <legend>实时数据显示排序</legend>
- </fieldset>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label" style="width: 170px;">实时数据显示排序:</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" value="{{.DeviceSensor.T_sort}}" id="T_sort" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-form-mid">(越小越靠前,可以负数)</div>
- <div class="layui-input-inline" style="width: 100px;">
- <button class="layui-btn layui-btn-normal" onclick="UpDeviceSensor_Tsort()" >设置排序</button>
- </div>
- </div>
- </div>
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
- <legend>屏蔽数据展示</legend>
- </fieldset>
- <form class="layui-form" action="" lay-filter="example">
- <div class="layui-inline" style="font-size: 13px">
- <label class="layui-form-label" style="width: 170px;">是否屏蔽数据展示</label>
- <div class="layui-input-block">
- <input type="radio" name="T_datashow" value="0" title="屏蔽数据展示"
- {{if eq $.DeviceSensor.T_datashow 0 }}
- checked=""
- {{end}}
- ><div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i><div>弃用设备</div></div>
- <input type="radio" name="T_datashow" value="1" title="正常数据展示"
- {{if eq $.DeviceSensor.T_datashow 1 }}
- checked=""
- {{end}}
- ><div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i><div>开启设备</div></div>
- </div>
- </div>
- <div class="layui-input-inline" style="text-align: center;margin-top: 20px">
- <button type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="T_datashow">配置参数</button>
- </div>
- </form>
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 10px;">
- <legend>设备操作</legend>
- </fieldset>
- <button style="margin-left: 80px;background-color: #e09d00;" class="layui-btn layui-btn" onclick="f_Device_Parameter_Del()" >删除此设备(从数据库删除)</button>
- <button style="background-color: #ff3b00;" class="layui-btn layui-btn" onclick="f_Device_Parameter_Del_Device()" >删除此设备(从设备删除)</button>
- </div>
- <div class="layui-col-md5">
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: -10px;">
- <legend>最近修改记录(
- <span style="background-color:#dedede;margin: 0px 10px;">灰色:等待执行</span>
- <span style="background-color:#00FF00;margin: 0px 10px;">绿色:修改成功</span>
- <span style="background-color:#ffa5a5;margin: 0px 10px;">红色:修改失败</span>
- <span style="background-color:#d7b3f5;margin: 0px 10px;">紫色:覆盖参数</span>
- )</legend>
- </fieldset>
- {{range $index, $elem := .DeviceSensorParameter_lite}}
- <div class="layui-inline" style="margin-left: 40px;margin-bottom: 20px;padding: 10px;{{if eq $elem.T_SendState 0 }}background-color:#dedede; {{end}} {{if eq $elem.T_SendState 1 }}background-color:#00FF00; {{end}} {{if eq $elem.T_SendState 2 }}background-color:#ffa5a5; {{end}} {{if eq $elem.T_SendState 3 }}background-color:#d7b3f5; {{end}}">
- <span style="margin-right: 20px">操作人UUID:{{$elem.T_uuid}}</span>
- <span style="margin-right: 20px">设备名称:{{$elem.T_name}}</span>
- <span style="margin-right: 20px">温度下限:{{$elem.T_Tlower}}</span>
- <span style="margin-right: 20px">温度上限:{{$elem.T_Tupper}}</span>
- <span style="margin-right: 20px">湿度下限:{{$elem.T_RHlower}}</span>
- <span style="margin-right: 20px">湿度上限:{{$elem.T_RHupper}}</span>
- <span style="margin-right: 20px">启用:{{$elem.T_en}}</span>
- <span style="margin-right: 20px">空库:{{$elem.T_free}}</span>
- <span style="margin-right: 20px">修改时间:{{$elem.CreateTime}}</span>
- </div>
- {{end}}
- </div>
- </div>
- </div>
- </div>
- <script>
- //获取url中的参数
- function getQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- var r = window.location.search.substr(1).match(reg);
- if (r != null)
- return decodeURIComponent(r[2]);
- return null;
- }
- function timestampToTime(timestamp) {
- var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
- Y = date.getFullYear() + '-';
- M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
- D = date.getDate() + ' ';
- h = date.getHours() + ':';
- m = date.getMinutes() + ':';
- s = date.getSeconds();
- return Y + M + D + h + m + s;
- }
- $("#tab_1").hide()
- $("#tab_2").show()
- function tab_1() {
- $("#tab_1").show()
- $("#tab_2").hide()
- }
- function tab_2() {
- $("#tab_1").hide()
- $("#tab_2").show()
- }
- function f_Read_DeviceSensorParameter() {
- $.ajax({
- type: 'POST',
- url: 'Read_DeviceSensorParameter',//发送请求
- data: {
- SN:getQueryString("Sn"),
- },
- success: function(result) {
- layer.msg('请求成功!');
- }
- });
- }
- function f_Device_Parameter_Del() {
- // console.log(getQueryString("Sn"),getQueryString("Id"))
- layer.confirm('确认要 删除 当前传感器吗?',
- function(index) {
- var loading = layer.load(0, {
- shade: false,
- time: 99*1000
- });
- $.ajax({
- type: 'POST',
- url: 'Device_Parameter_Del',//发送请求】
- data: {
- Sn: getQueryString("Sn"),
- Id: getQueryString("Id")
- },
- success: function (result) {
- console.log(result)
- layer.close(loading)
- //关闭当前frame
- var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
- parent.layer.close(index); //再执行关闭
- parent.location.reload();
- // return false;
- }
- });
- });
- }
- function f_Device_Parameter_Del_Device() {
- // console.log(getQueryString("Sn"),getQueryString("Id"))
- layer.confirm('确认要 删除 当前传感器吗?',
- function(index) {
- var loading = layer.load(0, {
- shade: false,
- time: 99*1000
- });
- $.ajax({
- type: 'POST',
- url: 'Device_Parameter_Del_Device',//发送请求】
- data: {
- Sn: getQueryString("Sn"),
- Id: getQueryString("Id")
- },
- success: function (result) {
- console.log(result)
- var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
- parent.layer.close(index); //再执行关闭
- parent.location.reload();
- // return false;
- }
- });
- });
- }
- function UpDeviceSensor_Tsort() {
- // console.log(getQueryString("Sn"),getQueryString("Id"))
- //
- $.ajax({
- type: 'POST',
- url: '../../Device/UpDeviceSensor_Tsort',//发送请求】
- data: {
- Sn: getQueryString("Sn"),
- Id: getQueryString("Id"),
- T_sort: $("#T_sort").val()
- },
- success: function (result) {
- console.log(result)
- //关闭当前frame
- var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
- parent.layer.close(index); //再执行关闭
- parent.location.reload();
- // return false;
- }
- });
- }
- f_Read_DeviceParameter_is = true
- function f_Read_DeviceParameter() {
- if(f_Read_DeviceParameter_is){
- console.log("Read_DeviceSensorParameter",getQueryString("Sn"))
- $.ajax({
- type: 'POST',
- url: 'Read_DeviceSensorParameter',//发送请求
- data: {
- SN:getQueryString("Sn"),
- },
- success: function(result) {
- }
- });
- f_Read_DeviceParameter_is = false
- }
- }
- layui.use(['form', 'layer', "layedit"],
- function () {
- $ = layui.jquery;
- var form = layui.form,
- layer = layui.layer;
- var layedit = layui.layedit
- layedit.set({
- uploadImage: {
- url: '/UpFile' //接口url
- }
- });
- T_en = false
- if ("{{.DeviceSensor.T_en}}" == 1) {
- T_en = true
- }
- T_free = false
- if ("{{.DeviceSensor.T_free}}" == 1) {
- T_free = true
- }
- form.val('example', {
- "S_en": T_en
- , "S_free": T_free
- });
- //监听提交
- form.on('submit(add)',
- function (data) {
- console.log("=== submit(add) ==");
- loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- console.log(data);
- S_en = 0
- if (data.field.S_en != undefined) {
- S_en = 1
- }
- S_free = 0
- if (data.field.S_free != undefined) {
- S_free = 1
- }
- var T_sensor_list = [];
- T_sensor_list.push({
- })
- $.ajax({
- type: 'POST',
- url: "Pu_DeviceParameter_Sensor",//发送请求】
- data: {
- T_SN: Sn,
- T_id: parseInt(Id),
- "T_name": data.field.S_name,
- "T_Tlower": parseFloat(data.field.S_Tlower),
- "T_Tupper": parseFloat(data.field.S_Tupper),
- "T_RHlower": parseFloat(data.field.S_RHlower),
- "T_RHupper": parseFloat(data.field.S_RHupper),
- "T_en": S_en,
- "T_free": S_free
- },
- success: function (result) {
- console.log(result)
- //关闭当前frame
- var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
- parent.layer.close(index); //再执行关闭
- parent.location.reload();
- // return false;
- }
- });
- return false;
- });
- {{if eq $.Admin_Power.Power_DeviceSensor_Compensate_e 1}}
- form.on('submit(T_datashow)',
- function(data) {
- console.log("=== submit(T_datashow) ==");
- loading = layer.load(0, {
- shade: false,
- time: 99*1000
- });
- $.ajax({
- type: 'POST',
- url: 'UpDeviceSensor_T_datashow',//发送请求
- data: {
- Sn: Sn,
- Id: parseInt(Id),
- T_datashow:data.field.T_datashow,
- },
- success: function(result) {
- console.log(result)
- layer.close(loading)
- if(result.Code != 200){
- return
- }
- layer.msg('配置参数成功!', {
- offset: '6px'
- });
- //关闭当前frame
- var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
- parent.layer.close(index); //再执行关闭
- parent.location.reload();
- // return false;
- }
- });
- return false;
- });
- //监听提交
- form.on('submit(O_add)',
- function (data) {
- console.log("=== submit(add) ==");
- loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- var T_sompensate_list = [];
- T_sompensate_list.push({
- "id": parseInt(Id),
- "T": parseFloat(data.field.O_T),
- "RH": parseFloat(data.field.O_RH)
- })
- $.ajax({
- type: 'POST',
- url: 'Pu_DeviceParameter_Compensate',//发送请求】
- data: {
- User_tokey: $.cookie('User_tokey'),
- SN: Sn,
- T_sompensate_list: JSON.stringify(T_sompensate_list)
- },
- success: function (result) {
- console.log(result)
- // return false;
- }
- });
- return false;
- });
- {{end}}
- // //监听指定开关
- // form.on('switch(switchTest)', function(data){
- // layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
- // offset: '6px'
- // });
- // layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
- // });
- //表单取值
- // layui.$('#LAY-component-form-getval').on('click', function(){
- // var data = form.val('example');
- // alert(JSON.stringify(data));
- // });
- var Sn = getQueryString("Sn")
- var Id = getQueryString("Id")
- $("#T_devName").html(getQueryString("Sn_name"))
- });
- </script>
- </body>
- <style>
- .tab_show {
- background-color: #CCE9FF;
- border-radius: 5px;
- padding: 4px;
- }
- </style>
- </html>
|