|  |  | 
 |  |  |     <script type="text/javascript" src="../static/js/common.js"></script> | 
 |  |  |     <script type="text/javascript" src="../static/js/layer/layer.js"></script> | 
 |  |  |     <style> | 
 |  |  |  | 
 |  |  |         .io-mode-box { | 
 |  |  |             float: left; | 
 |  |  |             width: 16%; | 
 |  |  |             text-align: center; | 
 |  |  |             margin-top: 10px; | 
 |  |  |         } | 
 |  |  |         .io-mode-box label { | 
 |  |  |             font-weight: bolder; | 
 |  |  |         } | 
 |  |  |         .ioModeBtn { | 
 |  |  |             vertical-align: middle; | 
 |  |  |             width: 50%; | 
 |  |  |             height: 30px; | 
 |  |  |             left: 0; | 
 |  |  |             top: 0; | 
 |  |  |             text-shadow: inherit; | 
 |  |  |             font-size: 15px; | 
 |  |  |             margin-left: 5px; | 
 |  |  |             margin-right: 5px; | 
 |  |  |             display: inline-block; | 
 |  |  |             background-color: #FF5722; | 
 |  |  |             border: none; | 
 |  |  |             color: #FFF; | 
 |  |  |             box-shadow: 1px 1px 5px #B6B6B6; | 
 |  |  |             border-radius: 3px; | 
 |  |  |             cursor: pointer; | 
 |  |  |         } | 
 |  |  |     </style> | 
 |  |  | </head> | 
 |  |  | <body> | 
 |  |  | 
 |  |  |             <div id="plc-error" class="main-board" style="padding-left: 10px"> | 
 |  |  |                 <!-- 头部 --> | 
 |  |  |                 <div class="plc-log-header"> | 
 |  |  |                     <!--            <div style="height: 40%">--> | 
 |  |  |                     <!--                <span>东侧PLC执行指令</span>--> | 
 |  |  |                     <!--            </div>--> | 
 |  |  |                     <!--            <div style="height: 40%">--> | 
 |  |  |                     <!--                <span>西侧PLC执行指令</span>--> | 
 |  |  |                     <!--            </div>--> | 
 |  |  |                     <div> | 
 |  |  |                         <span style="color: #1E9FFF">PLC异常信息表:</span> | 
 |  |  |                     <!-- 设备任务操作 --> | 
 |  |  |                     <div class="io-mode-oper"> | 
 |  |  |                         <fieldset> | 
 |  |  |                             <legend>入出库模式(IO-Mode)</legend> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>1F1</label> | 
 |  |  |                                 <button id="io-mode-1" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>1F2</label> | 
 |  |  |                                 <button id="io-mode-2" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>1F3</label> | 
 |  |  |                                 <button id="io-mode-3" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>1F4</label> | 
 |  |  |                                 <button id="io-mode-4" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>2F1</label> | 
 |  |  |                                 <button id="io-mode-5" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>2F2</label> | 
 |  |  |                                 <button id="io-mode-6" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>3F1</label> | 
 |  |  |                                 <button id="io-mode-7" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                             <div class="io-mode-box"> | 
 |  |  |                                 <label>3F2</label> | 
 |  |  |                                 <button id="io-mode-8" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> | 
 |  |  |                             </div> | 
 |  |  |                         </fieldset> | 
 |  |  |                     </div> | 
 |  |  | <!--                    <!–            <div style="height: 40%">–>--> | 
 |  |  | <!--                    <!–                <span>东侧PLC执行指令</span>–>--> | 
 |  |  | <!--                    <!–            </div>–>--> | 
 |  |  | <!--                    <!–            <div style="height: 40%">–>--> | 
 |  |  | <!--                    <!–                <span>西侧PLC执行指令</span>–>--> | 
 |  |  | <!--                    <!–            </div>–>--> | 
 |  |  | <!--                    <!–                    <div>–>--> | 
 |  |  | <!--                    <!–                        <span style="color: #1E9FFF">PLC异常信息表:</span>–>--> | 
 |  |  | <!--                    <!–                    </div>–>--> | 
 |  |  |                 </div> | 
 |  |  |                 <!-- 主体 --> | 
 |  |  |                 <div class="plc-log-body"> | 
 |  |  |                     <div> | 
 |  |  |                         <span style="color: #1E9FFF">PLC异常信息表:</span> | 
 |  |  |                     </div> | 
 |  |  |                     <table id="plc-error-table"> | 
 |  |  |                         <thead> | 
 |  |  |                         <tr> | 
 |  |  | 
 |  |  |             <!-- 站点状态数据监控版 --> | 
 |  |  |             <div id="site-monitor" class="main-board"> | 
 |  |  |                 <!-- 表格 --> | 
 |  |  |                 <table id="site-table"> | 
 |  |  |                 <!--固定表头 table 加table-layout: fixed;  th 加 position:sticky;top: 0;--> | 
 |  |  |                 <table id="site-table" style="table-layout: fixed;"> | 
 |  |  |                     <!-- 表头 --> | 
 |  |  |                     <thead> | 
 |  |  |                     <thead style="position:sticky;top: 0;"> | 
 |  |  |                     <tr> | 
 |  |  |                         <th>站号</th> | 
 |  |  |                         <th>工作号</th> | 
 |  |  | 
 |  |  |                         <th>入库标记</th> | 
 |  |  |                         <th>空板信号</th> | 
 |  |  |                         <th>目标站</th> | 
 |  |  |                         <th>大小库位</th> | 
 |  |  |                     </tr> | 
 |  |  |                     </thead> | 
 |  |  |                     <!-- 表格内容 --> | 
 |  |  | 
 |  |  |     </div> | 
 |  |  |  | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </body> | 
 |  |  | <script> | 
 |  |  |     // 初始化 | 
 |  |  | 
 |  |  |     var siteTableFullRows = 0; | 
 |  |  |     var outputDom = document.getElementById("output"); | 
 |  |  |     $(document).ready(function() { | 
 |  |  |         getIoModeInfo(); | 
 |  |  |         initPlcErrorTable(); | 
 |  |  |         getPlcError(); | 
 |  |  |         initSiteTable(); | 
 |  |  | 
 |  |  |     setInterval(function () { | 
 |  |  |         getPlcError(); | 
 |  |  |         starGetSite(); | 
 |  |  |         getIoModeInfo(); | 
 |  |  |     }, 1000); | 
 |  |  |     setInterval(function () { | 
 |  |  |         getSiteOutput(); | 
 |  |  | 
 |  |  |             getSite(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     var ioModeData; | 
 |  |  |     function getIoModeInfo() { | 
 |  |  |         $.ajax({ | 
 |  |  |             url: baseUrl+ "/site/io/mode/info/site", | 
 |  |  |             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |             method: 'GET', | 
 |  |  |             success: function (res) { | 
 |  |  |                 if (res.code === 200){ | 
 |  |  |                     ioModeData = res.data; | 
 |  |  |                     ioModeData.forEach(function (e) { | 
 |  |  |                         $("#io-mode-"+e.floor).html(e.modeDesc); | 
 |  |  |                     }) | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  |                     window.location.href = baseUrl+"/login"; | 
 |  |  |                 }  else { | 
 |  |  |                     console.log(res.msg); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 强制切换入出库模式 | 
 |  |  |      */ | 
 |  |  |     function ioModeSwitch(el) { | 
 |  |  |         var floor = el.split("-")[2]; | 
 |  |  |         if (ioModeData != null && ioModeData.length > 1) { | 
 |  |  |             ioModeData.forEach(function(e) { | 
 |  |  |                 if (e.floor === Number(floor)) { | 
 |  |  |                     if (e.modeVal === 3 || e.modeVal === 4) { | 
 |  |  |                         layer.confirm('确定切换为入库模式吗?',function () { | 
 |  |  |                             $.ajax({ | 
 |  |  |                                 url: baseUrl+ "/site/io/mode/action/site", | 
 |  |  |                                 headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                                 data: {floor: e.floor}, | 
 |  |  |                                 method: 'POST', | 
 |  |  |                                 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); | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                             }); | 
 |  |  |                             layer.closeAll(); | 
 |  |  |                         }) | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // plc异常信息表获取 | 
 |  |  |     function getPlcError() { | 
 |  |  |         var tableEl = $('#plc-error-table'); | 
 |  |  | 
 |  |  |                         setVal(tr.children("td").eq(6), table[i-1].pakMk); | 
 |  |  |                         setVal(tr.children("td").eq(7), table[i-1].emptyMk); | 
 |  |  |                         setVal(tr.children("td").eq(8), table[i-1].staNo); | 
 |  |  |                         setVal(tr.children("td").eq(9), table[i-1].locType1); | 
 |  |  |                     } | 
 |  |  |                 } else if (res.code === 403){ | 
 |  |  |                     window.location.href = baseUrl+"/login"; | 
 |  |  | 
 |  |  |                 "       <td></td>\n" + | 
 |  |  |                 "       <td></td>\n" + | 
 |  |  |                 "       <td></td>\n" + | 
 |  |  |                 "       <td></td>\n" + | 
 |  |  |                 "     </tr>\n"; | 
 |  |  |         } | 
 |  |  |         $('#site-table tbody').after(html); | 
 |  |  | 
 |  |  |     // 详情操作 ------------------------------------------------------------------------- | 
 |  |  |     var layerDetl; | 
 |  |  |     $(document).on('dblclick ','#site-table tr', function () { | 
 |  |  |         stop = false | 
 |  |  |         stop = true | 
 |  |  |         var siteId = $(this).children("td").eq(0).html(); | 
 |  |  |         if (siteId !== null && siteId !== "") { | 
 |  |  |             layerDetl = layer.open({ | 
 |  |  | 
 |  |  |                     $('#workNo').val(""); | 
 |  |  |                     $('#staNo').val(""); | 
 |  |  |                     $('#pakMk').val(""); | 
 |  |  |                     stop = false | 
 |  |  |                 } | 
 |  |  |             }) | 
 |  |  |         } | 
 |  |  |         stop = true | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     $(document).on('click ','#save', function () { |