|  |  | 
 |  |  |                             <th>升降伺服负载</th> | 
 |  |  |                             <th>行走伺服负载</th> | 
 |  |  |                             <th>作业标记</th> | 
 |  |  |                             <th>库位号</th> | 
 |  |  |                             <th>当前楼层</th> | 
 |  |  |                         </tr> | 
 |  |  |                     </thead> | 
 |  |  |                     <tbody> | 
 |  |  | 
 |  |  |  | 
 |  |  |                 <!-- 设备任务操作 --> | 
 |  |  |                 <div class="task-operator"> | 
 |  |  |                     <div style="display: flex;"> | 
 |  |  |                         <div class="task-operator" style="height: auto;width: 100%;"> | 
 |  |  |                             <div class="operator-item" style="height: auto"> | 
 |  |  |                                 <span class="select-title">源库位/目标库位</span> | 
 |  |  |                                 <div class="select-container" style="height: auto"> | 
 |  |  |                                     <div class="select-container-item"> | 
 |  |  |                                         <span>源库位</span> | 
 |  |  |                                         <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label> | 
 |  |  |                                     </div> | 
 |  |  |                                     <div class="select-container-item"> | 
 |  |  |                                         <span>目标库位</span> | 
 |  |  |                                         <label><input id="distLocNo" type="text" name="distLocNo" /></label> | 
 |  |  |                     <fieldset style="height: auto;padding-bottom: 20px;"> | 
 |  |  |                         <legend>手动操作</legend> | 
 |  |  |                         <div style="display: flex;"> | 
 |  |  |                             <div style="width: 30%;"> | 
 |  |  |                                 <div class="operator-item" style="height: auto;width: 100%;"> | 
 |  |  |                                     <span class="select-title">源库位/目标库位</span> | 
 |  |  |                                     <div class="select-container" style="height: auto;padding: 30px 10px 20px 10px;"> | 
 |  |  |                                         <div class="select-container-item"> | 
 |  |  |                                             <span>源库位</span> | 
 |  |  |                                             <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label> | 
 |  |  |                                         </div> | 
 |  |  |                                         <div class="select-container-item"> | 
 |  |  |                                             <span>目标库位</span> | 
 |  |  |                                             <label><input id="distLocNo" type="text" name="distLocNo" /></label> | 
 |  |  |                                         </div> | 
 |  |  |  | 
 |  |  |                                         <div style="margin-top: 10px;"> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(1)">入库</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(2)">出库</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(14)">移动到目标库位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(16)">移动到提升机</button> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </div> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |  | 
 |  |  |                     <fieldset style="height: auto;padding-bottom: 20px;"> | 
 |  |  |                         <legend>手动操作</legend> | 
 |  |  |                         <div class="button-group"> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(1)">入库</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(2)">出库</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(3)">托盘顶升</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(4)">托盘下降</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(5)">左移</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(6)">右移</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(7)">后移</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(8)">前移</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(9)">复位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(10)">正方向(左)寻库位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(11)">负方向(右)寻库位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(12)">正方向(前)寻库位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(13)">负方向(后)寻库位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(14)">移动到目标库位</button> | 
 |  |  |                             <button class="item" onclick="shuttleOperator(15)">充电开关</button> | 
 |  |  |                             <div style="width: 40%;"> | 
 |  |  |                                 <div class="operator-item" style="height: auto;width: 100%;"> | 
 |  |  |                                     <span class="select-title">相关指令</span> | 
 |  |  |                                     <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;"> | 
 |  |  |                                         <div class="button-group"> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(3)">托盘顶升</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(4)">托盘下降</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(5)">左移</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(6)">右移</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(7)">后移</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(8)">前移</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(9)">复位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(10)">正方向(右)寻库位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(11)">负方向(左)寻库位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(12)">正方向(前)寻库位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(13)">负方向(后)寻库位</button> | 
 |  |  |                                             <button class="item" onclick="shuttleOperator(15)">充电开关</button> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </div> | 
 |  |  |  | 
 |  |  |                             <div style="width: 20%;"> | 
 |  |  |                                 <div class="operator-item" style="height: auto;width: 100%;"> | 
 |  |  |                                     <span class="select-title">设置配置参数</span> | 
 |  |  |                                     <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;"> | 
 |  |  |                                         <div class="select-container-item"> | 
 |  |  |                                             <span>运行速度</span> | 
 |  |  |                                             <label><input id="runSpeed" type="text" name="runSpeed" /></label> | 
 |  |  |                                         </div> | 
 |  |  |                                         <div class="select-container-item"> | 
 |  |  |                                             <span>充电阈值</span> | 
 |  |  |                                             <label><input id="chargeLine" type="text" name="runSpeed" /></label> | 
 |  |  |                                         </div> | 
 |  |  |  | 
 |  |  |                                         <div> | 
 |  |  |                                             <button class="item" onclick="shuttleParamSave()">保存</button> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </div> | 
 |  |  |  | 
 |  |  |                             <div style="width: 15%;"> | 
 |  |  |                                 <div class="operator-item" style="height: auto;width: 100%;"> | 
 |  |  |                                     <span class="select-title">配置参数</span> | 
 |  |  |                                     <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;"> | 
 |  |  |                                         <div>运行速度:<span id="runSpeedText"></span></div> | 
 |  |  |                                         <div>充电阈值:<span id="chargeLineText"></span></div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </div> | 
 |  |  |                         </div> | 
 |  |  |                     </fieldset> | 
 |  |  |                 </div> | 
 |  |  | 
 |  |  |                 console.log(shuttleNo) | 
 |  |  |                 http.get(baseUrl+ "/shuttle/sensor/detl/"+shuttleNo, null, function (res) { | 
 |  |  |                     $('#shuttleNo1').val(res.data.shuttleNo); | 
 |  |  |                     // getColor(res.data.liftErr,'#liftErr'); | 
 |  |  |                     // getColor(res.data.inFetchErr,'#inFetchErr'); | 
 |  |  |                     // getColor(res.data.outFetchErr,'#outFetchErr'); | 
 |  |  |                     // getColor(res.data.antiErr,'#antiErr'); | 
 |  |  |                     // getColor(res.data.liftSwitchErr,'#liftSwitchErr'); | 
 |  |  |                     // getColor(res.data.trackErr,'#trackErr'); | 
 |  |  |                     // getColor(res.data.timeoutErr,'#timeoutErr'); | 
 |  |  |                     // getColor(res.data.connectErr,'#connectErr'); | 
 |  |  |                     // getColor(res.data.emergencyErr,'#emergencyErr'); | 
 |  |  |                     // getColor(res.data.taskTypeErr,'#taskTypeErr'); | 
 |  |  |                     // getColor(res.data.taskNoErr,'#taskNoErr'); | 
 |  |  |                     // getColor(res.data.newTaskErr,'#newTaskErr'); | 
 |  |  |                     // getColor(res.data.errTaskErr,'#errTaskErr'); | 
 |  |  |                     // getColor(res.data.stopErr,'#stopErr'); | 
 |  |  |                     // getColor(res.data.offlineTaskErr,'#offlineTaskErr'); | 
 |  |  |                     // getColor(res.data.startTaskErr,'#startTaskErr'); | 
 |  |  |                     // getColor(res.data.voltageTaskErr,'#voltageTaskErr'); | 
 |  |  |                     // getColor(res.data.devpErr,'#devpErr'); | 
 |  |  |                     // getColor(res.data.online,'#online'); | 
 |  |  |                     // getColor(res.data.notOnTrack,'#notOnTrack'); | 
 |  |  |                     // getColor(res.data.lowVoltage,'#lowVoltage'); | 
 |  |  |                     // getColor(res.data.electricityLoss,'#electricityLoss'); | 
 |  |  |                     // getColor(res.data.forcedTravel,'#forcedTravel'); | 
 |  |  |                     // getColor(res.data.demoMode,'#demoMode'); | 
 |  |  |                     // getColor(res.data.brushConnect,'#brushConnect'); | 
 |  |  |                     // getColor(res.data.taskManualForbid,'#taskManualForbid'); | 
 |  |  |                     // getColor(res.data.onlineManualForbid,'#onlineManualForbid'); | 
 |  |  |                     // getColor(res.data.devpEmergency,'#devpEmergency'); | 
 |  |  |                     // getColor(res.data.taskInterrupt,'#taskInterrupt'); | 
 |  |  |                     // getColor(res.data.taskClear,'#taskClear'); | 
 |  |  |                     // getColor(res.data.taskConfirmTimeout,'#taskConfirmTimeout'); | 
 |  |  |                     // getColor(res.data.taskWithCharge,'#taskWithCharge'); | 
 |  |  |                     getColor(res.data.pakInTask,'#pakInTask'); | 
 |  |  |                     getColor(res.data.pakOutTask,'#pakOutTask'); | 
 |  |  |                     getColor(res.data.pakMoveTask,'#pakMoveTask'); | 
 |  |  | 
 |  |  |                     getColor(res.data.goOHpAvoidFinish,'#goOHpAvoidFinish'); | 
 |  |  |                     getColor(res.data.goHpAvoidErr,'#goHpAvoidErr'); | 
 |  |  |                     getColor(res.data.goOHpAvoidErr,'#goOHpAvoidErr'); | 
 |  |  |                     // getColor(res.data.autoMode,'#autoMode'); | 
 |  |  |                     // getColor(res.data.voltageLow,'#voltageLow'); | 
 |  |  |                 }) | 
 |  |  |             }, | 
 |  |  |             end: function () { | 
 |  |  | 
 |  |  |             $(e).attr("style", "color: #00FF00;"); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // $(document).on('click ','.mode-btn', function () { | 
 |  |  |     //     let shuttleNo = Number($(this).parent().attr("data-shuttleNo")); | 
 |  |  |     //     layer.confirm("改变" + shuttleNo + ' 号穿梭车在线状态吗?', function(){ | 
 |  |  |     //         var index = layer.load(1, { | 
 |  |  |     //             shade: [0.1,'#fff'] | 
 |  |  |     //         }); | 
 |  |  |     //         $.ajax({ | 
 |  |  |     //             url: baseUrl+ "/shuttle/mode/switch", | 
 |  |  |     //             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |     //             data: { | 
 |  |  |     //                 shuttleNo: Number(shuttleNo), | 
 |  |  |     //                 password: 'root' | 
 |  |  |     //             }, | 
 |  |  |     //             method: 'POST', | 
 |  |  |     //             success: function (res) { | 
 |  |  |     //                 layer.close(index); | 
 |  |  |     //                 if (res.code === 200){ | 
 |  |  |     //                     layer.msg(res.msg, {icon: 1}); | 
 |  |  |     //                 } else if (res.code === 403){ | 
 |  |  |     //                     window.location.href = baseUrl+"/login"; | 
 |  |  |     //                 }  else { | 
 |  |  |     //                     layer.msg(res.msg, {icon: 2}); | 
 |  |  |     //                 } | 
 |  |  |     //             } | 
 |  |  |     //         }); | 
 |  |  |     //     }); | 
 |  |  |     // }) | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     $(document).on('click ','#save', function () { | 
 |  |  |         http.post(baseUrl+ "/shuttle/detl/update", { | 
 |  |  | 
 |  |  |                         // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'联机':'脱机'); | 
 |  |  |                         let tr = tableEl.find("tr").eq(i); | 
 |  |  |                         setVal(tr.children("td").eq(0), table[i-1].shuttleNo); | 
 |  |  |                         setVal(tr.children("td").eq(1), table[i-1].status); | 
 |  |  |                         setVal(tr.children("td").eq(1), table[i-1].status$); | 
 |  |  |                         setVal(tr.children("td").eq(2), table[i-1].busyStatus); | 
 |  |  |                         setVal(tr.children("td").eq(3), table[i-1].currentCode); | 
 |  |  |                         setVal(tr.children("td").eq(4), table[i-1].batteryPower); | 
 |  |  | 
 |  |  |                         setVal(tr.children("td").eq(13), table[i-1].currentOrBeforeCode); | 
 |  |  |                         setVal(tr.children("td").eq(14), table[i-1].codeOffsetX); | 
 |  |  |                         setVal(tr.children("td").eq(15), table[i-1].codeOffsetY); | 
 |  |  |                         setVal(tr.children("td").eq(16), table[i-1].currentVoltage ? table[i-1].currentVoltage + "V" : ""); | 
 |  |  |                         setVal(tr.children("td").eq(16), table[i-1].currentVoltage$); | 
 |  |  |                         setVal(tr.children("td").eq(17), table[i-1].currentAnalogValue); | 
 |  |  |                     } | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  | 
 |  |  |                         setVal(tr.children("td").eq(7), table[i-1].currentLiftServoLoad); | 
 |  |  |                         setVal(tr.children("td").eq(8), table[i-1].currentMoveServoLoad); | 
 |  |  |                         setVal(tr.children("td").eq(9), table[i-1].pakMk); | 
 |  |  |                         setVal(tr.children("td").eq(10), table[i-1].locNo); | 
 |  |  |                         setVal(tr.children("td").eq(11), table[i-1].lev); | 
 |  |  |  | 
 |  |  |                         if (table[i-1].shuttleNo == parseInt($('input[name="shuttleSelect"]:checked').val())) { | 
 |  |  |                             $("#runSpeedText").text(table[i-1].runSpeed) | 
 |  |  |                             $("#chargeLineText").text(table[i-1].chargeLine + "%") | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  |                     window.location.href = baseUrl+"/login"; | 
 |  |  | 
 |  |  |         shuttleOutputDom.scrollTop = shuttleOutputDom.scrollHeight; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //四向穿梭车配置参数保存 | 
 |  |  |     function shuttleParamSave() { | 
 |  |  |         $.ajax({ | 
 |  |  |             url: baseUrl+ "/shuttle/runSpeed/" + $('input[name="shuttleSelect"]:checked').val(), | 
 |  |  |             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |             method: 'POST', | 
 |  |  |             data: { | 
 |  |  |                 runSpeed: $("#runSpeed").val(), | 
 |  |  |                 chargeLine: $("#chargeLine").val(), | 
 |  |  |             }, | 
 |  |  |             success: function (res) { | 
 |  |  |                 if (res.code === 200){ | 
 |  |  |                     layer.msg("配置已保存", {icon: 1,}); | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  |                     window.location.href = baseUrl+"/login"; | 
 |  |  |                 }  else { | 
 |  |  |                     console.log(res.msg); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | </script> |