|  |  | 
 |  |  |     </style> | 
 |  |  | </head> | 
 |  |  | <body> | 
 |  |  | <div class="button-window"></div> | 
 |  |  | <!-- 日志监控板 --> | 
 |  |  | <div class="log-board"> | 
 |  |  |     <!-- 执行命令 --> | 
 |  |  |  | 
 |  |  |     <!-- 执行命令 --> | 
 |  |  |     <div class="command-log"> | 
 |  |  |         <h3>执行中的命令</h3> | 
 |  |  |         <div class="crn-command-item"> | 
 |  |  |             <label>1#</label> | 
 |  |  |             <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |             <!--            <span> </span>--> | 
 |  |  |             <input id="crn1" disabled="disabled"> | 
 |  |  |         </div> | 
 |  |  |         <div class="crn-command-item"> | 
 |  |  |             <label>2#</label> | 
 |  |  |             <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |             <!--            <span> </span>--> | 
 |  |  |             <input id="crn2" disabled="disabled"> | 
 |  |  |         </div> | 
 |  |  |         <div class="crn-command-item"> | 
 |  |  |             <label>3#</label> | 
 |  |  |             <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |             <!--            <span> </span>--> | 
 |  |  |             <input id="crn3" disabled="disabled"> | 
 |  |  |         </div> | 
 |  |  |         <div class="crn-command-item"> | 
 |  |  |             <label>4#</label> | 
 |  |  |             <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |             <!--            <span> </span>--> | 
 |  |  |             <input id="crn4" disabled="disabled"> | 
 |  |  |         </div> | 
 |  |  |         <div class="crn-command-item"> | 
 |  |  |             <label>5#</label> | 
 |  |  |             <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |             <!--            <span> </span>--> | 
 |  |  |             <input id="crn5" disabled="disabled"> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  |     <!-- 堆垛机状态位信息 --> | 
 |  |  |     <div class="crn-state"> | 
 |  |  |         <table id="crn-state-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> | 
 |  |  |             </tr> | 
 |  |  |             </thead> | 
 |  |  |             <tbody> | 
 |  |  |             </tbody> | 
 |  |  |         </table> | 
 |  |  |     </div> | 
 |  |  | <div style="padding: 10px;height: 100%;float: left;width: 6%"> | 
 |  |  |     <div class="button-window"></div> | 
 |  |  | </div> | 
 |  |  | <!-- 堆垛机状态 --> | 
 |  |  | <div class="crn-msg"> | 
 |  |  |     <table id="crn-msg-table"> | 
 |  |  |         <thead> | 
 |  |  |         <tr> | 
 |  |  |             <th>堆垛机</th> | 
 |  |  |             <th>工作号</th> | 
 |  |  |             <th>状态</th> | 
 |  |  |             <th>源站</th> | 
 |  |  |             <th>目标站</th> | 
 |  |  |             <th>源库位</th> | 
 |  |  |             <th>目标库位</th> | 
 |  |  |             <th>走行速度(m/min)</th> | 
 |  |  |             <th>升降速度(m/min)</th> | 
 |  |  |             <th>叉牙速度(m/min)</th> | 
 |  |  |             <th>走行距离(m)</th> | 
 |  |  |             <th>升降距离(m)</th> | 
 |  |  |             <th>走行时长(s)</th> | 
 |  |  |             <th>升降时长(s)</th> | 
 |  |  |         </tr> | 
 |  |  |         </thead> | 
 |  |  |         <tbody> | 
 |  |  |         </tbody> | 
 |  |  |     </table> | 
 |  |  | </div> | 
 |  |  | <!-- 手动操作 --> | 
 |  |  | <div class="crn-operation"> | 
 |  |  | <div style="height: 100%;padding-left: 6%"> | 
 |  |  |     <div style="padding: 10px;height: 100%"> | 
 |  |  |         <!-- 日志监控板 --> | 
 |  |  |         <div class="log-board"> | 
 |  |  |             <!-- 执行命令 --> | 
 |  |  |  | 
 |  |  |     <!-- 遮罩层 --> | 
 |  |  |     <div class="crn-operation-shade"> | 
 |  |  |             <!-- 执行命令 --> | 
 |  |  |             <div class="command-log"> | 
 |  |  |                 <h3>执行中的命令</h3> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>1#</label> | 
 |  |  |                     <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn1" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>2#</label> | 
 |  |  |                     <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn2" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>3#</label> | 
 |  |  |                     <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn3" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>4#</label> | 
 |  |  |                     <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn4" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>5#</label> | 
 |  |  |                     <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn5" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="crn-command-item"> | 
 |  |  |                     <label>6#</label> | 
 |  |  |                     <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> | 
 |  |  |                     <!--            <span> </span>--> | 
 |  |  |                     <input id="crn6" disabled="disabled"> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |             <!-- 堆垛机状态位信息 --> | 
 |  |  |             <div class="crn-state"> | 
 |  |  |                 <table id="crn-state-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> | 
 |  |  |                     </tr> | 
 |  |  |                     </thead> | 
 |  |  |                     <tbody> | 
 |  |  |                     </tbody> | 
 |  |  |                 </table> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <!-- 堆垛机状态 --> | 
 |  |  |         <div class="crn-msg"> | 
 |  |  |             <table id="crn-msg-table"> | 
 |  |  |                 <thead> | 
 |  |  |                 <tr> | 
 |  |  |                     <th>堆垛机</th> | 
 |  |  |                     <th>工作号</th> | 
 |  |  |                     <th>状态</th> | 
 |  |  |                     <th>源站</th> | 
 |  |  |                     <th>目标站</th> | 
 |  |  |                     <th>源库位</th> | 
 |  |  |                     <th>目标库位</th> | 
 |  |  | <!--                    <th>走行速度(m/min)</th>--> | 
 |  |  | <!--                    <th>升降速度(m/min)</th>--> | 
 |  |  | <!--                    <th>叉牙速度(m/min)</th>--> | 
 |  |  | <!--                    <th>走行距离(Km)</th>--> | 
 |  |  | <!--                    <th>升降距离(Km)</th>--> | 
 |  |  | <!--                    <th>走行时长(H)</th>--> | 
 |  |  | <!--                    <th>升降时长(H)</th>--> | 
 |  |  |                 </tr> | 
 |  |  |                 </thead> | 
 |  |  |                 <tbody> | 
 |  |  |                 </tbody> | 
 |  |  |             </table> | 
 |  |  |         </div> | 
 |  |  |         <!-- 手动操作 --> | 
 |  |  |         <div class="crn-operation"> | 
 |  |  |  | 
 |  |  |             <!-- 遮罩层 --> | 
 |  |  |             <div class="crn-operation-shade"> | 
 |  |  |         <span class="crn-operation-shade-span"> | 
 |  |  |             WCS 系统运行中,请停止后操作 | 
 |  |  |         </span> | 
 |  |  |     </div> | 
 |  |  |             </div> | 
 |  |  |  | 
 |  |  |     <!-- 设备任务选择 --> | 
 |  |  |     <div class="task-select"> | 
 |  |  |         <!-- 堆垛机选择 --> | 
 |  |  |         <div id="crn-select" class="operator-item"> | 
 |  |  |             <span class="select-title">堆垛机号</span> | 
 |  |  |             <div class="select-container"> | 
 |  |  |                 <label><input type="radio" name="crnSelect" value="1" checked> 1号堆垛机</label> | 
 |  |  |                 <label><input type="radio" name="crnSelect" value="2"> 2号堆垛机</label> | 
 |  |  |                 <label><input type="radio" name="crnSelect" value="3"> 3号堆垛机</label> | 
 |  |  |                 <label><input type="radio" name="crnSelect" value="4"> 4号堆垛机</label> | 
 |  |  |                 <label><input type="radio" name="crnSelect" value="5"> 5号堆垛机</label> | 
 |  |  |             <!-- 设备任务选择 --> | 
 |  |  |             <div class="task-select"> | 
 |  |  |                 <!-- 堆垛机选择 --> | 
 |  |  |                 <div id="crn-select" class="operator-item" style="width: 55%"> | 
 |  |  |                     <span class="select-title">堆垛机号</span> | 
 |  |  |                     <div class="select-container" style="padding: 20px 0;"> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="1" checked> 1号堆垛机</label> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="2"> 2号堆垛机</label> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="3"> 3号堆垛机</label> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="4"> 4号堆垛机</label> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="5"> 5号堆垛机</label> | 
 |  |  |                         <label><input type="radio" name="crnSelect" value="6"> 6号堆垛机</label> | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  |                 <!-- 源站/源库位 选择 --> | 
 |  |  |                 <div id="source-select" class="operator-item"> | 
 |  |  |                     <span class="select-title">源站/源库位</span> | 
 |  |  |                     <div class="select-container"> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>站</span> | 
 |  |  |                             <label><input id="sourceStaNo" type="number" name="points" min="0" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>排</span> | 
 |  |  |                             <label><input id="sourceRow" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>列</span> | 
 |  |  |                             <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>层</span> | 
 |  |  |                             <label><input id="sourceLev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  |                 <!-- 目标站/目标库位 选择 --> | 
 |  |  |                 <div id="target-select" class="operator-item"> | 
 |  |  |                     <span class="select-title">目标站/目标库位</span> | 
 |  |  |                     <div class="select-container"> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>站</span> | 
 |  |  |                             <label><input id="staNo" type="number" name="points" min="0" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>排</span> | 
 |  |  |                             <label><input id="row" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>列</span> | 
 |  |  |                             <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="select-container-item"> | 
 |  |  |                             <span>层</span> | 
 |  |  |                             <label><input id="lev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |  | 
 |  |  |             <!-- 设备任务操作 --> | 
 |  |  |             <div class="task-operator"> | 
 |  |  |                 <fieldset> | 
 |  |  |                     <legend>手动操作</legend> | 
 |  |  |                     <div class="button-group"> | 
 |  |  |                         <button class="item" onclick="put()">入库</button> | 
 |  |  |                         <button class="item" onclick="take()">出库</button> | 
 |  |  |                         <button class="item" onclick="stockMove()">库位转移</button> | 
 |  |  |                         <button class="item" onclick="siteMove()">站到站</button> | 
 |  |  |                         <!--                <button class="item" onclick="bacOrigin()">回原点</button>--> | 
 |  |  |                         <!--                <button class="item" onclick="reverseOrigin()">反原点</button>--> | 
 |  |  |                         <!--                <button class="item" onclick="coorMove()">坐标移行</button>--> | 
 |  |  |                         <button class="item" onclick="taskComplete()">任务完成</button> | 
 |  |  |                         <!--                <button class="item" onclick="pause()">暂停</button>--> | 
 |  |  |                         <!--                <button class="item" onclick="boot()">启动</button>--> | 
 |  |  |                         <button class="item" onclick="clearCommand()">清除命令</button> | 
 |  |  |                         <button class="item" onclick="handleReset()">复位</button> | 
 |  |  |                     </div> | 
 |  |  |                 </fieldset> | 
 |  |  |             </div> | 
 |  |  |  | 
 |  |  |         </div> | 
 |  |  |         <!-- 源站/源库位 选择 --> | 
 |  |  |         <div id="source-select" class="operator-item"> | 
 |  |  |             <span class="select-title">源站/源库位</span> | 
 |  |  |             <div class="select-container"> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>站</span> | 
 |  |  |                     <label><input id="sourceStaNo" type="number" name="points" min="0" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>排</span> | 
 |  |  |                     <label><input id="sourceRow" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>列</span> | 
 |  |  |                     <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>层</span> | 
 |  |  |                     <label><input id="sourceLev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <!-- 目标站/目标库位 选择 --> | 
 |  |  |         <div id="target-select" class="operator-item"> | 
 |  |  |             <span class="select-title">目标站/目标库位</span> | 
 |  |  |             <div class="select-container"> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>站</span> | 
 |  |  |                     <label><input id="staNo" type="number" name="points" min="0" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>排</span> | 
 |  |  |                     <label><input id="row" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>列</span> | 
 |  |  |                     <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> | 
 |  |  |                 </div> | 
 |  |  |                 <div class="select-container-item"> | 
 |  |  |                     <span>层</span> | 
 |  |  |                     <label><input id="lev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         <!-- 堆垛机日志输出 --> | 
 |  |  |         <div class="crn-output-board"> | 
 |  |  |             <textarea id="crn-output"></textarea> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  |  | 
 |  |  |     <!-- 设备任务操作 --> | 
 |  |  |     <div class="task-operator"> | 
 |  |  |         <fieldset> | 
 |  |  |             <legend>手动操作</legend> | 
 |  |  |             <div class="button-group"> | 
 |  |  |                 <button class="item" onclick="put()">入库</button> | 
 |  |  |                 <button class="item" onclick="take()">出库</button> | 
 |  |  |                 <button class="item" onclick="stockMove()">库位转移</button> | 
 |  |  |                 <button class="item" onclick="siteMove()">站到站</button> | 
 |  |  |                 <!--                <button class="item" onclick="bacOrigin()">回原点</button>--> | 
 |  |  |                 <!--                <button class="item" onclick="reverseOrigin()">反原点</button>--> | 
 |  |  |                 <!--                <button class="item" onclick="coorMove()">坐标移行</button>--> | 
 |  |  |                 <button class="item" onclick="taskComplete()">任务完成</button> | 
 |  |  |                 <!--                <button class="item" onclick="pause()">暂停</button>--> | 
 |  |  |                 <!--                <button class="item" onclick="boot()">启动</button>--> | 
 |  |  |                 <button class="item" onclick="clearCommand()">清除命令</button> | 
 |  |  |                 <button class="item" onclick="handleReset()">复位</button> | 
 |  |  |             </div> | 
 |  |  |         </fieldset> | 
 |  |  |     </div> | 
 |  |  |  | 
 |  |  | </div> | 
 |  |  | <!-- 堆垛机日志输出 --> | 
 |  |  | <div class="crn-output-board"> | 
 |  |  |     <textarea id="crn-output"></textarea> | 
 |  |  | </div> | 
 |  |  | </body> | 
 |  |  | <script> | 
 |  |  | 
 |  |  |                         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].xspeed); | 
 |  |  |                         setVal(tr.children("td").eq(8), table[i-1].yspeed); | 
 |  |  |                         setVal(tr.children("td").eq(9), table[i-1].zspeed); | 
 |  |  |                         setVal(tr.children("td").eq(10), table[i-1].xdistance); | 
 |  |  |                         setVal(tr.children("td").eq(11), table[i-1].ydistance); | 
 |  |  |                         setVal(tr.children("td").eq(12), table[i-1].xduration); | 
 |  |  |                         setVal(tr.children("td").eq(13), table[i-1].yduration); | 
 |  |  |                         // setVal(tr.children("td").eq(7), table[i-1].xspeed); | 
 |  |  |                         // setVal(tr.children("td").eq(8), table[i-1].yspeed); | 
 |  |  |                         // setVal(tr.children("td").eq(9), table[i-1].zspeed); | 
 |  |  |                         // setVal(tr.children("td").eq(10), table[i-1].xdistance); | 
 |  |  |                         // setVal(tr.children("td").eq(11), table[i-1].ydistance); | 
 |  |  |                         // setVal(tr.children("td").eq(12), table[i-1].xduration); | 
 |  |  |                         // setVal(tr.children("td").eq(13), table[i-1].yduration); | 
 |  |  |                     } | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  |                     window.location.href = baseUrl+"/login"; | 
 |  |  | 
 |  |  |             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |             method: 'POST', | 
 |  |  |             success: function (res) { | 
 |  |  |                 console.log(res) | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                     crnOutput(res.data); | 
 |  |  |                 } else if (res.code === 403) { |