<!DOCTYPE html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<title>自动仓库wcs系统</title>
|
<link rel="stylesheet" href="../static/css/render.css">
|
<script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
|
<script src="../static/js/layer/layer.js"></script>
|
<!--地图json-->
|
<script src="../static/js/console.map.js"></script>
|
<script src="../static/js/console.js"></script>
|
<script src="../static/js/common.js"></script>
|
<script src="info.js"></script>
|
|
|
</head>
|
<body>
|
<div id="main">
|
<div class="head">
|
<div class="head-left">
|
<h1>自动仓库WCS监控图</h1>
|
<h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
|
</div>
|
<div class="head-right">
|
<img src="../static/images/zy-logo.png" alt="wcs" height="44" width="80">
|
</div>
|
</div>
|
<!-- 货架 + 堆垛机 + 入库站点 -->
|
<div class="main-part">
|
|
</div>
|
|
<div class="">
|
<div id="loc-0100204" class="loc" style="top:300px; left:200px; width:70px; height: 22px;line-height: 22px;">2-4</div>
|
<div id="loc-0100304" class="loc" style="top:300px; left:272px; width:70px; height: 22px;line-height: 22px;">3-4</div>
|
<div id="loc-0100404" class="loc" style="top:300px; left:344px; width:70px; height: 22px;line-height: 22px;">4-4</div>
|
<div id="loc-0100504" class="loc" style="top:300px; left:416px; width:70px; height: 22px;line-height: 22px;">5-4</div>
|
<div id="loc-0100604" class="loc" style="top:300px; left:488px; width:70px; height: 22px;line-height: 22px;">6-4</div>
|
<div id="loc-0100704" class="loc" style="top:300px; left:560px; width:70px; height: 22px;line-height: 22px;">7-4</div>
|
<div id="loc-0100804" class="loc" style="top:300px; left:632px; width:70px; height: 22px;line-height: 22px;">8-4</div>
|
<div id="loc-0100904" class="loc" style="top:300px; left:704px; width:70px; height: 22px;line-height: 22px;">9-4</div>
|
<div id="loc-0101004" class="loc" style="top:300px; left:776px; width:70px; height: 22px;line-height: 22px;">10-4</div>
|
<div id="loc-0101104" class="loc" style="top:300px; left:848px; width:70px; height: 22px;line-height: 22px;">11-4</div>
|
<div id="loc-0101204" class="loc" style="top:300px; left:920px; width:70px; height: 22px;line-height: 22px;">12-4</div>
|
<div id="loc-0101304" class="loc" style="top:300px; left:992px; width:70px; height: 22px;line-height: 22px;">13-4</div>
|
<div id="loc-0101404" class="loc" style="top:300px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-4</div>
|
<div id="loc-0101504" class="loc" style="top:300px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-4</div>
|
<div id="loc-0101604" class="loc" style="top:300px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-4</div>
|
<div id="loc-0101704" class="loc" style="top:300px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-4</div>
|
<div id="loc-0101804" class="loc" style="top:300px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-4</div>
|
</div>
|
<div class="">
|
<div id="loc-0100203" class="loc" style="top:324px; left:200px; width:70px; height: 22px;line-height: 22px;">2-3</div>
|
<div id="loc-0100303" class="loc" style="top:324px; left:272px; width:70px; height: 22px;line-height: 22px;">3-3</div>
|
<div id="loc-0100403" class="loc" style="top:324px; left:344px; width:70px; height: 22px;line-height: 22px;">4-3</div>
|
<div id="loc-0100503" class="loc" style="top:324px; left:416px; width:70px; height: 22px;line-height: 22px;">5-3</div>
|
<div id="loc-0100603" class="loc" style="top:324px; left:488px; width:70px; height: 22px;line-height: 22px;">6-3</div>
|
<div id="loc-0100703" class="loc" style="top:324px; left:560px; width:70px; height: 22px;line-height: 22px;">7-3</div>
|
<div id="loc-0100803" class="loc" style="top:324px; left:632px; width:70px; height: 22px;line-height: 22px;">8-3</div>
|
<div id="loc-0100903" class="loc" style="top:324px; left:704px; width:70px; height: 22px;line-height: 22px;">9-3</div>
|
<div id="loc-0101003" class="loc" style="top:324px; left:776px; width:70px; height: 22px;line-height: 22px;">10-3</div>
|
<div id="loc-0101103" class="loc" style="top:324px; left:848px; width:70px; height: 22px;line-height: 22px;">11-3</div>
|
<div id="loc-0101203" class="loc" style="top:324px; left:920px; width:70px; height: 22px;line-height: 22px;">12-3</div>
|
<div id="loc-0101303" class="loc" style="top:324px; left:992px; width:70px; height: 22px;line-height: 22px;">13-3</div>
|
<div id="loc-0101403" class="loc" style="top:324px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-3</div>
|
<div id="loc-0101503" class="loc" style="top:324px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-3</div>
|
<div id="loc-0101603" class="loc" style="top:324px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-3</div>
|
<div id="loc-0101703" class="loc" style="top:324px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-3</div>
|
<div id="loc-0101803" class="loc" style="top:324px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-3</div>
|
</div>
|
<div class="">
|
<div id="loc-0100202" class="loc" style="top:348px; left:200px; width:70px; height: 22px;line-height: 22px;">2-2</div>
|
<div id="loc-0100302" class="loc" style="top:348px; left:272px; width:70px; height: 22px;line-height: 22px;">3-2</div>
|
<div id="loc-0100402" class="loc" style="top:348px; left:344px; width:70px; height: 22px;line-height: 22px;">4-2</div>
|
<div id="loc-0100502" class="loc" style="top:348px; left:416px; width:70px; height: 22px;line-height: 22px;">5-2</div>
|
<div id="loc-0100602" class="loc" style="top:348px; left:488px; width:70px; height: 22px;line-height: 22px;">6-2</div>
|
<div id="loc-0100702" class="loc" style="top:348px; left:560px; width:70px; height: 22px;line-height: 22px;">7-2</div>
|
<div id="loc-0100802" class="loc" style="top:348px; left:632px; width:70px; height: 22px;line-height: 22px;">8-2</div>
|
<div id="loc-0100902" class="loc" style="top:348px; left:704px; width:70px; height: 22px;line-height: 22px;">9-2</div>
|
<div id="loc-0101002" class="loc" style="top:348px; left:776px; width:70px; height: 22px;line-height: 22px;">10-2</div>
|
<div id="loc-0101102" class="loc" style="top:348px; left:848px; width:70px; height: 22px;line-height: 22px;">11-2</div>
|
<div id="loc-0101202" class="loc" style="top:348px; left:920px; width:70px; height: 22px;line-height: 22px;">12-2</div>
|
<div id="loc-0101302" class="loc" style="top:348px; left:992px; width:70px; height: 22px;line-height: 22px;">13-2</div>
|
<div id="loc-0101402" class="loc" style="top:348px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-2</div>
|
<div id="loc-0101502" class="loc" style="top:348px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-2</div>
|
<div id="loc-0101602" class="loc" style="top:348px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-2</div>
|
<div id="loc-0101702" class="loc" style="top:348px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-2</div>
|
<div id="loc-0101802" class="loc" style="top:348px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-2</div>
|
</div>
|
<div class="" style="text-align: center;">
|
<div id="loc-0100201" class="loc" style="top:372px; left:200px; width:70px; height: 22px;line-height: 22px;">2-1</div>
|
<div id="loc-0100301" class="loc" style="top:372px; left:272px; width:70px; height: 22px;line-height: 22px;">3-1</div>
|
<div id="loc-0100401" class="loc" style="top:372px; left:344px; width:70px; height: 22px;line-height: 22px;">4-1</div>
|
<div id="loc-0100501" class="loc" style="top:372px; left:416px; width:70px; height: 22px;line-height: 22px;">5-1</div>
|
<div id="loc-0100601" class="loc" style="top:372px; left:488px; width:70px; height: 22px;line-height: 22px;">6-1</div>
|
<div id="loc-0100701" class="loc" style="top:372px; left:560px; width:70px; height: 22px;line-height: 22px;">7-1</div>
|
<div id="loc-0100801" class="loc" style="top:372px; left:632px; width:70px; height: 22px;line-height: 22px;">8-1</div>
|
<div id="loc-0100901" class="loc" style="top:372px; left:704px; width:70px; height: 22px;line-height: 22px;">9-1</div>
|
<div id="loc-0101001" class="loc" style="top:372px; left:776px; width:70px; height: 22px;line-height: 22px;">10-1</div>
|
<div id="loc-0101101" class="loc" style="top:372px; left:848px; width:70px; height: 22px;line-height: 22px;">11-1</div>
|
<div id="loc-0101201" class="loc" style="top:372px; left:920px; width:70px; height: 22px;line-height: 22px;">12-1</div>
|
<div id="loc-0101301" class="loc" style="top:372px; left:992px; width:70px; height: 22px;line-height: 22px;">13-1</div>
|
<div id="loc-0101401" class="loc" style="top:372px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-1</div>
|
<div id="loc-0101501" class="loc" style="top:372px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-1</div>
|
<div id="loc-0101601" class="loc" style="top:372px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-1</div>
|
<div id="loc-0101701" class="loc" style="top:372px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-1</div>
|
<div id="loc-0101801" class="loc" style="top:372px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-1</div>
|
|
<div class="rackDescs" id="lb_desc11" style="top:372px; left:1450px; width:150px;height: 23px;line-height: 23px">1排货架侧视图</div>
|
</div>
|
|
<div class="">
|
<div id="loc-0200204" class="loc" style="top:458px; left:200px; width:70px; height: 22px;line-height: 22px;">2-4</div>
|
<div id="loc-0200304" class="loc" style="top:458px; left:272px; width:70px; height: 22px;line-height: 22px;">3-4</div>
|
<div id="loc-0200404" class="loc" style="top:458px; left:344px; width:70px; height: 22px;line-height: 22px;">4-4</div>
|
<div id="loc-0200504" class="loc" style="top:458px; left:416px; width:70px; height: 22px;line-height: 22px;">5-4</div>
|
<div id="loc-0200604" class="loc" style="top:458px; left:488px; width:70px; height: 22px;line-height: 22px;">6-4</div>
|
<div id="loc-0200704" class="loc" style="top:458px; left:560px; width:70px; height: 22px;line-height: 22px;">7-4</div>
|
<div id="loc-0200804" class="loc" style="top:458px; left:632px; width:70px; height: 22px;line-height: 22px;">8-4</div>
|
<div id="loc-0200904" class="loc" style="top:458px; left:704px; width:70px; height: 22px;line-height: 22px;">9-4</div>
|
<div id="loc-0201004" class="loc" style="top:458px; left:776px; width:70px; height: 22px;line-height: 22px;">10-4</div>
|
<div id="loc-0201104" class="loc" style="top:458px; left:848px; width:70px; height: 22px;line-height: 22px;">11-4</div>
|
<div id="loc-0201204" class="loc" style="top:458px; left:920px; width:70px; height: 22px;line-height: 22px;">12-4</div>
|
<div id="loc-0201304" class="loc" style="top:458px; left:992px; width:70px; height: 22px;line-height: 22px;">13-4</div>
|
<div id="loc-0201404" class="loc" style="top:458px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-4</div>
|
<div id="loc-0201504" class="loc" style="top:458px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-4</div>
|
<div id="loc-0201604" class="loc" style="top:458px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-4</div>
|
<div id="loc-0201704" class="loc" style="top:458px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-4</div>
|
<div id="loc-0201804" class="loc" style="top:458px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-4</div>
|
</div>
|
<div class="">
|
<div id="loc-0200203" class="loc" style="top:482px; left:200px; width:70px; height: 22px;line-height: 22px;">2-3</div>
|
<div id="loc-0200303" class="loc" style="top:482px; left:272px; width:70px; height: 22px;line-height: 22px;">3-3</div>
|
<div id="loc-0200403" class="loc" style="top:482px; left:344px; width:70px; height: 22px;line-height: 22px;">4-3</div>
|
<div id="loc-0200503" class="loc" style="top:482px; left:416px; width:70px; height: 22px;line-height: 22px;">5-3</div>
|
<div id="loc-0200603" class="loc" style="top:482px; left:488px; width:70px; height: 22px;line-height: 22px;">6-3</div>
|
<div id="loc-0200703" class="loc" style="top:482px; left:560px; width:70px; height: 22px;line-height: 22px;">7-3</div>
|
<div id="loc-0200803" class="loc" style="top:482px; left:632px; width:70px; height: 22px;line-height: 22px;">8-3</div>
|
<div id="loc-0200903" class="loc" style="top:482px; left:704px; width:70px; height: 22px;line-height: 22px;">9-3</div>
|
<div id="loc-0201003" class="loc" style="top:482px; left:776px; width:70px; height: 22px;line-height: 22px;">10-3</div>
|
<div id="loc-0201103" class="loc" style="top:482px; left:848px; width:70px; height: 22px;line-height: 22px;">11-3</div>
|
<div id="loc-0201203" class="loc" style="top:482px; left:920px; width:70px; height: 22px;line-height: 22px;">12-3</div>
|
<div id="loc-0201303" class="loc" style="top:482px; left:992px; width:70px; height: 22px;line-height: 22px;">13-3</div>
|
<div id="loc-0201403" class="loc" style="top:482px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-3</div>
|
<div id="loc-0201503" class="loc" style="top:482px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-3</div>
|
<div id="loc-0201603" class="loc" style="top:482px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-3</div>
|
<div id="loc-0201703" class="loc" style="top:482px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-3</div>
|
<div id="loc-0201803" class="loc" style="top:482px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-3</div>
|
</div>
|
<div class="">
|
<div id="loc-0200202" class="loc" style="top:506px; left:200px; width:70px; height: 22px;line-height: 22px;">2-2</div>
|
<div id="loc-0200302" class="loc" style="top:506px; left:272px; width:70px; height: 22px;line-height: 22px;">3-2</div>
|
<div id="loc-0200402" class="loc" style="top:506px; left:344px; width:70px; height: 22px;line-height: 22px;">4-2</div>
|
<div id="loc-0200502" class="loc" style="top:506px; left:416px; width:70px; height: 22px;line-height: 22px;">5-2</div>
|
<div id="loc-0200602" class="loc" style="top:506px; left:488px; width:70px; height: 22px;line-height: 22px;">6-2</div>
|
<div id="loc-0200702" class="loc" style="top:506px; left:560px; width:70px; height: 22px;line-height: 22px;">7-2</div>
|
<div id="loc-0200802" class="loc" style="top:506px; left:632px; width:70px; height: 22px;line-height: 22px;">8-2</div>
|
<div id="loc-0200902" class="loc" style="top:506px; left:704px; width:70px; height: 22px;line-height: 22px;">9-2</div>
|
<div id="loc-0201002" class="loc" style="top:506px; left:776px; width:70px; height: 22px;line-height: 22px;">10-2</div>
|
<div id="loc-0201102" class="loc" style="top:506px; left:848px; width:70px; height: 22px;line-height: 22px;">11-2</div>
|
<div id="loc-0201202" class="loc" style="top:506px; left:920px; width:70px; height: 22px;line-height: 22px;">12-2</div>
|
<div id="loc-0201302" class="loc" style="top:506px; left:992px; width:70px; height: 22px;line-height: 22px;">13-2</div>
|
<div id="loc-0201402" class="loc" style="top:506px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-2</div>
|
<div id="loc-0201502" class="loc" style="top:506px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-2</div>
|
<div id="loc-0201602" class="loc" style="top:506px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-2</div>
|
<div id="loc-0201702" class="loc" style="top:506px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-2</div>
|
<div id="loc-0201802" class="loc" style="top:506px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-2</div>
|
</div>
|
<div class="">
|
<div id="loc-0200201" class="loc" style="top:530px; left:200px; width:70px; height: 22px;line-height: 22px;">2-1</div>
|
<div id="loc-0200301" class="loc" style="top:530px; left:272px; width:70px; height: 22px;line-height: 22px;">3-1</div>
|
<div id="loc-0200401" class="loc" style="top:530px; left:344px; width:70px; height: 22px;line-height: 22px;">4-1</div>
|
<div id="loc-0200501" class="loc" style="top:530px; left:416px; width:70px; height: 22px;line-height: 22px;">5-1</div>
|
<div id="loc-0200601" class="loc" style="top:530px; left:488px; width:70px; height: 22px;line-height: 22px;">6-1</div>
|
<div id="loc-0200701" class="loc" style="top:530px; left:560px; width:70px; height: 22px;line-height: 22px;">7-1</div>
|
<div id="loc-0200801" class="loc" style="top:530px; left:632px; width:70px; height: 22px;line-height: 22px;">8-1</div>
|
<div id="loc-0200901" class="loc" style="top:530px; left:704px; width:70px; height: 22px;line-height: 22px;">9-1</div>
|
<div id="loc-0201001" class="loc" style="top:530px; left:776px; width:70px; height: 22px;line-height: 22px;">10-1</div>
|
<div id="loc-0201101" class="loc" style="top:530px; left:848px; width:70px; height: 22px;line-height: 22px;">11-1</div>
|
<div id="loc-0201201" class="loc" style="top:530px; left:920px; width:70px; height: 22px;line-height: 22px;">12-1</div>
|
<div id="loc-0201301" class="loc" style="top:530px; left:992px; width:70px; height: 22px;line-height: 22px;">13-1</div>
|
<div id="loc-0201401" class="loc" style="top:530px; left:1064px; width:70px; height: 22px;line-height: 22px;">14-1</div>
|
<div id="loc-0201501" class="loc" style="top:530px; left:1136px; width:70px; height: 22px;line-height: 22px;">15-1</div>
|
<div id="loc-0201601" class="loc" style="top:530px; left:1208px; width:70px; height: 22px;line-height: 22px;">16-1</div>
|
<div id="loc-0201701" class="loc" style="top:530px; left:1280px; width:70px; height: 22px;line-height: 22px;">17-1</div>
|
<div id="loc-0201801" class="loc" style="top:530px; left:1352px; width:70px; height: 22px;line-height: 22px;">18-1</div>
|
|
<div class="rackDescs" id="lb_desc22" style="top:530px; left:1450px; width:150px;height: 23px;line-height: 23px">2排货架侧视图</div>
|
</div>
|
|
<div class="button item-group">
|
<span class="site machine-auto-flag" style="color:#FFFFFF; top:600px; left:300px">空库位</span>
|
<span class="site machine-stock-move-flag" style="color:#FFFFFF; top:600px; left:364px">在库待测</span>
|
<span class="site machine-site-move-flag" style="color:#FFFFFF; top:600px; left:442px">在库测试中</span>
|
<span class="site machine-take-flag" style="color:#FFFFFF; top:600px; left:534px">在库静置中</span>
|
<span class="site machine-put-flag" style="color:#FFFFFF; top:600px; left:626px">静置完成</span>
|
<span class="site machine-error-flag" style="color:#FFFFFF; top:600px; left:696px">异常报警</span>
|
</div>
|
|
<div id="body">
|
<!-- 总开关 -->
|
<div class="system-state">
|
<div class="body-head">总开关</div>
|
<div class="switch">
|
<div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div>
|
<div class="switch_r">
|
<p>系统状态</p>
|
<p id="system-run-desc">系统运行中</p>
|
</div>
|
</div>
|
</div>
|
<!-- 堆垛机状态 -->
|
<div class="machine-status">
|
<div class="body-head">堆垛机状态</div>
|
<div class="state">
|
<span>堆垛机 1</span>
|
<span class="state-ss machine-put-flag ">入库</span>
|
</div>
|
<div class="state">
|
<span>堆垛机 2</span>
|
<span class="state-ss machine-auto-flag ">自动</span>
|
|
</div>
|
<div class="button"><span>所有状态</span></div>
|
<div class="button 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="line-status">
|
<div class="body-head">输送线状态</div>
|
<div class="state states">
|
<span>运输线总数</span>
|
<span id="line-total" class="line-ss"></span>
|
</div>
|
<div class="button"><span>所有状态</span></div>
|
<div class="button 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 class="bar-code">
|
<div class="body-head" id="code">条码扫描器</div>
|
<div class="tablebox">
|
<div class="table-head">
|
<li><span>条码名称</span><span class="right">扫码时间</span></li>
|
</div>
|
<div id="barcode1" class="table-body">
|
|
</div>
|
</div>
|
<div class="tablebox">
|
<div class="table-head">
|
<li><span>条码名称</span><span class="right">扫码时间</span></li>
|
</div>
|
<div id="barcode2" class="table-body">
|
|
</div>
|
</div>
|
<div class="tablebox">
|
<div class="table-head">
|
<li><span>条码名称</span><span class="right">扫码时间</span></li>
|
</div>
|
<div id="barcode3" class="table-body">
|
|
</div>
|
</div>
|
</div>
|
</div>
|
<!-- 堆垛机弹窗 -->
|
<div id="crnWindow" style="display: none;" class="animate__animated animate__fadeIn">
|
<div id="crnWindow-head">
|
<div class='detailed'></div>
|
<button></button>
|
</div>
|
<form>
|
<!-- 堆垛机号 -->
|
<div class="form-item">
|
<div class="form-item-label" style>
|
<span>堆垛机号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="crnNo" value="">
|
</div>
|
</div>
|
<!-- 工作号 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>工作号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="workNo" value="">
|
</div>
|
</div>
|
<!-- 站源 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>站源:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="sourceStaNo" value="">
|
</div>
|
</div>
|
<!-- 目标站 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>目标站:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="staNo" value="">
|
</div>
|
</div>
|
<!-- 工作状态 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>工作状态:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="wrkSts" value="">
|
</div>
|
</div>
|
<!-- 出入类型 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>出入类型:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="ioType" value="">
|
</div>
|
</div>
|
<!-- 源库位 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>源库位:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="sourceLocNo" value="">
|
</div>
|
</div>
|
<!-- 目标库位 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>目标库位:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="locNo" value="">
|
</div>
|
</div>
|
<!-- 堆垛机状态 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>堆垛机状态:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="crnStatus" value="">
|
</div>
|
</div>
|
<!-- 异常 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>异常:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="error" value="">
|
</div>
|
</div>
|
</form>
|
</div>
|
|
<!-- 库位弹窗 -->
|
<div id="locWindow" style="display: none;" class="animate__animated animate__fadeIn">
|
<div id="locWindow-head">
|
<div class='detailed'></div>
|
<button></button>
|
</div>
|
<form>
|
<!-- 库位号 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>库位号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="locNo" value="">
|
</div>
|
</div>
|
<!-- 产品型号 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>产品型号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="matnr" value="">
|
</div>
|
</div>
|
<!-- PACK码 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>PACK码:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="zpallet" value="">
|
</div>
|
</div>
|
<!-- PACK状态 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>PACK状态:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="packStatus" value="">
|
</div>
|
</div>
|
</form>
|
</div>
|
<!-- 输送设备弹窗 -->
|
<div id="siteWindow" style="display: none;" class="animate__animated animate__fadeIn">
|
<!-- 表头 -->
|
<div id="siteWindow-head">
|
<div class='detailed'></div>
|
<button></button>
|
</div>
|
<form>
|
<!-- 设备号 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>设备号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="siteId" value="">
|
</div>
|
</div>
|
<!-- 工作号 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>工作号:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="workNo" value="">
|
</div>
|
</div>
|
<!-- 工作状态 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>工作状态:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="wrkSts" value="">
|
</div>
|
</div>
|
<!-- 自动 -->
|
<div class="form-item-checkbox">
|
<div class="form-item-label-checkbox">
|
<span>自动</span>
|
</div>
|
<div class="form-item-input-checkbox">
|
<input type="checkbox" name="autoing">
|
</div>
|
</div>
|
<!-- 有物 -->
|
<div class="form-item-checkbox">
|
<div class="form-item-label-checkbox">
|
<span>有物</span>
|
</div>
|
<div class="form-item-input-checkbox">
|
<input type="checkbox" name="loading">
|
</div>
|
</div>
|
<!-- 能入 -->
|
<div class="form-item-checkbox">
|
<div class="form-item-label-checkbox">
|
<span>能入</span>
|
</div>
|
<div class="form-item-input-checkbox">
|
<input type="checkbox" name="canining">
|
</div>
|
</div>
|
<!-- 能出 -->
|
<div class="form-item-checkbox">
|
<div class="form-item-label-checkbox">
|
<span>能出</span>
|
</div>
|
<div class="form-item-input-checkbox">
|
<input type="checkbox" name="canouting">
|
</div>
|
</div>
|
<!-- 出入类型 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>出入类型:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="ioType" value="">
|
</div>
|
</div>
|
<!-- 源站 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>源站:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="sourceStaNo" value="">
|
</div>
|
</div>
|
<!-- 目标站 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>目标站:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="staNo" value="">
|
</div>
|
</div>
|
<!-- 源库位 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>源库位:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="sourceLocNo" value="">
|
</div>
|
</div>
|
<!-- 目标库位 -->
|
<div class="form-item">
|
<div class="form-item-label">
|
<span>目标库位:</span>
|
</div>
|
<div class="form-item-input">
|
<input type="text" name="locNo" value="">
|
</div>
|
</div>
|
|
</form>
|
</div>
|
</div>
|
|
</body>
|
|
</html>
|
<script>
|
getMap();
|
</script>
|
<script>
|
setInterval(function () {
|
getCodeData();
|
renderBarCode();
|
}, 1000)
|
var tData = [],tData1 = [],tData2 = [],tData3 = [];
|
function getCodeData() {
|
$.ajax({
|
url: baseUrl + '/console/barcode/output/site',
|
method: 'GET',
|
success: function (res) {
|
if (res.code === 200) {
|
tData = eval(res.data);
|
if (tData.length <= 5) {
|
tData1 = tData
|
} else if (tData.length <= 10) {
|
tData1 = tData.slice(0, 5)
|
tData.splice(0, 5)
|
tData2 = tData
|
} else if (tData.length <= 15) {
|
tData1 = tData.slice(0, 5)
|
tData2 = tData.slice(6, 10)
|
tData.splice(0, 10)
|
tData3 = tData
|
} else {
|
tData = tData.slice(-15)
|
tData1 = tData.slice(-15)
|
tData2 = tData.slice(-10)
|
tData3 = tData.slice(-5)
|
}
|
}
|
}
|
})
|
}
|
function renderBarCode() {
|
for (var i = 0; i < tData1.length; i++) {
|
var str1 = '<li><span>' + tData1[i].barcode + '</span><span class="right">' + tData1[i].time + '</span></li>'
|
$('#barcode1').append(str1)
|
}
|
for (var j = 0; j < tData2.length; j++) {
|
var str2 = '<li><span>' + tData2[j].barcode + '</span><span class="right">' + tData2[j].time + '</span></li>'
|
$('#barcode2').append(str2)
|
}
|
for (var k = 0; k < tData3.length; k++) {
|
var str3 = '<li><span>' + tData3[k].barcode + '</span><span class="right">' + tData3[k].time + '</span></li>'
|
$('#barcode3').append(str3)
|
}
|
}
|
</script>
|
<script type="text/javascript">
|
// 弹窗站点信息
|
$('.site').on('click', function (e) {
|
var id = this.id.split("-")[1];
|
$("#siteWindow").attr("style", "display:block;");//显示div
|
$("#siteWindow").css('left', e.pageX+20);
|
$("#siteWindow").css('top', e.pageY+20);
|
$("#crnWindow").attr("style", "display:none;");
|
$("#locWindow").attr("style", "display:none;");
|
$(".detailed").empty();
|
$('.detailed').append(id + '站点详细信息');
|
$.ajax({
|
url: baseUrl + "/console/site/detail",
|
headers: {
|
'token': localStorage.getItem('token')
|
},
|
data: {
|
siteId: id
|
},
|
method: 'post',
|
success: 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');
|
}
|
}
|
}
|
|
})
|
|
});
|
// 堆垛机信息
|
$('.machine').on('click', function (e) {
|
var id = this.id.split("-")[1];
|
$("#crnWindow").attr('style', 'display:block;');
|
$("#crnWindow").css('left', e.pageX+20);
|
$("#crnWindow").css('top', e.pageY+20);
|
$("#siteWindow").attr("style", "display:none;");
|
$("#locWindow").attr("style", "display:none;");
|
$('.detailed').empty();
|
$('.detailed').append(id + '号堆垛机');
|
$.ajax({
|
url: baseUrl + "/console/crn/detail",
|
headers: {
|
'token': localStorage.getItem('token')
|
},
|
data: {
|
crnNo: id
|
},
|
method: 'post',
|
success: 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');
|
}
|
}
|
}
|
|
})
|
|
})
|
// 堆垛机信息
|
$('.loc').on('click', function (e) {
|
var id = this.id.split("-")[1];
|
$.ajax({
|
url: baseUrl + "/console/loc/detail",
|
headers: {
|
'token': localStorage.getItem('token')
|
},
|
data: {
|
locNo: id
|
},
|
method: 'post',
|
success: function (res) {
|
if (res.code === 200) {
|
$("#locWindow").attr('style', 'display:block;');
|
$("#locWindow").css('left', e.pageX+10);
|
$("#locWindow").css('top', e.pageY+10);
|
$("#siteWindow").attr("style", "display:none;");
|
$("#crnWindow").attr("style", "display:none;");
|
$('.detailed').empty();
|
$('.detailed').append('库位号:' + id );
|
for (var val in res.data) {
|
switch (res.data[val]) {
|
case "LOC_STAY_OVER" :
|
res.data[val] = "静置完成"
|
break;
|
case "LOC_STAY" :
|
res.data[val] = "在库静置中"
|
break;
|
case "LOC_WAIT_TESTINT" :
|
res.data[val] = "在库待测"
|
break;
|
case "LOC_TESTING" :
|
res.data[val] = "在库测试中"
|
break;
|
case "LOC_ERROR" :
|
res.data[val] = "异常报警"
|
break;
|
case "LOC_EMPTY" :
|
res.data[val] = "空库位"
|
break;
|
}
|
var find = $("#locWindow").find(":input[name='" + val + "']");
|
find.val(res.data[val]);
|
}
|
}
|
|
}
|
|
})
|
|
|
})
|
// 弹窗关闭
|
$('button').on('click', function () {
|
$('#siteWindow').attr('style', 'display:none')
|
$('#crnWindow').attr('style', 'display:none')
|
$('#locWindow').attr('style', 'display:none')
|
})
|
|
|
var crn1Position = 0;
|
var crn2Position = 0;
|
var crn3Position = 0;
|
var crn4Position = 0;
|
var crn5Position = 0;
|
|
// 初始化
|
getSitesInfo();
|
getCrnInfo();
|
getSystemRunningStatus();
|
getBarcodeInfo();
|
getScaleInfo();
|
getLocInfo();
|
// 实时访问
|
setInterval(function () {
|
getCrnInfo();
|
getSystemRunningStatus();
|
getBarcodeInfo();
|
getScaleInfo();
|
}, 1000);
|
setInterval(function () {
|
getSitesInfo();
|
getLocInfo();
|
}, 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) {
|
// console.log(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 = 0;//($('.item').eq(0).width() + 13) / 2;
|
if (crns[i].bay < 0) {
|
crns[i].bay = 1
|
}
|
// crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000);
|
// crns[i].bay = 1;
|
|
var offSet = 0;
|
switch (i) {
|
case 0:
|
unit = 34;
|
offSet = 337;
|
break;
|
case 1:
|
unit = 68;
|
offSet = 337;
|
break;
|
case 2:
|
unit = 17;
|
offSet = 337;
|
break;
|
}
|
|
if(crns[i].bay === 1){
|
crnEl.animate({left: offSet + 'px'}, 1000);
|
} else {
|
crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + '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 getInfo() {
|
|
}
|
|
// 库位实时数据获取
|
function getLocInfo() {
|
$.ajax({
|
url: baseUrl + "/console/latest/data/loc",
|
headers: {'token': localStorage.getItem('token')},
|
method: 'POST',
|
success: function (res) {
|
if (res.code === 200) {
|
var locs = res.data;
|
for (var i = 0; i < locs.length; i++) {
|
var siteEl = $("#loc-" + locs[i].locNo);
|
siteEl.attr("class", "loc " + locs[i].packStatus);
|
// debugger
|
// if (locs[i].workNo != null && locs[i].workNo > 0) {
|
// siteEl.html(locs[i].siteId + "[" + locs[i].workNo + "]");
|
// } else {
|
// siteEl.html(locs[i].siteId);
|
// }
|
// if (i + 1 === 8) {
|
// carAnimate(i + 1, Number(locs[i].nearbySta));
|
// }
|
}
|
} else if (res.code === 403) {
|
parent.location.href = baseUrl + "/login";
|
} else {
|
console.log(res.msg);
|
}
|
}
|
});
|
}
|
|
// 堆垛机偏移动画
|
function crnAnimate(id, leftVal) {
|
// console.log(crn1Position)
|
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;
|
case 3:
|
$("#crn-3").animate({left: leftVal + 'px'}, 1000);
|
crn3Position = leftVal;
|
break;
|
case 4:
|
$("#crn-4").animate({left: leftVal + 'px'}, 1000);
|
crn4Position = leftVal;
|
break;
|
case 5:
|
$("#crn-5").animate({left: leftVal + 'px'}, 1000);
|
crn5Position = leftVal;
|
break;
|
default:
|
break
|
}
|
}
|
|
// 小车偏移动画
|
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>
|