From d62951d7c0947303fc6eed23a664c162f2ea0010 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 05 十二月 2025 09:07:32 +0800
Subject: [PATCH] #
---
src/main/webapp/views/console.html | 1195 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 826 insertions(+), 369 deletions(-)
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 8a891a2..b2c4243 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -1,383 +1,840 @@
<!DOCTYPE html>
<html lang="en">
<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">
- <style>
- /* 绔欑偣 */
- .site {
- color: #333;
- height: 20px;
- border: 1px solid #fff;
- cursor: pointer;
- width: 50px;
- text-align: center;
- background-color: #21ff3a;
- font-size: 13px;
- }
- /* 鏃犳晥绔欑偣锛堝繀椤诲湪site涓嬮潰锛� */
- .site-none {
- border: none;
- background-color: transparent;
- }
-
- .main-part {
- position: absolute;
- top: 200px;
- left: 400px;
- /*transform: translate(-50%, 0);*/
- }
-
- /* --------- 杈撻�佺嚎鎬绘垚 --------- */
- /* 杈撻�佺嚎绗竴鍒� */
- .site-row-1 {
- position: absolute;
- left: 200px;
- top: 72px;
- }
- .site-row-1 .site {
- width: 100px;
- }
- /* 杈撻�佺嚎绗簩鍒� */
- .site-row-2 {
- position: absolute;
- left: 300px;
- top: 72px;
- }
- .site-row-2 .site {
- width: 100px;
- }
- /* 杈撻�佺嚎绗笁鍒� */
- .site-row-3 {
- position: absolute;
- left: 400px;
- top: 72px;
- width: 100px;
- }
- .site-row-3 .site {
- float: left;
- width: 100px;
- }
- /* 杈撻�佺嚎绗洓鍒� */
- .site-row-4 {
- position: absolute;
- left: 500px;
- top: 72px;
- width: 100px;
- }
- .site-row-4 .site {
- float: right;
- width: 100px;
- }
-
- </style>
+ <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>
</head>
<body>
-<header>
- <span>鎻忚堪淇℃伅</span>
-</header>
-<main>
+ <div id="main">
+ <div class="head">
+ <div class="head-left">
+ <h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
+ <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
+ <button class="zoom-btn" id="zoomBtn">缂╁皬缃戦〉姣斾緥</button>
+ </div>
+ <div class="head-right">
+ <img src="../static/images/zy-logo.png" alt="涓壃" height="44" width="80">
+ </div>
+ </div>
+ <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
+ <div class="main-part">
- <!-- 宸﹁緭閫佺嚎 -->
- <!-- 绗竴鍒楋紙瀹藉害 100px锛�-->
- <div class="site-row-1">
- <div id="site-1" class="site" style="width: 80px; height: 50px;line-height: 50px">1[9999]</div>
- <div id="site-2" class="site" >2</div>
- <div id="site-3" class="site" style="width: 80px; height: 30px;line-height: 30px">3</div>
- <div id="site-4" class="site" style="width: 80px; height: 60px;line-height: 60px">4</div>
- <div id="site-5" class="site" style="width: 80px; height: 50px;line-height: 50px">5</div>
- <div id="site-6" class="site" >6</div>
- <div id="site-7" class="site" style="width: 80px; height: 82px;line-height: 82px">7</div>
- <div id="site-8" class="site" style="width: 80px; height: 42px;line-height: 40px">8</div>
- <div id="site-9" class="site" >9</div>
- </div>
- <!-- 绗簩鍒楋紙瀹藉害 100px锛� -->
- <div class="site-row-2">
- <div id="site-32" class="site" style="width: 80px; height: 50px;line-height: 50px">32</div>
- <div id="site-31" class="site" >31</div>
- <div id="site-30" class="site" style="width: 80px; height: 30px;line-height: 30px">30</div>
- <div id="site-23" class="site" >23</div>
- <div id="site-22" class="site" style="width: 80px; height: 50px;line-height: 50px">22</div>
- <div id="site-20" class="site" >20</div>
- <div id="site-19" class="site" style="width: 80px;">19</div>
- <div id="site-17" class="site" >17</div>
- <div id="site-16" class="site" style="width: 80px; height: 42px;line-height: 40px">16</div>
- <div id="site-15" class="site" style="width: 80px; height: 42px;line-height: 40px">15</div>
- <div id="site-13" class="site" >13</div>
- <div id="site-12" class="site" style="width: 80px;">12</div>
- <div id="site-10" class="site" >10</div>
- </div>
- <!-- 绗笁鍒楋紙瀹藉害 100px锛�-->
- <div class="site-row-3">
- <div class="site-none" style="width: 80px; height: 50px;line-height: 50px"></div>
- <div id="site-29" class="site" style="width: 50px;">29</div>
- <div id="site-28" class="site" style="width: 50px;">28</div>
- <div class="site-none" style="width: 80px; height: 50px;line-height: 30px"></div>
- <div id="site-24" class="site" >24</div>
- </div>
- <!-- 绗笁鍒楋紙瀹藉害 100px锛�-->
- <div class="site-row-4">
- <div class="site-none" style="width: 80px; height: 50px;line-height: 50px"></div>
- <div id="site-27" class="site" >27</div>
- <div id="site-26" class="site" style="width: 80px; height: 30px;line-height: 30px">26</div>
- <div id="site-25" class="site" >25</div>
- </div>
+ </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 class="main-part">
- <!--绗竴鎺�-->
- <span class="row-no">1#</span>
- <!-- 璐ф灦 -->
- <div class="stock-group">
- <div class="site site-none"> </div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
- </div>
- <div class="stock-group">
- <div id="site-21" class="site">21</div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
- </div>
- <!-- 鍫嗗灈鏈� -->
- <div class="crn">
- <hr class="pathway">
- <div class="machine" style="margin-left: 30px"></div>
- </div>
- <!-- 璐ф灦 -->
- <div class="stock-group">
- <div id="site-18" class="site">18</div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
- </div>
- <div class="stock-group">
- <div class="site site-none"> </div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
- </div>
- <br>
+ </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">
- <!--绗簩鎺�-->
- <span class="row-no">2#</span>
- <!-- 璐ф灦 -->
- <div class="stock-group">
- <div class="site site-none"> </div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
+ </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 class="stock-group">
- <div id="site-14" class="site">14</div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </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 class="crn">
- <hr class="pathway">
- <div class="machine"></div>
- </div>
- <!-- 璐ф灦 -->
- <div class="stock-group">
- <div id="site-11" class="site">11</div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </div>
- </div>
- <div class="stock-group">
- <div class="site site-none"> </div>
- <button class="item">1</button>
- <button class="item">2</button>
- <button class="item">3</button>
- <button class="item">4</button>
- <button class="item">5</button>
- <button class="item">6</button>
- <button class="item">7</button>
- <button class="item">8</button>
- <button class="item">9</button>
- <button class="item">10</button>
- <button class="item">11</button>
- <button class="item">12</button>
- <button class="item">13</button>
- <button class="item">14</button>
- <button class="item">15</button>
- <button class="item">16</button>
- <button class="item">17</button>
- <button class="item">18</button>
- <button class="item">19</button>
- <button class="item">20</button>
- <button class="item">21</button>
- <button class="item">22</button>
- <button class="item">23</button>
- <button class="item">24</button>
- <div class="site site-none"> </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>
- <!-- 鍙宠緭閫佺嚎 -->
-</main>
+
</body>
-</html>
\ No newline at end of file
+
+</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) {
+ // console.log(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">
+ // 寮圭獥绔欑偣淇℃伅
+ $(document).on('click', '.site' ,function () {
+ var id = this.id.split("-")[1];
+ $("#siteWindow").css("display", "block");//鏄剧ずdiv
+ $("#crnWindow").css("display", "none");
+ $(".detailed").empty().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.prop("checked", res.data[val] === 'Y');
+ }
+ }
+ }
+
+ })
+
+ });
+ // 鍫嗗灈鏈轰俊鎭�
+ $(document).on('click', '.machine',function () {
+ var id = this.id.split("-")[1];
+ $("#crnWindow").css("display","block");
+ $("#siteWindow").css("display","none");
+ $(".detailed").empty().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.prop("checked", res.data[val] === 'Y')
+ }
+ }
+
+ }
+ })
+
+ })
+ // 寮圭獥鍏抽棴
+ $('button').on('click', function () {
+ $('#siteWindow').attr('style', 'display:none')
+ $('#crnWindow').attr('style', 'display:none')
+ })
+
+
+ var crn1Position = 0;
+ var crn2Position = 0;
+ var crn3Position = 0;
+ var crn4Position = 0;
+ var crn5Position = 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绯荤粺
+ }
+ }
+
+ // 璇锋眰鏈嶅姟鍣ㄦ帶鍒秝cs绯荤粺杩愯鐘舵��
+ 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);
+ }
+ }
+ });
+ }
+
+ // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙朿sxit
+ 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);
+ // console.log(sites[i].siteStatus);
+ 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 (sites[i].siteId === '1' || sites[i].siteId === '2' || sites[i].siteId === '3'|| sites[i].siteId === '4') {
+
+ carAnimate(Number(sites[i].siteId), 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 === -2) {
+ crns[i].bay = 1
+ }
+ // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000);
+ // crns[i].bay = 15;
+ var offSet = 120;
+ unit = 15;
+
+
+ if(crns[i].bay === 1){
+ crnEl.animate({left: offSet + 'px'}, 10);
+ } else {
+ crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 10);
+ }
+
+ }
+ } 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++) {
+ $("#barcode-"+barcodes[i].barcodeId).html(barcodes[i].codeValue ? 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) {
+ // 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 = 0;
+
+ // 纭繚 target 鏄湁鏁堢殑绔欑偣
+ if (target === -1) {
+ console.log("绔欑偣鏃犳晥锛岃烦杩囧姩鐢�");
+ return; // 璺宠繃鏃犳晥绔欑偣
+ }
+
+ // 璁$畻鐩爣绔欑偣鐨� top 鍊�
+ switch (target) {
+ case 1004:
+ targetTop += 84;
+ break;
+ case 1007:
+ targetTop += 128;
+ break;
+ case 1010:
+ targetTop += 190;
+ break;
+ case 1014:
+ targetTop += 240;
+ break;
+ case 1018:
+ targetTop += 300;
+ break;
+ case 1021:
+ targetTop += 350;
+ break;
+ case 1024:
+ targetTop += 415;
+ break;
+ case 1028:
+ targetTop += 465;
+ break;
+ case 1031:
+ targetTop += 530;
+ break;
+ case 1035:
+ targetTop += 580;
+ break;
+ case 2003:
+ targetTop += 84;
+ break;
+ case 2006:
+ targetTop += 128;
+ break;
+ case 2009:
+ targetTop += 190;
+ break;
+ case 2012:
+ targetTop += 240;
+ break;
+ case 2015:
+ targetTop += 300;
+ break;
+ case 2018:
+ targetTop += 350;
+ break;
+ case 2021:
+ targetTop += 415;
+ break;
+ case 2024:
+ targetTop += 465;
+ break;
+ case 2027:
+ targetTop += 530;
+ break;
+ case 2030:
+ targetTop += 580;
+ break;
+ default:
+ console.log("鏃犳晥鐨勭洰鏍囩珯鐐癸細" + target);
+ return; // 鏃犳晥鐨勭珯鐐癸紝璺宠繃
+ }
+
+ // 纭繚鐩爣绔欑偣鐨� DOM 鍏冪礌瀛樺湪
+ var siteElement = $("#site-" + id);
+ if (!siteElement.length) {
+ console.log("鏈壘鍒扮珯鐐瑰厓绱狅細" + id);
+ return; // 濡傛灉绔欑偣鍏冪礌涓嶅瓨鍦紝璺宠繃
+ }
+
+ // 鑾峰彇褰撳墠绔欑偣浣嶇疆
+ var currentTop = siteElement.position().top;
+
+ // 璁$畻涓や釜绔欑偣涔嬮棿鐨勮窛绂�
+ var distance = Math.abs(targetTop - currentTop);
+
+ // 璁$畻鍔ㄧ敾鏃堕棿锛岃窛绂昏秺杩滄椂闂磋秺闀匡紝鏈�灏忔椂闂翠负500ms锛屾渶澶т负2000ms
+ var duration = Math.max(500, Math.min(distance / 2, 2000));
+
+ // 鎵ц鍔ㄧ敾锛屽钩婊戝湴绉诲姩鍒扮洰鏍囦綅缃�
+ siteElement.animate({ top: targetTop + 'px' }, duration);
+ }
+
+
+
+ // 妫�鏌� URL 涓槸鍚﹀寘鍚� fullscreen=true 鍙傛暟
+ function checkFullscreen() {
+ const urlParams = new URLSearchParams(window.location.search);
+ const fullscreen = urlParams.get('fullscreen');
+ if (fullscreen === 'true') {
+ enterFullscreen();
+ }
+ }
+
+ // 杩涘叆鍏ㄥ睆妯″紡
+ function enterFullscreen() {
+ if (!document.fullscreenElement) {
+ if (document.documentElement.requestFullscreen) {
+ document.documentElement.requestFullscreen();
+ } else if (document.documentElement.mozRequestFullScreen) { // Firefox
+ document.documentElement.mozRequestFullScreen();
+ } else if (document.documentElement.webkitRequestFullscreen) { // Chrome, Safari, Opera
+ document.documentElement.webkitRequestFullscreen();
+ } else if (document.documentElement.msRequestFullscreen) { // IE/Edge
+ document.documentElement.msRequestFullscreen();
+ }
+ }
+ }
+
+ // 鎸夐挳鐐瑰嚮浜嬩欢锛岃Е鍙戠缉鏀�
+ document.getElementById('zoomBtn').addEventListener('click', function() {
+ simulateCtrlWheelZoomOut();
+ });
+
+ // 妯℃嫙 Ctrl + 婊氳疆涓嬫粦鏉ョ缉灏忕綉椤�
+ function simulateCtrlWheelZoomOut() {
+ let scale = 1; // 榛樿缂╂斁姣斾緥
+
+ // 鑾峰彇褰撳墠椤甸潰鐨勭缉鏀炬瘮渚�
+ let currentScale = window.getComputedStyle(document.body).transform;
+ if (currentScale !== 'none') {
+ scale = parseFloat(currentScale.match(/matrix\((.*)\)/)[1].split(',')[0]);
+ }
+
+ // 璁$畻鏂扮殑缂╂斁姣斾緥锛屾ā鎷熺缉灏�
+ let newScale = scale * 0.9; // 姣忔鐐瑰嚮缂╁皬10%
+
+ // 搴旂敤鏂扮殑缂╂斁姣斾緥
+ document.body.style.transform = 'scale(' + newScale + ')';
+ document.body.style.transformOrigin = 'top left'; // 璁剧疆缂╂斁鍘熺偣
+ }
+
+
+
+</script>
\ No newline at end of file
--
Gitblit v1.9.1