var form; var table; var element; var deviceList = []; layui.use(['layer'], function () { layer = layui.layer; }); //初始化设备分类列表 renderCategroy(); //查询扩展设备信息并渲染 queryDeviceExpandList(); //查询设备信息并渲染 queryDeviceList(); //查询扩展设备信息 -设置为同步请求 function queryDeviceExpandList() { $.ajaxSettings.async = false; $.get("./cgi-bin/device-io/query-ext", function (data, status) { if ("success" == status) { renderExpandSelect(data); } else { window.parent.notify("系统获取扩展设备列表出错!"); } }, "json"); } //渲染扩展设备下拉框 function renderExpandSelect(list) { $.each(list, function (index, item) { $("#device-devId").append(""); }); } //查询开关量设备信息 function queryDeviceList() { $.get("./cgi-bin/device-io/query", function (data, status) { if ("success" == status) { deviceList = data; renderDevice(); } else { window.parent.notify("系统获取开关量设备列表出错!"); } }, "json"); } //渲染设备列表 function renderDevice() { var html = ''; $.each(deviceList, function (index, item) { html += '' + item.name + ''; html += '' + item.id + ''; html += '' + item.devChn + ''; html += '' + (item.vld==0?'启用':'停用') + ''; //根据所属设备Id获取设备名称,需要先渲染扩展设备下拉框才能使用 var devName = item.devId?$("#devId option[value = '"+ item.devId +"']").text():item.devId; html += '' + (devName?devName:item.devId) + ''; html += ''; html += ''; if(item.vld==0){ html += ''; }else { html += ''; } html += ''; html += ''; }); $("#deviceList").html(html); } //设备编辑 function deviceUpdate(index) { $(".pop-btn").hide(); if(index != -1){ $(".pop-name").html("编辑设备配置信息"); $("#edit").show(); $("#device-id").attr("readOnly",true); var cur = deviceList[index]; $("#device-name").val(cur.name); $("#device-id").val(cur.id); $("#device-type").val(cur.type); $("#device-devId").val(cur.devId); $("#device-devChn").val(cur.devChn); $("#device-condition").val(cur.condition); $("#device-vld").val(cur.vld); }else{ $("#device-id").attr("readOnly",false); $(".pop-name").html("新增设备配置信息"); $("#add").show(); } var widthPop = "55%"; var heightPop = "45%"; if(screen.width==1920 && screen.height==1080){ widthPop = "55%"; heightPop = "45%"; }else if(screen.width==1280 && screen.height==1024){ widthPop = "75%"; heightPop = "60%"; }else{ widthPop = "55%"; heightPop = "45%"; } layer.open({ skin: 'mypop', type: 1, // title: '警报信息', title: false, area: [widthPop, heightPop], closeBtn: 0, shade: 0, scrollbar: false, content: $('#editDeviceDom') }); } //设备编辑 function copy(index) { $(".pop-btn").hide(); $("#device-id").attr("readOnly",false); $(".pop-name").html("新增设备配置信息"); $("#add").show(); var cur = deviceList[index]; $("#device-name").val(cur.name); $("#device-id").val(cur.id); $("#device-type").val(cur.type); $("#device-devId").val(cur.devId); $("#device-devChn").val(cur.devChn); $("#device-condition").val(cur.condition); $("#device-vld").val(cur.vld); var widthPop = "55%"; var heightPop = "45%"; if(screen.width==1920 && screen.height==1080){ widthPop = "55%"; heightPop = "45%"; }else if(screen.width==1280 && screen.height==1024){ widthPop = "75%"; heightPop = "60%"; }else{ widthPop = "55%"; heightPop = "45%"; } layer.open({ skin: 'mypop', type: 1, // title: '警报信息', title: false, area: [widthPop, heightPop], closeBtn: 0, shade: 0, scrollbar: false, content: $('#editDeviceDom') }); } //执行保存 function save(btn) { var data = { name : $("#device-name").val(), id : $("#device-id").val(), type : $("#device-type").val(), devId : $("#device-devId").val(), devChn : $("#device-devChn").val(), condition : $("#device-condition").val(), vld : $("#device-vld").val() }; console.log("----------开关量设备需要执行保存的数据信息--------"); console.log(JSON.stringify(data)); if (!data.id) { window.parent.notify("设备ID不能为空!"); return; } var r = /^\d{4}$/; if(!r.test(data.id)){ window.parent.notify("设备ID不是一个4位的正整数!"); return; } if (data.id<3000 || data.id>3999) { window.parent.notify("开关量设备ID设置范围为3000~3999!"); return; } var url = "./cgi-bin/device-io/add"; if ("edit" == btn) { url = "./cgi-bin/device-io/edit"; } $.post(url, JSON.stringify(data), function (data, status) { if ("success" == data.code) { layer.closeAll(); window.parent.notify("数据保存成功!"); queryDeviceList(); } else { window.parent.notify("数据保存出错,请重新操作!"+data.msg+"!"); } }, "json"); } //数据删除 function deviceDel(index) { var data = deviceList[index]; var param = {"id": data.id}; layer.confirm('确定删除此条数据吗?', function (index) { $.post("./cgi-bin/device-io/delete", JSON.stringify(param), function (data, status) { if ("success" == status && "success" == data.code) { layer.close(index); window.parent.notify("数据删除成功,页面自动刷新!"); queryDeviceList(); } else { layer.close(index); window.parent.notify("数据删除失败"); } }, "json"); }); } //状态设置 function changeStatus(index) { var data = deviceList[index]; var param = {"id": data.id}; var msg = "确定要停用么?", url = "./cgi-bin/device-io/val-1"; if (1 == data.vld) { msg = "确定启用用么?"; url = "./cgi-bin/device-io/val-0"; } layer.confirm(msg, function (index) { $.post(url, JSON.stringify(param), function (data, status) { if ("success" == status && "success" == data.code) { layer.close(index); window.parent.notify("操作成功,页面自动刷新!"); queryDeviceList(); } else { layer.close(index); window.parent.notify("数据操作失败,请重新尝试!"); } }, "json"); }); } function closepopBtn() { //清空表单信息 $("#device-io")[0].reset(); layer.closeAll(); } //初始化设备分类列表 function renderCategroy(){ $.each(CATEGORY, function (index, item) { //漏水 if(item.code == "2005"){ $("#device-type").append(""); } //门禁 // if(item.code == "3001"){ // $("#device-type").append(""); // } //烟感 if(item.code == "3002"){ $("#device-type").append(""); } //红外 if(item.code == "3003"){ $("#device-type").append(""); } //消防 // if(item.code == "3007"){ // $("#device-type").append(""); // } //温感 if(item.code == "3008"){ $("#device-type").append(""); } //通用开关量 if(item.code == "3009"){ $("#device-type").append(""); } //消防开关量 if(item.code == "3012"){ $("#device-type").append(""); } //防雷 if(item.code == "3013"){ $("#device-type").append(""); } }); }