// 库位图
let total = [],
rack = '',
racks = '',
rackDesc = '',
rackDescs = '',
crn = '',
crns = '',
track = '',
tracks = '',
stn = '',
stns = '',
stnArr = [],
floorBtn = '',
floorBtns = '',
floorBtnss = '',
floorInfo=''; // 库区信息
let rackss = mapInfo.racks,
rackDescss = mapInfo.rackDescs,
crnss = mapInfo.crns,
areas = mapInfo.areas[0].floors,
floorId;
function getMap() {
// 货架
for (let i = 0;i < rackss.length;i++) {
let bay ='' // 单个库位
let bays = '' // 库位集合
let bayWidth = rackss[i].width / (rackss[i].maxBayNo / rackss[i].minBayNo)
let maxBayNo = rackss[i].maxBayNo // 最大库位号
let minBayNo = rackss[i].minBayNo // 最小库位号
let bLen = maxBayNo / minBayNo // 库位个数
let bNum // 库位号码
// hpPosition 0 表示货架序号 左->右 1 表示货架序号 右->左
if (mapInfo.hpPosition == 1) {
bNum = maxBayNo
for (let j = bLen; j > 0; j--) {
bay = ""
bays = bays + bay
bNum = bNum - minBayNo;
}
}else {
bNum = minBayNo
let hiddenArr = [];
if (rackss[i].hiddenArr != undefined) {
hiddenArr = rackss[i].hiddenArr
}
for (let j = 0; j < bLen; j++) {
bay = "";
if (hiddenArr.indexOf(bNum) != -1) {
bay = "";
}
bays = bays + bay;
bNum = bNum + minBayNo;
}
}
rack = "
" + bays + "
"
racks = racks + rack
// getCrnInfo(minBayNo);
}
// // 货架描述
// for (let i = 0;i < rackDescss.length;i++) {
// rackDesc = "" + rackDescss[i].text + "
"
// rackDescs = rackDescs + rackDesc
// }
// 堆垛机和地轨
for (let i = 0;i < crnss.length;i++) {
if (crnss[i].type == "crane") {
crn = ""
crns = crns + crn
} else {
track = "" + crnss[i].text + "
"
tracks = tracks + track
}
}
// 楼层
for (let i = 0; i < areas.length;i++) {
let stnss = areas[i].stns
let floor = areas[i].text
console.log(areas[i].top)
floorId = areas[i].id
var position = (i+1)*100
floorBtn =
""
console.log(mapInfo.areas[0].floors.length)
if (mapInfo.areas[0].floors.length == 1) {
floorBtnss = ''
} else {
floorBtnss = floorBtnss + floorBtn
}
// 每层的 输送线站点
var index = i
var n = 1
stnArr[index] = ''
total[index] = ''
for (let j = 0; j < stnss.length; j++) {
if (stnss[j].type == "stn") {
stn = "" + stnss[j].text + "
"
stnArr[i] = stnArr[i] + stn
total[i] = n++
} else if(stnss[j].type == "track"){
stn = "" + stnss[j].text + "
"
stnArr[i] = stnArr[i] + stn
}
}
}
floorInfo = racks + rackDescs + tracks + crns + stnArr[0] + floorBtnss
$(".main-part").append(floorInfo)
$("#line-total").html(total[0])
// listenChange();
}
function changFloor(e) {
$(".main-part").empty() // 清空节点
floorInfo = racks + stnArr[e] +rackDescs + crns + tracks + floorBtnss
$(".main-part").append(floorInfo)
$("#line-total").empty()
$("#line-total").html(total[e])
// listenChange();
}
layui.config({
base: baseUrl + "/static/wms/layui/lay/modules/"
}).use(['table', 'form'], function () {
var table = layui.table;
var $ = layui.jquery;
var cache;
// 数据渲染
tableIns = table.render({
elem: '#deviceInfo',
headers: {token: localStorage.getItem('token')},
url: baseUrl + '/console/deviceInfo',
page: false,
limit: 16,
limits: [16, 30, 50, 100, 200, 500],
even: true,
cellMinWidth: 50,
cols: [[
{field: 'device', align: 'center', title: '设备'}
, {field: 'deviceId', align: 'center', title: '编号'}
, {field: 'battery', align: 'center', title: '电量'}
, {field: 'error', align: 'center', title: '异常', templet: '#errorTpl'}
, {field: 'status', align: 'center', title: '状态', width: 150}
]],
request: {
pageName: 'curr',
pageSize: 'limit'
},
parseData: function (res) {
return {
'code': res.code,
'msg': res.msg,
'count': res.data.total,
'data': res.data.records
}
},
response: {
statusCode: 200
},
done: function (res, curr, count) {
$(".layui-table-tool").hide()
$(".layui-table-view").css({"margin":"0px"})
$(".layui-table-box").css({"padding-bottom":"0px"})
cache = table.cache['deviceInfo'];
}
});
setInterval(() => {
tableReload()
},10000)
function tableReload() {
$.ajax({
url: baseUrl + "/console/deviceInfo",
headers: {'token': localStorage.getItem('token')},
contentType: 'application/json;charset=UTF-8',
method: 'GET',
traditional: true,
success: function (res) {
cache = res.data.records
table.reload('deviceInfo',{
data: cache
})
}
})
}
});