var layer; var depotId; var view_tag = "A";//A-仓外 B-仓内 var windowWidth = 1920; var windowHeight = 1080; $(function () { layui.use(['layer'], function () { layer = layui.layer; renderDevice(); }); }); window.onload = function () { $("#m-container").css("background-image", "url(" + backgroundImg + ")"); windowWidth = document.body.offsetWidth; windowHeight = document.body.offsetHeight; }; function shoControl(id) { $.each(listDevice, function (index, item) { if (item.id == id) { depotId = item.depotId; return true; } }); layer.open({ type: 1, title: '当前仓操作', area: ['450px', '210px'], shade: 0, content: $('#control-FK'), btn: 0, closeBtn: 2 }); }; function showTips(msg) { $("#fire_info").text("信息:" + msg); }; //添加设备信息 function renderDevice() { if (!listDevice || listDevice.length == 0) { showTips("没有获取到照明配置信息!"); return; } //删除之前的渲染 $("div").remove(".device"); var container = $("#m-container"); var parentWidth = container.width(); var parentHeight = container.height(); var temp; var left = 50, top = 50; $.each(listDevice, function (index, item) { //外部设备 if (view_tag == "A" && DeviceLocation.L_05 == item.location) { return true; } //内部 if (view_tag == "B" && DeviceLocation.L_05 != item.location) { return true; } left = (parentWidth * item.posX).toFixed(4); top = (parentHeight * item.posY).toFixed(4); if (left < 1) left = 50; if (top < 1) top = 50; temp = ""; temp += "

";
}
container.append(temp);
});
};
function cut(tag) {
if ("A" == tag) {
$("#btnA").removeClass("layui-btn-primary");
$("#btnB").addClass("layui-btn-primary");
}
if ("B" == tag) {
$("#btnB").removeClass("layui-btn-primary");
$("#btnA").addClass("layui-btn-primary");
}
view_tag = tag;
renderDevice();
};
//内部操作
function executeIn(targetStatus) {
toExecute(targetStatus, "IN");
};
//外部操作
function executeOut(targetStatus) {
toExecute(targetStatus, "OUT");
};
//正库区操作
function executeALL(targetStatus) {
depotId = null;
toExecute(targetStatus, "ALL");
};
//全部状态查询
function queryAllStatus() {
depotId = null;
queryStatus();
};
//设备操作
function toExecute(targetStatus, type) {
var param = {
companyId: companyId,
deptId: deptId,
depotId: depotId,
type: type,
targetStatus: targetStatus,
deviceList: listDevice
};
// console.log(param);
// 开始调用后台执行
layer.load(1);
$.ajax({
type: 'POST',
url: "../../basic/lamp/control-device",
dataType: 'JSON',
contentType: "application/json;charset=UTF-8",
data: JSON.stringify(param),
success: function (result) {
layer.closeAll();
if (result.code != "ORDER_SUCCESS") {
layer.alert("执行失败:" + result.msg);
} else {
layer.alert("操作指令发送成功,待终端响应……");
query();
}
},
error: function () {
layer.closeAll();
layer.alert("操作发生异常,暂时无法解决!!");
}
});
};
// 状态查询
function queryStatus() {
layer.load(1);
var param = {
companyId: companyId,
deptId: deptId,
depotId: depotId,
deviceList: listDevice
};
$.ajax({
type: "POST",
url: "../../basic/lamp/query-status",
dataType: "json",
contentType: "application/json;charset=UTF-8",
data: JSON.stringify(param),
success: function (result) {
layer.closeAll();
if ("ORDER_SUCCESS" != result.code) {
// layer.alert(result.msg);
showTips(result.msg);
}
query();
},
error: function () {
layer.closeAll();
layer.alert("获取数据失败,请重新尝试!");
}
});
};
// 执行查询
function query() {
//console.log('-----------query----------------');
layer.load(1);
var param = {
companyId: companyId,
deptId: deptId
};
$.ajax({
type: "POST",
url: "../../basic/lamp/list-device-group",
dataType: "json",
contentType: "application/json;charset=UTF-8",
data: JSON.stringify(param),
success: function (result) {
layer.closeAll();
if (result.code != "0000") {
layer.msg(result.msg);
return;
}
listDevice = result.data;
// 根据设备渲染
renderDevice();
},
error: function () {
layer.closeAll();
layer.alert("获取设备列表失败,请重新刷新页面!");
}
});
};
// 根据CSS标签控制那些组件支持拖拽.device
function dragDevice() {
var tips = $(".device");
if (tips.length == 0) {
return;
}
var maxX = windowWidth;
var maxY = windowHeight;
$.each(tips, function (index, item) {
var dd = new Dragdrop({
target: item,
area: [0, maxX, 0, maxY],
callback: function (obj) {
// console.log('x:' + (obj.moveX - parentLeft) + ' y:' + (obj.moveY - parentTop));
}
});
dd.dragAll();
});
};
// 保存设备位置信息
function updatePos() {
var tips = $(".device");
if (tips.length == 0) {
return;
}
var container = $("#m-container");
var parentWidth = container.width();
var parentHeight = container.height();
var parentTop = container.offset().top;
var parentLeft = container.offset().left;
// 封装数据进行保存
var data = new Array();
var id = null, offset, posX = 0.0, posY = 0.0;
$.each(tips, function (index, item) {
id = item.id;
offset = $('#' + id).offset();
//调整为相对位置
posX = (offset.left - parentLeft) / parentWidth;
posY = (offset.top - parentTop) / parentHeight;
data[index] = {
bizId: id,
posX: posX.toFixed(4),
posY: posY.toFixed(4)
};
});
$.ajax({
type: 'POST',
url: "../../basic/common/update-verb-pos",
dataType: 'JSON',
contentType: "application/json;charset=UTF-8",
data: JSON.stringify(data),
success: function (result) {
layer.msg(result.msg);
},
error: function (result) {
layer.msg(result.msg);
}
});
}