| | |
| | | <div class="item" style="visibility: hidden">{{idx}}</div> |
| | | </div> |
| | | <div v-else-if="col.type == 'shelf'"> |
| | | <div class="shelf">{{col.shelfIdx}}</div> |
| | | <div class="shelf"> |
| | | <div class="shelf-loc-info" v-if="getShelfLocInfo(index, idx)">{{getShelfLocInfo(index, idx)}}</div> |
| | | </div> |
| | | </div> |
| | | <div v-else-if="col.type == 'devp'"> |
| | | <div class="site" :style="{height: col.rowPx}" :id="'site-' + getStationId(col.value)" @click="openSite(getStationId(col.value))">{{getStationId(col.value)}}</div> |
| | |
| | | }, |
| | | rgvParam: { |
| | | rgvNo: 0 |
| | | } |
| | | }, |
| | | locMastData: []//库位数据 |
| | | }, |
| | | created() { |
| | | this.init() |
| | |
| | | this.getMap() |
| | | this.getSystemRunningStatus() //获取系统运行状态 |
| | | this.getLevList() //获取地图层级列表 |
| | | this.getLocMastData() //获取库位数据 |
| | | |
| | | this.consoleInterval = setInterval(() => { |
| | | this.getCrnInfo() //获取堆垛机数据 |
| | |
| | | switchLev(lev) { |
| | | this.currentLev = lev; |
| | | this.getMap() |
| | | this.getLocMastData() //切换层级时重新获取库位数据 |
| | | }, |
| | | openCrn(id) { |
| | | this.crnParam.crnNo = id; |
| | |
| | | var crnEl = $("#crn-" + crns[i].crnId); |
| | | crnEl.attr("class", "crn-item " + crns[i].crnStatus); |
| | | |
| | | if (crns[i].taskNo != null && crns[i].taskNo > 0) { |
| | | crnEl.html(crns[i].crnId + "[" + crns[i].taskNo + "]"); |
| | | } else { |
| | | crnEl.html(crns[i].crnId); |
| | | } |
| | | |
| | | let bay = parseInt(crns[i].bay, 10); |
| | | if (isNaN(bay) || bay < 1 || bay === -2) { |
| | | bay = 1; |
| | |
| | | finalOffset = 0; |
| | | } |
| | | |
| | | crnEl.animate({left: finalOffset + 'px'}, 1000); |
| | | crnEl.animate({left: finalOffset + 'px'}, 500); |
| | | |
| | | crnList.push({ |
| | | crnNo: crns[i].crnId, |
| | |
| | | }, |
| | | handleCardClick(tab, event) { |
| | | |
| | | }, |
| | | //获取库位数据 |
| | | getLocMastData() { |
| | | let that = this; |
| | | $.ajax({ |
| | | url: baseUrl + "/console/map/locList", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | method: "get", |
| | | data: {}, |
| | | success: (res) => { |
| | | if (res.code === 200) { |
| | | that.locMastData = res.data; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | //根据地图坐标获取库位的排列信息 |
| | | getShelfLocInfo(rowIdx, colIdx) { |
| | | if (!this.locMastData || this.locMastData.length === 0) { |
| | | return ''; |
| | | } |
| | | // 在locMastData中查找匹配的库位 |
| | | // locType字段存储的是地图坐标信息 |
| | | let locInfo = this.locMastData.find(loc => { |
| | | if (!loc.locType) return false; |
| | | // locType格式类似 "0-1-1" (mapX-mapY-lev) |
| | | let parts = loc.locType.split('-'); |
| | | if (parts.length >= 2) { |
| | | return parseInt(parts[0]) === rowIdx && parseInt(parts[1]) === colIdx; |
| | | } |
| | | return false; |
| | | }); |
| | | |
| | | if (locInfo && locInfo.row1 && locInfo.bay1) { |
| | | return locInfo.row1 + '-' + locInfo.bay1; |
| | | } |
| | | return ''; |
| | | } |
| | | } |
| | | }) |