| | |
| | | // 库位图 |
| | | 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(); |
| | | // 库位图
|
| | | 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();
|
| | | } |