| | |
| | | <!-- 日志监控板 --> |
| | | <div class="log-board"> |
| | | <div class="command-log"> |
| | | <h3>穿梭车位置</h3> |
| | | <div class="ste-command-item"> |
| | | <div class="ste-command-item" style="margin-top: 30px"> |
| | | <label>1#</label> |
| | | <div class="dropdown-menu"> |
| | | <button id="steBtn-1" class="demoBtn" onclick="changePosition(this.id)">修改位置</button> |
| | |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <div class="ste-command-item" style="margin-top: 25px"> |
| | | <div class="ste-command-item" style="margin-top: 30px"> |
| | | <label>2#</label> |
| | | <div class="dropdown-menu"> |
| | | <button id="steBtn-2" class="demoBtn" onclick="changePosition(this.id)">修改位置</button> |
| | |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <div class="ste-command-item" style="margin-top: 25px"> |
| | | <div class="ste-command-item" style="margin-top: 30px"> |
| | | <label>3#</label> |
| | | <div class="dropdown-menu"> |
| | | <button id="steBtn-3" class="demoBtn" onclick="changePosition(this.id)">修改位置</button> |
| | |
| | | <th>排</th> |
| | | <th>列</th> |
| | | <th>层</th> |
| | | <th>货叉定位</th> |
| | | <th>载货台定位</th> |
| | | <th>走行在定位</th> |
| | | <th>等待WCS确认</th> |
| | | <th>定位</th> |
| | | <th>报警信息1</th> |
| | | <th>报警信息2</th> |
| | | </tr> |
| | |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <!-- 穿梭车状态 --> |
| | | <div class="ste-msg"> |
| | | <table id="ste-msg-table"> |
| | | <thead> |
| | | <tr> |
| | | <th>穿梭车</th> |
| | | <th>任务号</th> |
| | | <th>任务类型</th> |
| | | <th>当前位置</th> |
| | | <th>工作号</th> |
| | | <th>状态</th> |
| | | <th>源站</th> |
| | | <th>目标站</th> |
| | | <th>源库位</th> |
| | | <th>目标库位</th> |
| | | <th>速度</th> |
| | | <th>近点距离</th> |
| | | <th>当前速度</th> |
| | | <th>高低位</th> |
| | | <th>过账指令任务号</th> |
| | | <th>过账指令状态</th> |
| | | <th>盘点数量</th> |
| | | <th>穿梭板就绪</th> |
| | | <th>充电桩号</th> |
| | | <th>堆垛机运行</th> |
| | | <th>堆垛机伸叉</th> |
| | | <th>堆垛机搬移</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | |
| | | <!-- 手动操作 --> |
| | | <div class="ste-operation"> |
| | | <!-- 遮罩层 --> |
| | | <!-- <div class="ste-operation-shade">--> |
| | | <!-- <span class="ste-operation-shade-span">--> |
| | | <!-- WCS 系统运行中,请停止后操作--> |
| | | <!-- </span>--> |
| | | <!-- </div>--> |
| | | <div class="ste-operation-shade"> |
| | | <span class="ste-operation-shade-span"> |
| | | WCS 系统运行中,请停止后操作 |
| | | </span> |
| | | </div> |
| | | <!-- 设备任务选择 --> |
| | | <div class="task-select"> |
| | | <!-- 选择 --> |
| | |
| | | <fieldset> |
| | | <legend>手动操作</legend> |
| | | <div class="button-group"> |
| | | <button class="item" onclick="leftTake()">左出库</button> |
| | | <button class="item" onclick="rightTake()">右出库</button> |
| | | <button class="item" onclick="leftPut()">左入库</button> |
| | | <button class="item" onclick="rightPut()">右入库</button> |
| | | <button class="item" onclick="leftStockMove()">左移库</button> |
| | | <button class="item" onclick="rightStockMove()">右移库</button> |
| | | <button class="item" onclick="oOrigin()">原点</button> |
| | | <button class="item" onclick="farPoint()">远点</button> |
| | | <button class="item" onclick="aPoint()">A 点</button> |
| | | <button class="item" onclick="bPoint()">B 点</button> |
| | | <button class="item" onclick="moveLift()">左搬移</button> |
| | | <button class="item" onclick="moveRight()">右搬移</button> |
| | | <button class="item" onclick="charging()">充电</button> |
| | | <button class="item" onclick="pause()">左盘点</button> |
| | | <button class="item" onclick="boot()">右盘点</button> |
| | | <button class="item" onclick="boot()">任务完成</button> |
| | | <button class="item" onclick="clearCommand()">清除命令</button> |
| | | <button class="item" onclick="handleReset()">复位</button> |
| | | <button class="item" onclick="steOperator(1)">左出库</button> |
| | | <button class="item" onclick="steOperator(2)">右出库</button> |
| | | <button class="item" onclick="steOperator(3)">左入库</button> |
| | | <button class="item" onclick="steOperator(4)">右入库</button> |
| | | <button class="item" onclick="steOperator(5)">左移库</button> |
| | | <button class="item" onclick="steOperator(6)">右移库</button> |
| | | <button class="item" onclick="steOperator(7)">原点</button> |
| | | <button class="item" onclick="steOperator(8)">远点</button> |
| | | <button class="item" onclick="steOperator(9)">A 点</button> |
| | | <button class="item" onclick="steOperator(10)">B 点</button> |
| | | <button class="item" onclick="steOperator(11)">左搬移</button> |
| | | <button class="item" onclick="steOperator(12)">右搬移</button> |
| | | <button class="item" onclick="steOperator(13)">充电</button> |
| | | <button class="item" onclick="steOperator(14)">左盘点</button> |
| | | <button class="item" onclick="steOperator(15)">右盘点</button> |
| | | <button class="item" onclick="steOperator(16)">任务完成</button> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | |
| | | </div> |
| | | <!-- 堆垛机日志输出 --> |
| | | <!-- 穿梭车日志输出 --> |
| | | <div class="ste-output-board"> |
| | | <textarea id="ste-output"></textarea> |
| | | </div> |
| | |
| | | }) |
| | | </script> |
| | | <script> |
| | | // 空白行数 |
| | | var steStateTableBlankRows = 0; |
| | | var steMsgTableBlankRows = 0; |
| | | // 实际行数 |
| | | var steStateTableFullRows = 0; |
| | | var steMsgTableFullRows = 0; |
| | | // 初始化 |
| | | var steOutputDom = document.getElementById("ste-output"); |
| | | $(document).ready(function() { |
| | | initSteStateTable(); |
| | | getSteStateInfo(); |
| | | initSteMsgTable(); |
| | | getSteMsgInfo(); |
| | | operatorBlockShow(); |
| | | }); |
| | | |
| | | setInterval(function () { |
| | | getSteStateInfo() |
| | | getSteMsgInfo(); |
| | | },1000) |
| | | setInterval(function () { |
| | | getSteOutput(); |
| | | operatorBlockShow(); |
| | | },500); |
| | | |
| | | // 判断手动操作模块是否可用 |
| | | function operatorBlockShow() { |
| | | if (parent.systemRunning) { |
| | | $('.ste-operation').css("opacity", "0.5"); |
| | | $('.ste-operation-shade').show(); |
| | | $('.ste-operation-shade-span').show(); |
| | | } else { |
| | | $('.ste-operation').css("opacity", "1"); |
| | | $('.ste-operation-shade').hide(); |
| | | $('.ste-operation-shade-span').hide(); |
| | | } |
| | | } |
| | | |
| | | // 修改穿梭车位置 |
| | | function changePosition(id) { |
| | | console.log(id) |
| | | // $.ajax({ |
| | | // url: baseUrl + |
| | | // }) |
| | | |
| | | } |
| | | |
| | | // 穿梭车信息表获取 ---- 表一 |
| | | |
| | | function getSteStateInfo() { |
| | | var tableEl = $('ste-state-table'); |
| | | let tableEl = $('#ste-state-table'); |
| | | $.ajax({ |
| | | url: baseUrl + "/crn/table/crn/state", |
| | | url: baseUrl+ "/ste/table/ste/state", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'GET', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | console.log(res) |
| | | if (res.code === 200){ |
| | | let table = res.data; |
| | | if (table.length > steStateTableBlankRows && table.length !== steStateTableFullRows) { |
| | | initSteStateTable(table.length-steStateTableBlankRows); |
| | | steStateTableFullRows = table.length; |
| | | } |
| | | for (let i=1;i<=table.length;i++){ |
| | | let tr = tableEl.find("tr").eq(i); |
| | | setVal(tr.children("td").eq(0), table[i-1].steNo); |
| | | setVal(tr.children("td").eq(1), table[i-1].statusType); |
| | | setVal(tr.children("td").eq(2), table[i-1].status); |
| | | setVal(tr.children("td").eq(3), table[i-1].loading); |
| | | setVal(tr.children("td").eq(4), table[i-1].track); |
| | | setVal(tr.children("td").eq(5), table[i-1].charge); |
| | | setVal(tr.children("td").eq(6), table[i-1].row); |
| | | setVal(tr.children("td").eq(7), table[i-1].bay); |
| | | setVal(tr.children("td").eq(8), table[i-1].lev); |
| | | setVal(tr.children("td").eq(9), table[i-1].waiting); |
| | | setVal(tr.children("td").eq(10), table[i-1].loca); |
| | | setVal(tr.children("td").eq(11), table[i-1].alarm1); |
| | | setVal(tr.children("td").eq(12), table[i-1].alarm2); |
| | | } |
| | | } else if (res.code === 403){ |
| | | window.location.href = baseUrl+"/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 穿梭车数据表获取 ---- 表二 |
| | | function getSteMsgInfo() { |
| | | let tableEl = $('#ste-msg-table'); |
| | | $.ajax({ |
| | | url: baseUrl+ "/ste/table/ste/msg", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | var table = res.data; |
| | | if (table.length > steMsgTableBlankRows && table.length !== steMsgTableFullRows) { |
| | | initSteMsgTable(table.length-steMsgTableBlankRows); |
| | | steMsgTableFullRows = table.length; |
| | | } |
| | | for (var i=1;i<=table.length;i++){ |
| | | var tr = tableEl.find("tr").eq(i); |
| | | setVal(tr.children("td").eq(0), table[i-1].steNo); |
| | | setVal(tr.children("td").eq(1), table[i-1].workNo); |
| | | setVal(tr.children("td").eq(2), table[i-1].status); |
| | | setVal(tr.children("td").eq(3), table[i-1].sourceStaNo); |
| | | setVal(tr.children("td").eq(4), table[i-1].staNo); |
| | | setVal(tr.children("td").eq(5), table[i-1].sourceLocNo); |
| | | setVal(tr.children("td").eq(6), table[i-1].locNo); |
| | | setVal(tr.children("td").eq(7), table[i-1].speed); |
| | | setVal(tr.children("td").eq(8), table[i-1].closer); |
| | | } |
| | | } else if (res.code === 403){ |
| | | window.location.href = baseUrl+"/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 穿梭车日志输出 ----------------------------------------------------------------------- |
| | | function getSteOutput() { |
| | | $.ajax({ |
| | | url: baseUrl + "/ste/output/ste", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | steOutput(res.data); |
| | | } else if (res.code === 403) { |
| | | window.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | setInterval(function () { |
| | | getSteStateInfo() |
| | | },1000) |
| | | </script> |
| | | |
| | | // 任务指令下发 |
| | | function steOperator(steTaskMode) { |
| | | http.post(baseUrl+"/ste/operator/ste", { |
| | | steNo: $('input[name="steSelect"]:checked').val(), |
| | | steTaskMode: steTaskMode |
| | | }, function (res) { |
| | | layer.msg(res.msg, {icon: 1}); |
| | | }); |
| | | } |
| | | |
| | | |
| | | // ------------------------------------------------------------------------------------------------ |
| | | |
| | | // 穿梭车信息表获取 ----- 表一 |
| | | function initSteStateTable(row) { |
| | | let line; |
| | | if (row === undefined){ |
| | | let one = $('#ste-state-table thead').height(); |
| | | let total = $('.ste-state').height(); |
| | | let count = total / one; |
| | | count = parseInt(count) - 1; |
| | | steStateTableBlankRows = count; |
| | | line = count; |
| | | } else { |
| | | line = row; |
| | | } |
| | | let html = ""; |
| | | for (let i = 0; i < line; i ++){ |
| | | html += " <tr>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " </tr>\n"; |
| | | } |
| | | $('#ste-state-table tbody').after(html); |
| | | } |
| | | |
| | | // 穿梭车数据表获取 ----- 表二 |
| | | function initSteMsgTable(row) { |
| | | let line; |
| | | if (row === undefined){ |
| | | let one = $('#ste-msg-table thead').height(); |
| | | let total = $('.ste-msg').height(); |
| | | let count = total / one; |
| | | count = parseInt(count) - 1; |
| | | steMsgTableBlankRows = count; |
| | | line = count; |
| | | } else { |
| | | line = row; |
| | | } |
| | | let html = ""; |
| | | for (let i = 0; i < line; i ++){ |
| | | html += " <tr>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " <td></td>\n" + |
| | | " </tr>\n"; |
| | | } |
| | | $('#ste-msg-table tbody').after(html); |
| | | } |
| | | |
| | | // 日志输出框 |
| | | function steOutput(content){ |
| | | steOutputDom.value += content; |
| | | steOutputDom.scrollTop = steOutputDom.scrollHeight; |
| | | } |
| | | |
| | | |
| | | |
| | | </script> |