| <!DOCTYPE html> | 
| <html lang="en"> | 
| <!--5层 28列 1120库位--> | 
| <head> | 
|     <meta charset="UTF-8"> | 
|     <title>WCS控制中心</title> | 
|     <meta name="renderer" content="webkit"> | 
|     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 
|     <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> | 
|     <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> | 
|     <link rel="stylesheet" type="text/css" href="../static/css/common.css"> | 
|     <link rel="stylesheet" type="text/css" href="../static/css/console.css"> | 
|     <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> | 
|     <script type="text/javascript" src="../static/js/layer/layer.js"></script> | 
|     <script type="text/javascript" src="../static/js/common.js"></script> | 
|     <style> | 
|         /* layer 深蓝色按钮修改 */ | 
|         /*.layui-layer-lan .layui-layer-btn {*/ | 
|         /*border-top: none;*/ | 
|         /*}*/ | 
|         .layui-layer-lan .layui-layer-btn a { | 
|             background: #4476A7; | 
|             border-color: #4476A7; | 
|             color: #fff; | 
|         } | 
|         .layui-layer-lan .layui-layer-btn .layui-layer-btn1 { | 
|             background: #fff; | 
|             color: #333; | 
|             border-color: #E9E7E7; | 
|         } | 
|         .layui-layer-lan .layui-layer-btn .layui-layer-btn1:hover { | 
|             background-color: #f7f7f7; | 
|         } | 
|     </style> | 
| </head> | 
| <body> | 
| <header> | 
|     <!-- 系统运行状态 --> | 
|     <div class="system-state"> | 
|         <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div> | 
|         <span id="system-run-desc">系统运行中...</span> | 
|     </div> | 
|   | 
|     <!-- 信息展示 --> | 
|     <div class="data-window"> | 
|         <!-- 标题 --> | 
|         <h1>自动仓库 WCS 监控图</h1> | 
|   | 
|         <!-- 颜色提示 --> | 
|         <div class="tips"> | 
|             <div class="tips-item"> | 
|                 <label>堆垛机状态颜色: </label> | 
|                 <div class="item-group"> | 
|                     <span class="machine-put-flag">入库</span> | 
|                     <span class="machine-take-flag">出库</span> | 
|                     <span class="machine-stock-move-flag">库到库</span> | 
|                     <span class="machine-site-move-flag">站到站</span> | 
|                     <span class="machine-p-move-flag">PToP</span> | 
|                     <span class="machine-error-flag">异常</span> | 
|                     <span class="machine-auto-flag">自动</span> | 
|                     <span class="machine-unauto-flag">非自动/手动</span> | 
|                 </div> | 
|             </div> | 
|             <div class="tips-item"> | 
|                 <label>输送设备状态颜色: </label> | 
|                 <div class="item-group"> | 
|                     <span class="site-auto-run-id">自动+有物+ID</span> | 
|                     <span class="site-auto-run">自动+有物</span> | 
|                     <span class="site-auto-id">自动+ID</span> | 
|                     <span class="site-auto">自动</span> | 
|                     <span class="site-unauto">非自动/手动</span> | 
|                 </div> | 
|             </div> | 
|         </div> | 
|     </div> | 
| </header> | 
| <main> | 
|   | 
|     <!----------- 工具栏 ----------> | 
|     <!-- 入库口 --> | 
|     <div class="cargo-put-0"></div> | 
|     <div class="cargo-put-1"></div> | 
|     <div class="cargo-put-2"></div> | 
|     <!-- 扫码器 --> | 
|     <div id="code-decoder-1" class="code-decoder"> | 
|         <span id="code-decoder-data-1" class="code-decoder-data">0</span> | 
|     </div> | 
|     <!-- 扫码器 --> | 
|     <div id="code-decoder-2" class="code-decoder"> | 
|         <span id="code-decoder-data-2" class="code-decoder-data">0</span> | 
|     </div> | 
|     <!--  磅秤  --> | 
|     <div class="scale" id="scale-1"> | 
|         <button id="scale-data-1">磅秤</button> | 
|     </div> | 
|   | 
|   | 
|     <!----------- 左输送线 ----------> | 
|     <!-- 第0列(宽度 100px) --> | 
|     <div class="site-row site-row-0"> | 
|         <div id="site-110" class="site" style="height: 20px;line-height: 20px;">110</div> | 
|         <div id="site-109" class="site" style="height: 20px;line-height: 20px;">109</div> | 
|         <div id="site-108" class="site" style="height: 22px;line-height: 22px;width: 160px">108</div> | 
|         <div id="site-112" class="site" style="height: 22px;line-height: 22px;width: 160px">112</div> | 
|         <div id="site-113" class="site" style="height: 20px;line-height: 20px">113</div> | 
|         <div id="site-114" class="site" style="height: 20px;line-height: 20px">114</div> | 
|     </div> | 
|   | 
|     <!-- 第1列(宽度 100px) --> | 
|     <div class="site-row site-row-1"> | 
|         <div id="site-103" class="site" style="height: 20px;line-height: 20px;margin-bottom: 20px">103</div> | 
|         <div id="site-127" class="site" style="height: 20px;line-height: 20px;margin-bottom: 84px">127</div> | 
|         <div id="site-128" class="site" style="height: 20px;line-height: 20px">128</div> | 
|     </div> | 
|   | 
|     <!-- 第2列(宽度 100px) --> | 
|     <div class="site-row site-row-2"> | 
|         <div id="site-126" class="site" style="height: 20px;line-height: 20px;width: 80px">126</div> | 
|         <div id="site-102" class="site" style="height: 20px;line-height: 20px">102</div> | 
|         <div id="site-104" class="site" style="height: 20px;line-height: 20px;width: 80px">104</div> | 
|         <div id="site-105" class="site" style="height: 20px;line-height: 20px">105</div> | 
|         <div id="site-106" class="site" style="height: 22px;line-height: 22px;width: 80px">106</div> | 
|         <div id="site-107" class="site" style="height: 22px;line-height: 22px;width: 90px">107</div> | 
|         <div id="site-111" class="site" style="height: 20px;line-height: 20px">111</div> | 
|         <div id="site-115" class="site" style="height: 20px;line-height: 20px;width: 80px">115</div> | 
|         <div id="site-116" class="site" style="height: 20px;line-height: 20px">116</div> | 
|     </div> | 
|   | 
|     <!-- 第3列(宽度 100px) --> | 
|     <div class="site-row site-row-3"> | 
|         <div id="site-101" class="site" style="height: 20px;line-height: 20px">101</div> | 
|         <div id="site-125" class="site" style="height: 20px;line-height: 20px;width: 80px">125</div> | 
|         <div id="site-123" class="site" style="height: 20px;line-height: 20px">123</div> | 
|         <div id="site-122" class="site" style="height: 44px;line-height: 44px;width: 80px">122</div> | 
|         <div id="site-121" class="site" style="height: 20px;line-height: 20px">121</div> | 
|         <div id="site-119" class="site" style="height: 20px;line-height: 20px;width: 80px">119</div> | 
|         <div id="site-117" class="site" style="height: 20px;line-height: 20px">117</div> | 
|     </div> | 
|   | 
|     <!-- 第4列(宽度 100px) --> | 
|     <div class="site-row site-row-4"> | 
|         <div id="site-200" class="site" style="height: 20px;line-height: 20px;margin-bottom: 21px; width: 160px">200</div> | 
|         <div id="site-202" class="site" style="height: 20px;line-height: 20px;margin-bottom: 44px;">202</div> | 
|         <div id="site-203" class="site" style="height: 20px;line-height: 20px;margin-bottom: 21px; width: 160px">203</div> | 
|         <div id="site-205" class="site" style="height: 20px;line-height: 20px;">205</div> | 
|     </div> | 
|   | 
|     <!-- 第5列(宽度 100px) --> | 
|     <div class="site-row site-row-5"> | 
|         <div id="site-201" class="site" style="height: 20px;line-height: 20px;margin-bottom: 85px">201</div> | 
|         <div id="site-204" class="site" style="height: 20px;line-height: 20px;">204</div> | 
|     </div> | 
|   | 
|     <!-- 货架 + 堆垛机 + 入库站点 + 出库站点 --> | 
|     <div class="main-part"> | 
|         <!--第一组--> | 
|         <div class="lane"> | 
|             <span class="row-no">8#</span> | 
|             <!-- 货架 --> | 
|             <div class="stock-group"> | 
|                 <div id="site-100" class="site" style="">100</div> | 
|                 <button class="item">2</button> | 
|                 <button class="item">4</button> | 
|                 <button class="item">6</button> | 
|                 <button class="item">8</button> | 
|                 <button class="item">10</button> | 
|                 <button class="item">12</button> | 
|                 <button class="item">14</button> | 
|                 <button class="item">16</button> | 
|                 <button class="item">18</button> | 
|                 <button class="item">20</button> | 
|                 <button class="item">22</button> | 
|                 <button class="item">24</button> | 
|                 <button class="item">26</button> | 
|                 <button class="item">28</button> | 
|                 <button class="item">30</button> | 
|                 <button class="item">32</button> | 
|                 <button class="item">34</button> | 
|                 <button class="item">36</button> | 
|                 <button class="item">38</button> | 
|                 <button class="item">40</button> | 
|                 <button class="item">42</button> | 
|                 <button class="item">44</button> | 
|                 <button class="item">46</button> | 
|                 <button class="item">48</button> | 
|                 <button class="item">50</button> | 
|                 <button class="item">52</button> | 
|                 <button class="item">54</button> | 
|                 <button class="item">56</button> | 
|                 <button class="item">58</button> | 
|                 <button class="item">60</button> | 
|                 <button class="item">62</button> | 
|                 <button class="item">64</button> | 
|             </div> | 
|             <!-- 堆垛机 --> | 
|             <div class="crn"> | 
|                 <hr class="pathway"> | 
|                 <div id="crn-2" class="machine"></div> | 
|             </div> | 
|             <!-- 货架 --> | 
|             <div class="stock-group"> | 
|                 <div id="site-124" class="site" style="">124</div> | 
|                 <button class="item">2</button> | 
|                 <button class="item">4</button> | 
|                 <button class="item">6</button> | 
|                 <button class="item">8</button> | 
|                 <button class="item">10</button> | 
|                 <button class="item">12</button> | 
|                 <button class="item">14</button> | 
|                 <button class="item">16</button> | 
|                 <button class="item">18</button> | 
|                 <button class="item">20</button> | 
|                 <button class="item">22</button> | 
|                 <button class="item">24</button> | 
|                 <button class="item">26</button> | 
|                 <button class="item">28</button> | 
|                 <button class="item">30</button> | 
|                 <button class="item">32</button> | 
|                 <button class="item">34</button> | 
|                 <button class="item">36</button> | 
|                 <button class="item">38</button> | 
|                 <button class="item">40</button> | 
|                 <button class="item">42</button> | 
|                 <button class="item">44</button> | 
|                 <button class="item">46</button> | 
|                 <button class="item">48</button> | 
|                 <button class="item">50</button> | 
|                 <button class="item">52</button> | 
|                 <button class="item">54</button> | 
|                 <button class="item">56</button> | 
|                 <button class="item">58</button> | 
|                 <button class="item">60</button> | 
|                 <button class="item">62</button> | 
|                 <button class="item">64</button> | 
|             </div> | 
|             <span class="row-no">5#</span> | 
|         </div> | 
|         <!--第二组--> | 
|         <div class="lane"> | 
|             <span class="row-no">4#</span> | 
|             <!-- 货架 --> | 
|             <div class="stock-group"> | 
|                 <div id="site-120" class="site" style="">120</div> | 
|                 <button class="item">2</button> | 
|                 <button class="item">4</button> | 
|                 <button class="item">6</button> | 
|                 <button class="item">8</button> | 
|                 <button class="item">10</button> | 
|                 <button class="item">12</button> | 
|                 <button class="item">14</button> | 
|                 <button class="item">16</button> | 
|                 <button class="item">18</button> | 
|                 <button class="item">20</button> | 
|                 <button class="item">22</button> | 
|                 <button class="item">24</button> | 
|                 <button class="item">26</button> | 
|                 <button class="item">28</button> | 
|                 <button class="item">30</button> | 
|                 <button class="item">32</button> | 
|                 <button class="item">34</button> | 
|                 <button class="item">36</button> | 
|                 <button class="item">38</button> | 
|                 <button class="item">40</button> | 
|                 <button class="item">42</button> | 
|                 <button class="item">44</button> | 
|                 <button class="item">46</button> | 
|                 <button class="item">48</button> | 
|                 <button class="item">50</button> | 
|                 <button class="item">52</button> | 
|                 <button class="item">54</button> | 
|                 <button class="item">56</button> | 
|                 <button class="item">58</button> | 
|                 <button class="item">60</button> | 
|                 <button class="item">62</button> | 
|                 <button class="item">64</button> | 
|             </div> | 
|             <!-- 堆垛机 --> | 
|             <div class="crn"> | 
|                 <hr class="pathway"> | 
|                 <div id="crn-1" class="machine"></div> | 
|             </div> | 
|             <!-- 货架 --> | 
|             <div class="stock-group"> | 
|                 <div id="site-118" class="site" style="">118</div> | 
|                 <button class="item">2</button> | 
|                 <button class="item">4</button> | 
|                 <button class="item">6</button> | 
|                 <button class="item">8</button> | 
|                 <button class="item">10</button> | 
|                 <button class="item">12</button> | 
|                 <button class="item">14</button> | 
|                 <button class="item">16</button> | 
|                 <button class="item">18</button> | 
|                 <button class="item">20</button> | 
|                 <button class="item">22</button> | 
|                 <button class="item">24</button> | 
|                 <button class="item">26</button> | 
|                 <button class="item">28</button> | 
|                 <button class="item">30</button> | 
|                 <button class="item">32</button> | 
|                 <button class="item">34</button> | 
|                 <button class="item">36</button> | 
|                 <button class="item">38</button> | 
|                 <button class="item">40</button> | 
|                 <button class="item">42</button> | 
|                 <button class="item">44</button> | 
|                 <button class="item">46</button> | 
|                 <button class="item">48</button> | 
|                 <button class="item">50</button> | 
|                 <button class="item">52</button> | 
|                 <button class="item">54</button> | 
|                 <button class="item">56</button> | 
|                 <button class="item">58</button> | 
|                 <button class="item">60</button> | 
|                 <button class="item">62</button> | 
|                 <button class="item">64</button> | 
|             </div> | 
|             <span class="row-no">1#</span> | 
|         </div> | 
|     </div> | 
| </main> | 
|   | 
| <!-- 弹窗 --> | 
| <!-- 输送设备弹窗 --> | 
| <div id="siteWindow" style="display: none"> | 
|     <form> | 
|         <!-- 第一行 --> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>设备号</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="siteId" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>工作号</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="workNo" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 45%"> | 
|             <div class="form-item-label"> | 
|                 <span>工作状态</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="wrkSts" value="" disabled="disabled" style="width: 10rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第二行 --> | 
|         <div class="form-item" style="width: 20%"> | 
|             <div class="form-item-label"> | 
|                 <span>自动</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="checkbox" name="autoing" disabled="disabled" style="width: 1rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 20%"> | 
|             <div class="form-item-label"> | 
|                 <span>有物</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="checkbox" name="loading" disabled="disabled" style="width: 1rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 20%"> | 
|             <div class="form-item-label"> | 
|                 <span>能入</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="checkbox" name="canining" disabled="disabled" style="width: 1rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 20%"> | 
|             <div class="form-item-label"> | 
|                 <span>能出</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="checkbox" name="canouting" disabled="disabled" style="width: 1rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第三行 --> | 
|         <div class="form-item" style="width: 40%"> | 
|             <div class="form-item-label"> | 
|                 <span>出入类型</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="ioType" value="" disabled="disabled" style="width: 8rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>源站</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>目标站</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第四行 --> | 
|         <div class="form-item" style="width: 40%"> | 
|             <div class="form-item-label"> | 
|                 <span>源库位</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="sourceLocNo" value="" disabled="disabled" style="width: 8rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 40%"> | 
|             <div class="form-item-label"> | 
|                 <span>目标库位</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="locNo" value="" disabled="disabled" style="width: 8rem"> | 
|             </div> | 
|         </div> | 
|     </form> | 
| </div> | 
|   | 
| <!-- 堆垛机弹窗 --> | 
| <div id="crnWindow" style="display: none"> | 
|     <form> | 
|         <!-- 第一行 --> | 
|         <div class="form-item" style="width: 23%"> | 
|             <div class="form-item-label"  style="width: 87px"> | 
|                 <span>堆垛机号</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="crnNo" value="" disabled="disabled" style="width: 3rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>工作号</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="workNo" value="" disabled="disabled" style="width: 5rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 23%"> | 
|             <div class="form-item-label"> | 
|                 <span>源站</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 25%"> | 
|             <div class="form-item-label"> | 
|                 <span>目标站</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第二行 --> | 
|         <div class="form-item" style="width: 45%"> | 
|             <div class="form-item-label" style="width: 87px"> | 
|                 <span>工作状态</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="wrkSts" value="" disabled="disabled" style="width: 10rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 45%"> | 
|             <div class="form-item-label"> | 
|                 <span>出入类型</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="ioType" value="" disabled="disabled" style="width: 10rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第三行 --> | 
|         <div class="form-item" style="width: 45%"> | 
|             <div class="form-item-label" style="width: 87px"> | 
|                 <span>源库位</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="sourceLocNo" value="" disabled="disabled" style="width: 10rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 45%"> | 
|             <div class="form-item-label"> | 
|                 <span>目标库位</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="locNo" value="" disabled="disabled" style="width: 10rem"> | 
|             </div> | 
|         </div> | 
|   | 
|         <!-- 第四行 --> | 
|         <div class="form-item" style="width: 95%"> | 
|             <div class="form-item-label"> | 
|                 <span>堆垛机状态</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="crnStatus" disabled="disabled" style="width: 25rem"> | 
|             </div> | 
|         </div> | 
|         <div class="form-item" style="width: 95%"> | 
|             <div class="form-item-label" style="width: 87px"> | 
|                 <span>异常</span> | 
|             </div> | 
|             <div class="form-item-input"> | 
|                 <input type="text" name="error" disabled="disabled" style="width: 25rem"> | 
|             </div> | 
|         </div> | 
|     </form> | 
| </div> | 
|   | 
| </body> | 
| <script> | 
|     var crn1Position = 0; | 
|     var crn2Position = 0; | 
|     // 初始化 | 
|     getSitesInfo(); | 
|     getCrnInfo(); | 
|     getSystemRunningStatus(); | 
|     getBarcodeInfo(); | 
|     getScaleInfo(); | 
|     // 实时访问 | 
|     setInterval(function () { | 
|         getCrnInfo(); | 
|         getSystemRunningStatus(); | 
|         getBarcodeInfo(); | 
|         getScaleInfo(); | 
|     }, 1000); | 
|     setInterval(function () { | 
|         getSitesInfo(); | 
|     }, 3000); | 
|   | 
|     // 系统运行开关 | 
|     function systemSwitch() { | 
|         if (parent.systemRunning){ | 
|             layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1,   shadeClose: true}, function(pass, idx){ | 
|                 layer.close(idx); | 
|                 doSwitch(0, pass); // 停止wcs系统 | 
|             }); | 
|         } else { | 
|             doSwitch(1); // 启动wcs系统 | 
|         } | 
|     } | 
|   | 
|     // 请求服务器控制wcs系统运行状态 | 
|     function doSwitch(operatorType, password) { | 
|         // 加载tips | 
|         var index = layer.load(1, { | 
|             shade: [0.1,'#fff'] | 
|         }); | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/system/switch", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             // async: false, | 
|             data: { | 
|                 operatorType: operatorType, | 
|                 password: password | 
|             }, | 
|             method: 'POST', | 
|             success: function (res) { | 
|                 layer.close(index); | 
|                 if (res.code === 200){ | 
|                     if (res.data.status) { | 
|                         $('#system-icon').attr("class", "system-icon-open"); | 
|                         $('#system-run-desc').html("系统运行中..."); | 
|                         parent.systemRunning = true; | 
|                     } else { | 
|                         $('#system-icon').attr("class", "system-icon-close"); | 
|                         $('#system-run-desc').html("系统已停止!"); | 
|                         parent.systemRunning = false; | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                      | 
|                 } | 
|             } | 
|         }); | 
|   | 
|     } | 
|   | 
|     // 获取wcs系统运行状态 | 
|     function getSystemRunningStatus() { | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/system/running/status", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             method: 'POST', | 
|             success: function (res) { | 
|                 if (res.code === 200){ | 
|                     if (res.data.status) { | 
|                         $('#system-icon').attr("class", "system-icon-open"); | 
|                         $('#system-run-desc').html("系统运行中..."); | 
|                         parent.systemRunning = true; | 
|                     } else { | 
|                         $('#system-icon').attr("class", "system-icon-close"); | 
|                         $('#system-run-desc').html("系统已停止!"); | 
|                         parent.systemRunning = false; | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
|   | 
|     // 输送设备实时数据获取 | 
|     function getSitesInfo(){ | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/latest/data/site", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             method: 'POST', | 
|             success: function (res) { | 
|                 if (res.code === 200){ | 
|                     var sites = res.data; | 
|                     for (var i = 0; i < sites.length; i++){ | 
|                         var siteEl = $("#site-"+sites[i].siteId); | 
|                         siteEl.attr("class", "site " + sites[i].siteStatus); | 
|                         if (sites[i].workNo != null && sites[i].workNo>0) { | 
|                             siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]"); | 
|                         } else { | 
|                             siteEl.html(sites[i].siteId); | 
|                         } | 
|                         if (i+1===8) { | 
|                             carAnimate(i+1, Number(sites[i].nearbySta)); | 
|                         } | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
|   | 
|     // 堆垛机实时数据获取 | 
|     function getCrnInfo(){ | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/latest/data/crn", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             method: 'POST', | 
|             success: function (res) { | 
|                 if (res.code === 200){ | 
|                     var crns = res.data; | 
|                     for (var i = 0; i < crns.length; i++){ | 
|                         var crnEl = $("#crn-"+crns[i].crnId); | 
|                         crnEl.attr("class", "machine " + crns[i].crnStatus); | 
|                         var unit = ($('.item').eq(0).width()+4)/2; | 
|                         crnEl.animate({left: (crns[i].bay * unit + 25) +'px'}, 1000); | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
|   | 
|     // 扫码器实时数据获取 | 
|     function getBarcodeInfo(){ | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/latest/data/barcode", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             method: 'POST', | 
|             success: function (res) { | 
|                 if (res.code === 200){ | 
|                     var barcodes = res.data; | 
|                     for (var i = 0; i < barcodes.length; i++){ | 
|                         $("#code-decoder-data-"+barcodes[i].barcodeId).html(barcodes[i].codeValue); | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
|   | 
|     // 磅秤实时数据获取 | 
|     function getScaleInfo(){ | 
|         $.ajax({ | 
|             url: baseUrl+ "/console/latest/data/scale", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             method: 'POST', | 
|             success: function (res) { | 
|   | 
|                 if (res.code === 200){ | 
|                     var sclaes = res.data; | 
|                     for (var i = 0; i < sclaes.length; i++){ | 
|                         console.log(sclaes[i].scaleId + ":" + sclaes[i].value) | 
|                         $("#scale-data-"+sclaes[i].scaleId).text(sclaes[i].value); | 
|                     } | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = baseUrl+"/login"; | 
|                 }  else { | 
|                     console.log(res.msg); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
|   | 
|     // 堆垛机偏移动画 | 
|     function crnAnimate(id, leftVal) { | 
|         switch (id) { | 
|             case 1: | 
|                 $("#crn-1").animate({left: leftVal+'px'}, 1000); | 
|                 crn1Position = leftVal; | 
|                 break; | 
|             case 2: | 
|                 $("#crn-2").animate({left: leftVal+'px'}, 1000); | 
|                 crn2Position = leftVal; | 
|                 break; | 
|             default: | 
|                 break | 
|         } | 
|     } | 
|   | 
|     // 页面点击事件监听 --------------------------------------------------------- | 
|   | 
|     // 输送设备点击事件 | 
|     $('.site').on('click', function () { | 
|         var id = this.id.split("-")[1]; | 
|         if (id === undefined) { | 
|             return; | 
|         } | 
|         layer.open({ | 
|             title: id + " 站点信息详情", | 
|             closeBtn: 0, | 
|             skin: 'layui-layer-lan', | 
|             offset: '180px', | 
|             type: 1, | 
|             shadeClose: true, | 
|             content: $('#siteWindow'), | 
|             area: ['35rem', '18rem'], | 
|             btn: ['确定', '关闭'], | 
|             success: function(layero, index){ | 
|                 http.post(baseUrl+"/console/site/detail", {siteId: id}, function (res) { | 
|                     for (var val in res.data) { | 
|                         var find = $("#siteWindow").find(":input[name='" + val + "']"); | 
|                         if (find[0].type==='text') { | 
|                             find.val(res.data[val]); | 
|                         } else if (find[0].type === 'checkbox') { | 
|                             find.attr("checked", res.data[val] === 'Y'); | 
|                         } | 
|                     } | 
|                 }) | 
|             }, | 
|             end: function () { | 
|                 $(':input', $("#siteWindow")).val('').removeAttr('checked').removeAttr('selected'); | 
|             } | 
|         }); | 
|     }); | 
|   | 
|     // 堆垛机点击事件 | 
|     $('.machine').on('click', function () { | 
|         var id = this.id.split("-")[1]; | 
|         layer.open({ | 
|             title: id+"号堆垛机", | 
|             skin: 'layui-layer-lan', | 
|             closeBtn: 0, | 
|             type: 1, | 
|             offset: '150px', | 
|             shadeClose: true, | 
|             content: $("#crnWindow"), | 
|             area: ['40rem', '20rem'], | 
|             btn: ['确定', '关闭'], | 
|             success: function(layero, index){ | 
|                 http.post(baseUrl+"/console/crn/detail", {crnNo: id}, function (res) { | 
|                     for (var val in res.data) { | 
|                         var find = $("#crnWindow").find(":input[name='" + val + "']"); | 
|                         if (find[0].type==='text') { | 
|                             find.val(res.data[val]); | 
|                         } else if (find[0].type === 'checkbox') { | 
|                             find.attr("checked", res.data[val] === 'Y'); | 
|                         } | 
|                     } | 
|                 }) | 
|             }, | 
|             end: function () { | 
|                 $(':input', $("#crnWindow")).val('').removeAttr('checked').removeAttr('selected'); | 
|             } | 
|         }); | 
|     }); | 
|   | 
|   | 
|     // 小车偏移动画 | 
|     function carAnimate(id, target) { | 
|         var targetTop = 122; | 
|         if (id === 8) { | 
|             switch (target) { | 
|                 case 1: | 
|                     targetTop += 160; | 
|                     break; | 
|                 case 2: | 
|                     targetTop += 140; | 
|                     break; | 
|                 case 3: | 
|                     targetTop += 80; | 
|                     break; | 
|                 case 4: | 
|                     targetTop += 40; | 
|                     break; | 
|                 case 7: | 
|                     targetTop += 0; | 
|                     break; | 
|                 default: | 
|                     return; | 
|             } | 
|         } else { | 
|             return; | 
|         } | 
|         $("#site-" + id).animate({top: targetTop+'px'}, 1000); | 
|     } | 
|   | 
| </script> | 
| </html> |