#
Junjie
2025-11-21 7f9435bb4a074b4964f290c4d6905e0e233a19ec
src/main/webapp/views/watch/console.html
@@ -32,7 +32,14 @@
                  </el-tab-pane>
               </el-tabs>
            </div>
            <div id="mapDataId" style="position: relative;" :style="{zoom: mapSettingParam.zoom / 100}">
            <div style="position: absolute;top: 15px;left: 50%;display: flex;">
               <div v-if="levList.length > 1" v-for="(lev,index) in levList" :key="index" style="margin-right: 10px;">
                  <el-button :type="currentLev == lev ? 'primary' : ''" @click="switchLev(lev)" size="mini">{{ lev }}F</el-button>
               </div>
            </div>
            <div id="mapDataId" style="position: relative;margin-top: 50px;" :style="{zoom: mapSettingParam.zoom / 100}">
               <table class="excel-table">
                  <tr v-for="(row,index) in map" :key="index">
                     <td
@@ -63,10 +70,6 @@
                        </div>
                     </td>
<!--                     <td>-->
<!--                        &lt;!&ndash; 显示行号 &ndash;&gt;-->
<!--                        <div class="item" style="background: none;color: #000;">#{{index+1}}</div>-->
<!--                     </td>-->
                  </tr>
               </table>
            </div>
@@ -83,7 +86,8 @@
            el: '#app',
            data: {
               map: [],//地图数据
               crnList: [], //堆垛机集合
               levList: [],
               currentLev: 1,
               systemStatus: true,//系统运行状态
               consoleInterval: null,//定时器存储变量
               crnInitPosition: [],
@@ -112,6 +116,7 @@
               init() {
                  this.getMap()
                  this.getSystemRunningStatus() //获取系统运行状态
                  this.getLevList() //获取地图层级列表
                  this.consoleInterval = setInterval(() => {
                     this.getCrnInfo() //获取堆垛机数据
@@ -119,13 +124,28 @@
                     this.getRgvInfo() //获取RGV数据
                  }, 1000)
               },
               getLevList() {
                  let that = this;
                  $.ajax({
                     url: baseUrl + "/basMap/getLevList",
                     headers: {
                        'token': localStorage.getItem('token')
                     },
                     method: "get",
                     success: (res) => {
                        let data = res.data;
                        that.levList = data;
                     }
                  })
               },
               //获取地图数据
               getMap() {
                  let that = this
                  let rowPx = 35;
                  let colPx = 35;
                  $.ajax({
                     url: baseUrl + "/basMap/lev/1/auth",
                     url: baseUrl + "/basMap/lev/" + this.currentLev + "/auth",
                     headers: {
                        'token': localStorage.getItem('token')
                     },
@@ -147,9 +167,13 @@
                              col.width = (col.cellWidth / 30) + "px";
                           })
                        })
                        this.map = mapData;
                        that.map = mapData;
                     }
                  })
               },
               switchLev(lev) {
                  this.currentLev = lev;
                  this.getMap()
               },
               openCrn(id) {
                  this.crnParam.crnNo = id;
@@ -204,6 +228,9 @@
                              let position = []
                              for (var i = 0; i < crns.length; i++) {
                                 var crnEl = $("#crn-" + crns[i].crnId);
                                 if(crnEl.offset() == undefined) {
                                    continue;
                                 }
                                 position.push({
                                    id: crns[i].crnId,
                                    left: crnEl.offset().left + crnEl.width()
@@ -241,8 +268,6 @@
                                 crnStatus: crns[i].crnStatus
                              })
                           }
                           that.crnList = crnList;
                        } else if (res.code === 403) {
                           parent.location.href = baseUrl + "/login";
                        } else {
@@ -266,6 +291,9 @@
                              let position = []
                              for (var i = 0; i < rgvs.length; i++) {
                                 var rgvEl = $("#rgv-" + rgvs[i].rgvNo);
                                 if(rgvEl.offset() == undefined) {
                                    continue;
                                 }
                                 position.push({
                                    id: rgvs[i].rgvNo,
                                    trackSiteNo: rgvs[i].trackSiteNo,
@@ -278,15 +306,23 @@
                           for (var i = 0; i < rgvs.length; i++) {
                              var rgvEl = $("#rgv-" + rgvs[i].rgvNo);
                              if (rgvs[i].rgvStatus == 'IDLE') {
                              if (rgvs[i].rgvStatus == 'idle') {
                                 rgvEl.attr("class", "rgv-item");
                              }else if (rgvs[i].rgvStatus == 'WORKING') {
                              }else if (rgvs[i].rgvStatus == 'working') {
                                 rgvEl.attr("class", "rgv-item machine-working");
                              }else if (rgvs[i].rgvStatus == 'waiting') {
                                 rgvEl.attr("class", "rgv-item machine-working");
                              }else {
                                 rgvEl.attr("class", "rgv-item machine-un-auto");
                              }
                              let trackSiteNo = rgvs[i].trackSiteNo;
                              let trackSiteEl = $("#rgvTrackSiteNo-" + trackSiteNo);
                              if(rgvEl.offsetParent().offset() == undefined) {
                                 continue;
                              }
                              let parentLeft = rgvEl.offsetParent().offset().left;
                              let targetPosition = trackSiteEl.parent().parent().offset().left - parentLeft;
                              let rgvPosition = rgvEl.position().left;