|  |  |  | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | </head> | 
|---|
|  |  |  | <body> | 
|---|
|  |  |  | <main> | 
|---|
|  |  |  | <!-- plc异常日志监控版 --> | 
|---|
|  |  |  | <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 style="padding: 10px;height: 100%;float: left;width: 6%"> | 
|---|
|  |  |  | <div class="button-window"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div style="height: 100%;padding-left: 6%"> | 
|---|
|  |  |  | <div style="padding: 10px;height: 100%"> | 
|---|
|  |  |  | <main> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- plc异常日志监控版 --> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- 主体 --> | 
|---|
|  |  |  | <div class="plc-log-body"> | 
|---|
|  |  |  | <table id="plc-error-table"> | 
|---|
|  |  |  | <thead> | 
|---|
|  |  |  | <tr> | 
|---|
|  |  |  | <th style="width: 200px">序号</th> | 
|---|
|  |  |  | <th style="width: 400px">PLC错误描述</th> | 
|---|
|  |  |  | <th style="width: 400px">异常</th> | 
|---|
|  |  |  | </tr> | 
|---|
|  |  |  | </thead> | 
|---|
|  |  |  | <tbody> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </tbody> | 
|---|
|  |  |  | </table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- 主体 --> | 
|---|
|  |  |  | <div class="plc-log-body"> | 
|---|
|  |  |  | <table id="plc-error-table"> | 
|---|
|  |  |  | <thead> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 站点状态数据监控版 --> | 
|---|
|  |  |  | <div id="site-monitor" class="main-board"> | 
|---|
|  |  |  | <!-- 表格 --> | 
|---|
|  |  |  | <!--固定表头 table 加table-layout: fixed;  th 加 position:sticky;top: 0;--> | 
|---|
|  |  |  | <table id="site-table" style="table-layout: fixed;"> | 
|---|
|  |  |  | <!-- 表头 --> | 
|---|
|  |  |  | <thead style="position:sticky;top: 0;"> | 
|---|
|  |  |  | <tr> | 
|---|
|  |  |  | <th style="width: 200px">序号</th> | 
|---|
|  |  |  | <th style="width: 400px">PLC错误描述</th> | 
|---|
|  |  |  | <th style="width: 400px">异常</th> | 
|---|
|  |  |  | <th>站号</th> | 
|---|
|  |  |  | <th>工作号</th> | 
|---|
|  |  |  | <th>自动</th> | 
|---|
|  |  |  | <th>有物</th> | 
|---|
|  |  |  | <th>可入</th> | 
|---|
|  |  |  | <th>可出</th> | 
|---|
|  |  |  | <th>入库标记</th> | 
|---|
|  |  |  | <th>空板信号</th> | 
|---|
|  |  |  | <th>目标站</th> | 
|---|
|  |  |  | <th>高低库位</th> | 
|---|
|  |  |  | </tr> | 
|---|
|  |  |  | </thead> | 
|---|
|  |  |  | <tbody> | 
|---|
|  |  |  | </thead> | 
|---|
|  |  |  | <!-- 表格内容 --> | 
|---|
|  |  |  | <tbody></tbody> | 
|---|
|  |  |  | </table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </main> | 
|---|
|  |  |  | <footer> | 
|---|
|  |  |  | <textarea id="output"></textarea> | 
|---|
|  |  |  | </footer> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </tbody> | 
|---|
|  |  |  | </table> | 
|---|
|  |  |  | <div id="site-detl" style="display: none"> | 
|---|
|  |  |  | <form> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">站号:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="siteId" name="siteId" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">工作号:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">目标站:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="staNo" name="staNo" type="number" class="layui-input" lay-verify="number" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">入库标记:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item form-button-container"> | 
|---|
|  |  |  | <button class="form-button" id="save">保存</button> | 
|---|
|  |  |  | <button class="form-button" id="cancel" style="background-color: #D0D0D0">取消</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 站点状态数据监控版 --> | 
|---|
|  |  |  | <div id="site-monitor" class="main-board"> | 
|---|
|  |  |  | <!-- 表格 --> | 
|---|
|  |  |  | <table id="site-table"> | 
|---|
|  |  |  | <!-- 表头 --> | 
|---|
|  |  |  | <thead> | 
|---|
|  |  |  | <tr> | 
|---|
|  |  |  | <th>站号</th> | 
|---|
|  |  |  | <th>工作号</th> | 
|---|
|  |  |  | <th>自动</th> | 
|---|
|  |  |  | <th>有物</th> | 
|---|
|  |  |  | <th>可入</th> | 
|---|
|  |  |  | <th>可出</th> | 
|---|
|  |  |  | <th>入库标记</th> | 
|---|
|  |  |  | <th>空板信号</th> | 
|---|
|  |  |  | <th>目标站</th> | 
|---|
|  |  |  | </tr> | 
|---|
|  |  |  | </thead> | 
|---|
|  |  |  | <!-- 表格内容 --> | 
|---|
|  |  |  | <tbody></tbody> | 
|---|
|  |  |  | </table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </main> | 
|---|
|  |  |  | <footer> | 
|---|
|  |  |  | <textarea id="output"></textarea> | 
|---|
|  |  |  | </footer> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div id="site-detl" style="display: none"> | 
|---|
|  |  |  | <form> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">站号:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="siteId" name="siteId" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">工作号:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">目标站:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="staNo" name="staNo" type="number" class="layui-input" lay-verify="number" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <label class="form-label">入库标记:</label> | 
|---|
|  |  |  | <div class="form-input"> | 
|---|
|  |  |  | <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item form-button-container"> | 
|---|
|  |  |  | <button class="form-button" id="save">保存</button> | 
|---|
|  |  |  | <button class="form-button" id="cancel" style="background-color: #D0D0D0">取消</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </body> | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | // 初始化 | 
|---|
|  |  |  | // 空白行数 | 
|---|
|  |  |  | var stop = false | 
|---|
|  |  |  | var plcErrorTableBlankRows = 0; | 
|---|
|  |  |  | var siteTableBlankRows = 0; | 
|---|
|  |  |  | // 实际行数 | 
|---|
|  |  |  | 
|---|
|  |  |  | // 实时访问 | 
|---|
|  |  |  | setInterval(function () { | 
|---|
|  |  |  | getPlcError(); | 
|---|
|  |  |  | getSite(); | 
|---|
|  |  |  | starGetSite(); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | setInterval(function () { | 
|---|
|  |  |  | getSiteOutput(); | 
|---|
|  |  |  | },500); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function starGetSite() { | 
|---|
|  |  |  | if (stop) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | getSite(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 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 = true | 
|---|
|  |  |  | var siteId = $(this).children("td").eq(0).html(); | 
|---|
|  |  |  | if (siteId !== null && siteId !== "") { | 
|---|
|  |  |  | layerDetl = layer.open({ | 
|---|
|  |  |  | 
|---|
|  |  |  | $('#workNo').val(""); | 
|---|
|  |  |  | $('#staNo').val(""); | 
|---|
|  |  |  | $('#pakMk').val(""); | 
|---|
|  |  |  | stop = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | $(document).on('click ','#save', function () { | 
|---|