// 库位图
|
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 maxBayNo = rackss[i].maxBayNo // 最大库位号
|
let minBayNo = rackss[i].minBayNo // 最小库位号
|
let bLen
|
let interval // 间隔数
|
|
if (maxBayNo<35) {
|
interval = 1
|
bLen = maxBayNo / interval // 库位个数
|
} else {
|
interval = 2
|
bLen = maxBayNo / interval // 库位个数
|
}
|
let bayWidth // 单个库位宽度
|
let bNum // 库位号码
|
|
if (minBayNo % 2 == 0) { // 从2开始
|
if(interval == 1) {
|
bLen = bLen - 1
|
} else if (interval == 2) {
|
if (maxBayNo % 2 == 0) { // 偶数
|
bLen = bLen
|
} else { // 奇数
|
maxBayNo = maxBayNo + 1
|
bLen = maxBayNo / interval // 库位个数
|
}
|
}
|
} else { // 从1开始
|
if(interval == 1) {
|
bLen = bLen
|
} else if (interval == 2) {
|
if (maxBayNo % 2 == 0) { // 偶数
|
bLen = bLen
|
} else { // 奇数
|
bLen = bLen + 1
|
}
|
}
|
}
|
bayWidth = rackss[i].width / bLen
|
// hpPosition 0 表示货架序号 左->右 1 表示货架序号 左<-右
|
if (mapInfo.hpPosition == 1) {
|
bNum = maxBayNo
|
for (let j = bLen; j > 0; j--) {
|
bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
|
bays = bays + bay
|
bNum = bNum - interval;
|
}
|
}else {
|
bNum = minBayNo
|
for (let j = 0; j < bLen; j++) {
|
bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
|
bays = bays + bay
|
bNum = bNum + interval;
|
}
|
}
|
|
rack = "<div class='rack' id='" + rackss[i].id +
|
"'style='width:"+ rackss[i].width +
|
"px;height: "+ rackss[i].height+
|
"px;top: "+ rackss[i].top +
|
"px;left: "+ rackss[i].left +
|
"px'>" + bays + "</div>"
|
racks = racks + rack
|
// getCrnInfo(minBayNo);
|
}
|
// 货架描述
|
for (let i = 0;i < rackDescss.length;i++) {
|
rackDesc = "<div class='rackDescs' id='" + rackDescss[i].id +
|
"'style='width:"+ rackDescss[i].width +
|
"px;height: "+ rackDescss[i].height+
|
"px;line-height: "+ rackDescss[i].height+
|
"px;top: "+ rackDescss[i].top +
|
"px;left: "+ rackDescss[i].left +
|
"px'>" + rackDescss[i].text + "</div>"
|
rackDescs = rackDescs + rackDesc
|
}
|
// 堆垛机和地轨
|
for (let i = 0;i < crnss.length;i++) {
|
if (crnss[i].type == "crane") {
|
crn = "<div class='machine' id='" + crnss[i].id +
|
"'style='width:"+ crnss[i].width +
|
"px;height: "+ crnss[i].height+
|
"px;top: "+ crnss[i].top +
|
"px;left: "+ crnss[i].left +
|
"px'></div>"
|
crns = crns + crn
|
} else {
|
track = "<div class='track' id='" + crnss[i].id +
|
"'style='width:"+ crnss[i].width +
|
"px;height: "+ crnss[i].height+
|
"px;top: "+ crnss[i].top +
|
"px;left: "+ crnss[i].left +
|
"px'>" + crnss[i].text + "</div>"
|
tracks = tracks + track
|
}
|
}
|
// 楼层
|
for (let i = 0; i < areas.length;i++) {
|
|
let stnss = areas[i].stns
|
let floor = areas[i].text
|
floorId = areas[i].id
|
var position = (i+1)*100
|
floorBtn =
|
"<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+position+"px;'>" + floor +"</button>"
|
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 = "<div class='site' id='" + stnss[j].id +
|
"'style='width:"+ stnss[j].width +
|
"px;height: "+ stnss[j].height+
|
"px;line-height: "+ stnss[j].height+
|
"px;top: "+ stnss[j].top +
|
"px;left: "+ stnss[j].left +
|
"px'>" + stnss[j].text + "</div>"
|
stnArr[i] = stnArr[i] + stn
|
total[i] = n++
|
} else if(stnss[j].type == "track"){
|
stn = "<div class='track' id='" + stnss[j].id +
|
"'style='width:"+ stnss[j].width +
|
"px;height: "+ stnss[j].height+
|
"px;line-height: "+ stnss[j].height+
|
"px;top: "+ stnss[j].top +
|
"px;left: "+ stnss[j].left +
|
"px'>" + stnss[j].text + "</div>"
|
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();
|
}
|