From 52a3d2b51c7ca58abcb0e31783671af98d526aef Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 22 十二月 2023 12:17:23 +0800
Subject: [PATCH] #检料盘点工作档更新

---
 src/main/webapp/views/shuttle.html |  574 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 301 insertions(+), 273 deletions(-)

diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html
index c0621a7..d11d3c5 100644
--- a/src/main/webapp/views/shuttle.html
+++ b/src/main/webapp/views/shuttle.html
@@ -13,209 +13,180 @@
     <script type="text/javascript" src="../static/js/common.js"></script>
 </head>
 <body>
-    <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%">
-            <!-- 鏃ュ織鐩戞帶鏉� -->
-            <div class="log-board">
-                <div class="command-log" id="commandLogId" style="width: 5%;">
-<!--                    <div data-shuttleNo="1" class="shuttle-command-item">-->
-<!--                        <label>1#</label>-->
-<!--                        <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>-->
-<!--                        <button id="mode-1" class="demoBtn mode-btn" >璁惧淇℃伅</button>-->
-<!--                    </div>-->
-                </div>
-                <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
-                <div class="shuttle-state" style="width: 95%;">
-                    <table id="shuttle-state-table">
-                        <thead>
-                            <tr>
-                                <th>鍥涘悜绌挎杞�</th>
-                                <th>浠诲姟鐘舵��</th>
-                                <th>灏忚溅鐘舵��</th>
-                                <th>褰撳墠浜岀淮鐮�</th>
-                                <th>鐢甸噺</th>
-                                <th>鐢垫睜娓╁害</th>
-                                <th>閿欒缂栧彿</th>
-                                <th>plc杈撳嚭鐘舵�両O-椤跺崌浣�</th>
-                                <th>plc杈撳嚭鐘舵�両O-鎹㈠悜浣�</th>
-                                <th>plc杈撳嚭鐘舵�両O-鎶遍椄浣�</th>
-                                <th>plc杈撳嚭鐘舵�両O-鍏呯數浣�</th>
-                                <th>閿欒淇℃伅鐮�</th>
-                                <th>plc杈撳叆鐘舵��(鍏夌數鏈夌墿)</th>
-                                <th>褰撳墠鎴栦箣鍓嶄簩缁寸爜</th>
-                                <th>x鍋忕Щ閲�</th>
-                                <th>y鍋忕Щ閲�</th>
-                                <th>鐢靛帇</th>
-                                <th>妯℃嫙閲�</th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                        </tbody>
-                    </table>
-                </div>
-            </div>
-            <!-- 绌挎杞︾姸鎬� -->
-            <div class="shuttle-msg">
-                <table id="shuttle-msg-table">
+<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%">
+        <!-- 鏃ュ織鐩戞帶鏉� -->
+        <div class="log-board">
+            <!--                <div class="command-log" id="commandLogId" style="width: 5%;">-->
+            <!--&lt;!&ndash;                    <div data-shuttleNo="1" class="shuttle-command-item">&ndash;&gt;-->
+            <!--&lt;!&ndash;                        <label>1#</label>&ndash;&gt;-->
+            <!--&lt;!&ndash;                        <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>&ndash;&gt;-->
+            <!--&lt;!&ndash;                        <button id="mode-1" class="demoBtn mode-btn" >璁惧淇℃伅</button>&ndash;&gt;-->
+            <!--&lt;!&ndash;                    </div>&ndash;&gt;-->
+            <!--                </div>-->
+            <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
+            <div class="shuttle-state" style="width: 100%;">
+                <table id="shuttle-state-table">
                     <thead>
-                        <tr>
-                            <th>鍥涘悜绌挎杞�</th>
-                            <th>宸ヤ綔鍙�</th>
-                            <th>鐘舵��</th>
-                            <th>婧愬簱浣�</th>
-                            <th>鐩爣搴撲綅</th>
-                            <th>鍗囬檷浼烘湇閫熷害</th>
-                            <th>琛岃蛋浼烘湇閫熷害</th>
-                            <th>鍗囬檷浼烘湇璐熻浇</th>
-                            <th>琛岃蛋浼烘湇璐熻浇</th>
-                            <th>浣滀笟鏍囪</th>
-                            <th>搴撲綅鍙�</th>
-                            <th>褰撳墠妤煎眰</th>
-                        </tr>
+                    <tr>
+                        <th>鍥涘悜绌挎杞�</th>
+                        <th>浠诲姟鐘舵��</th>
+                        <th>灏忚溅鐘舵��</th>
+                        <th>宸ヤ綔妯″紡</th>
+                        <th>瀹為檯搴撲綅</th>
+                        <th>瀹為檯鍧愭爣</th>
+                        <th>鐢甸噺</th>
+                        <th>褰撳墠閫熷害</th>
+                        <th>璐熻浇鐘舵��</th>
+                        <th>椤跺崌浣嶇疆</th>
+                        <th>杩愯鏂瑰悜</th>
+                        <th>杩愯鏂瑰悜2</th>
+                        <th>鍏呯數鐘舵��</th>
+                        <th>鏁呴殰鐘舵��</th>
+                        <th>鏁呴殰鐮�</th>
+                        <th>绠″埗鐘舵��</th>
+                        <th>浣庣數閲�</th>
+                    </tr>
                     </thead>
                     <tbody>
                     </tbody>
                 </table>
             </div>
-            <!-- 鎵嬪姩鎿嶄綔 -->
-            <div class="shuttle-operation">
-                <!-- 閬僵灞� -->
-                <div class="shuttle-operation-shade">
+        </div>
+        <!-- 绌挎杞︾姸鎬� -->
+        <div class="shuttle-msg">
+            <table id="shuttle-msg-table">
+                <thead>
+                <tr>
+                    <th>鍥涘悜绌挎杞�</th>
+                    <th>宸ヤ綔鍙�</th>
+                    <th>婧愬簱浣�</th>
+                    <th>鐩爣搴撲綅</th>
+                    <th>鏈�楂樼數鑺數鍘�</th>
+                    <th>鏈�浣庣數鑺數鍘�</th>
+                    <th>鐢垫睜鐢靛帇</th>
+                    <th>鍏呮斁鐢靛惊鐜鏁�</th>
+                    <th>鍓╀綑鐢甸噺</th>
+                    <th>鎬荤數閲�</th>
+                    <th>鎬婚噷绋嬫暟</th>
+                    <th>浣滀笟鏍囪</th>
+                    <th>褰撳墠搴撲綅</th>
+                    <th>浠ょ墝</th>
+                </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        <!-- 鎵嬪姩鎿嶄綔 -->
+        <div class="shuttle-operation">
+            <!-- 閬僵灞� -->
+            <div class="shuttle-operation-shade">
                     <span class="shuttle-operation-shade-span">
                         WCS 绯荤粺杩愯涓紝璇峰仠姝㈠悗鎿嶄綔
                     </span>
-                </div>
-                <!-- 璁惧浠诲姟閫夋嫨 -->
-                <div class="task-select">
-                    <!-- 閫夋嫨 -->
-                    <div id="shuttle-select" class="operator-item">
-                        <span class="select-title">鍥涘悜绌挎杞﹀彿</span>
-                        <div class="select-container" id="shuttleRadioBoxId">
-<!--                            <label><input type="radio" name="shuttleSelect" value="1" checked>&nbsp;1鍙风┛姊溅</label>-->
-                        </div>
+            </div>
+            <!-- 璁惧浠诲姟閫夋嫨 -->
+            <div class="task-select">
+                <!-- 閫夋嫨 -->
+                <div id="shuttle-select" class="operator-item" style="width: 100%;">
+                    <span class="select-title">鍥涘悜绌挎杞﹀彿</span>
+                    <div class="select-container" id="shuttleRadioBoxId" style="display: flex;flex-wrap: wrap;justify-content: center;align-items: center;">
+                        <!--                            <label><input type="radio" name="shuttleSelect" value="1" checked>&nbsp;1鍙风┛姊溅</label>-->
                     </div>
                 </div>
+            </div>
 
-                <!-- 璁惧浠诲姟鎿嶄綔 -->
-                <div class="task-operator">
-                    <fieldset style="height: auto;padding-bottom: 20px;">
-                        <legend>鎵嬪姩鎿嶄綔</legend>
-                        <div style="display: flex;">
-                            <div style="width: 30%;">
-                                <div class="operator-item" style="height: auto;width: 100%;">
-                                    <span class="select-title">婧愬簱浣�/鐩爣搴撲綅</span>
-                                    <div class="select-container" style="height: auto;padding: 30px 10px 20px 10px;">
-                                        <div class="select-container-item">
-                                            <span>婧愬簱浣�</span>
-                                            <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
-                                        </div>
-                                        <div class="select-container-item">
-                                            <span>鐩爣搴撲綅</span>
-                                            <label><input id="distLocNo" type="text" name="distLocNo" /></label>
-                                        </div>
-
-                                        <div style="margin-top: 10px;">
-                                            <button class="item" onclick="shuttleOperator(1)">鍏ュ簱</button>
-                                            <button class="item" onclick="shuttleOperator(2)">鍑哄簱</button>
-                                            <button class="item" onclick="shuttleOperator(14)">绉诲姩鍒扮洰鏍囧簱浣�</button>
-                                            <button class="item" onclick="shuttleOperator(16)">绉诲姩鍒版彁鍗囨満</button>
-                                        </div>
+            <!-- 璁惧浠诲姟鎿嶄綔 -->
+            <div class="task-operator">
+                <fieldset style="height: auto;padding-bottom: 20px;">
+                    <legend>鎵嬪姩鎿嶄綔</legend>
+                    <div style="display: flex;">
+                        <div style="width: 30%;">
+                            <div class="operator-item" style="height: auto;width: 100%;">
+                                <span class="select-title">婧愬簱浣�/鐩爣搴撲綅</span>
+                                <div class="select-container" style="height: auto;padding: 30px 10px 20px 10px;">
+                                    <div class="select-container-item">
+                                        <span>婧愬簱浣�</span>
+                                        <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
                                     </div>
-                                </div>
-                            </div>
-
-                            <div style="width: 40%;">
-                                <div class="operator-item" style="height: auto;width: 100%;">
-                                    <span class="select-title">鐩稿叧鎸囦护</span>
-                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
-                                        <div class="button-group">
-                                            <button class="item" onclick="shuttleOperator(3)">鎵樼洏椤跺崌</button>
-                                            <button class="item" onclick="shuttleOperator(4)">鎵樼洏涓嬮檷</button>
-                                            <button class="item" onclick="shuttleOperator(5)">宸︾Щ</button>
-                                            <button class="item" onclick="shuttleOperator(6)">鍙崇Щ</button>
-                                            <button class="item" onclick="shuttleOperator(7)">鍚庣Щ</button>
-                                            <button class="item" onclick="shuttleOperator(8)">鍓嶇Щ</button>
-                                            <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
-                                            <button class="item" onclick="shuttleOperator(10)">姝f柟鍚�(鍙�)瀵诲簱浣�</button>
-                                            <button class="item" onclick="shuttleOperator(11)">璐熸柟鍚�(宸�)瀵诲簱浣�</button>
-                                            <button class="item" onclick="shuttleOperator(12)">姝f柟鍚�(鍓�)瀵诲簱浣�</button>
-                                            <button class="item" onclick="shuttleOperator(13)">璐熸柟鍚�(鍚�)瀵诲簱浣�</button>
-                                            <button class="item" onclick="shuttleOperator(15)">鍏呯數寮�鍏�</button>
-                                        </div>
+                                    <div class="select-container-item">
+                                        <span>鐩爣搴撲綅</span>
+                                        <label><input id="distLocNo" type="text" name="distLocNo" /></label>
                                     </div>
-                                </div>
-                            </div>
 
-                            <div style="width: 20%;">
-                                <div class="operator-item" style="height: auto;width: 100%;">
-                                    <span class="select-title">璁剧疆閰嶇疆鍙傛暟</span>
-                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
-                                        <div class="select-container-item">
-                                            <span>杩愯閫熷害</span>
-                                            <label><input id="runSpeed" type="text" name="runSpeed" /></label>
-                                        </div>
-                                        <div class="select-container-item">
-                                            <span>鍏呯數闃堝��</span>
-                                            <label><input id="chargeLine" type="text" name="runSpeed" /></label>
-                                        </div>
-
-                                        <div>
-                                            <button class="item" onclick="shuttleParamSave()">淇濆瓨</button>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <div style="width: 15%;">
-                                <div class="operator-item" style="height: auto;width: 100%;">
-                                    <span class="select-title">閰嶇疆鍙傛暟</span>
-                                    <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
-                                        <div>杩愯閫熷害锛�<span id="runSpeedText"></span></div>
-                                        <div>鍏呯數闃堝�硷細<span id="chargeLineText"></span></div>
+                                    <div style="margin-top: 10px;">
+                                        <button class="item" onclick="shuttleOperator(18)">鎼繍璐х墿</button>
+                                        <button class="item" onclick="shuttleOperator(14)">绉诲姩鍒扮洰鏍囧簱浣�</button>
+                                        <button class="item" onclick="shuttleOperator(23)">绉诲姩鍒扮洰鏍囧簱浣�(浠诲姟)</button>
+                                        <!--                                            <button class="item" onclick="shuttleOperator(16)">绉诲姩鍒版彁鍗囨満</button>-->
                                     </div>
                                 </div>
                             </div>
                         </div>
-                    </fieldset>
-                </div>
 
+                        <div style="width: 40%;">
+                            <div class="operator-item" style="height: auto;width: 100%;">
+                                <span class="select-title">鐩稿叧鎸囦护</span>
+                                <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
+                                    <div class="button-group">
+                                        <button class="item" onclick="shuttleOperator(3)">鎵樼洏椤跺崌</button>
+                                        <button class="item" onclick="shuttleOperator(4)">鎵樼洏涓嬮檷</button>
+                                        <button class="item" onclick="shuttleOperator(15)">鍏呯數寮�鍏�</button>
+                                        <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
+                                        <button class="item" onclick="shuttleOperator(21)">绠″埗</button>
+                                        <button class="item" onclick="shuttleOperator(22)">鍙栨秷绠″埗</button>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </fieldset>
             </div>
-            <!-- 绌挎杞︽棩蹇楄緭鍑� -->
-            <div class="shuttle-output-board">
-                <textarea id="shuttle-output"></textarea>
-            </div>
+
+        </div>
+        <!-- 绌挎杞︽棩蹇楄緭鍑� -->
+        <div class="shuttle-output-board">
+            <textarea id="shuttle-output"></textarea>
         </div>
     </div>
+</div>
 
-    <div id="shuttle-detl" style="display: none">
-        <div>
-            <div class="form-item">
-                <label class="form-label">绌挎杞﹀彿:</label>
-                <div class="form-input">
-                    <input id="shuttleNo" name="shuttleNo" 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="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 id="shuttle-detl" style="display: none">
+    <div>
+        <div class="form-item">
+            <label class="form-label">绌挎杞﹀彿:</label>
+            <div class="form-input">
+                <input id="shuttleNo" name="shuttleNo" 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="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
+            </div>
+        </div>
+        <div class="form-item">
+            <label class="form-label">浠ょ墝:</label>
+            <div class="form-input">
+                <input id="token" name="token" 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>
     </div>
+</div>
 </body>
 </html>
 <script>
@@ -227,18 +198,46 @@
     var shuttleMsgTableFullRows = 0;
     // 鍒濆鍖�
     var shuttleOutputDom = document.getElementById("shuttle-output");
+
+    var ws = new WebSocket("ws://" + window.location.host + baseUrl + "/shuttle/websocket");
+
+    //褰揥ebSocket鍒涘缓鎴愬姛鏃讹紝瑙﹀彂onopen浜嬩欢
+    ws.onopen = function(){
+        console.log("open");
+    }
+
+    //褰撳鎴风鏀跺埌鏈嶅姟绔彂鏉ョ殑娑堟伅鏃讹紝瑙﹀彂onmessage浜嬩欢
+    ws.onmessage = function(e){
+        const result = JSON.parse(e.data);
+        if (result.url == "/shuttle/table/shuttle/state") {
+            setShuttleStateInfo(JSON.parse(result.data))
+            setShuttleMsgInfo(JSON.parse(result.data))
+        }else if (result.url == "/shuttle/output/shuttle") {
+            setShuttleOutput(JSON.parse(result.data))
+        }
+        // console.log(e.data,result);
+    }
+
+    //褰撳鎴风鏀跺埌鏈嶅姟绔彂閫佺殑鍏抽棴杩炴帴璇锋眰鏃讹紝瑙﹀彂onclose浜嬩欢
+    ws.onclose = function(e){
+        console.log("close");
+    }
+
+    //濡傛灉鍑虹幇杩炴帴銆佸鐞嗐�佹帴鏀躲�佸彂閫佹暟鎹け璐ョ殑鏃跺�欒Е鍙憃nerror浜嬩欢
+    ws.onerror = function(e) {
+        console.log(e);
+    }
+
     $(document).ready(function() {
         initShuttleStateTable();
         getShuttleStateInfo();
         initShuttleMsgTable();
-        getShuttleMsgInfo();
         operatorBlockShow();
         setShuttleRadio();
     });
 
     setInterval(function () {
-        getShuttleStateInfo()
-        getShuttleMsgInfo();
+        getShuttleStateInfo();
     },1000)
     setInterval(function () {
         getShuttleOutput();
@@ -272,9 +271,10 @@
             shuttleNo: $('#shuttleNo').val(),
             workNo: $('#workNo').val(),
             pakMk: $('#pakMk').val(),
+            token: $('#token').val(),
         }, function (res) {
             layer.msg("淇敼鎴愬姛", {icon: 1,});
-            layer.close(layerIdx);
+            layer.close(layerDetl);
         })
     })
 
@@ -315,108 +315,102 @@
 
     // 鍥涘悜绌挎杞︿俊鎭〃鑾峰彇 ---- 琛ㄤ竴
     function getShuttleStateInfo() {
+        sendWs(JSON.stringify({
+            "url": "/shuttle/table/shuttle/state",
+            "data": {}
+        }))
+    }
+
+    // 鍥涘悜绌挎杞︿俊鎭〃璁剧疆 ---- 琛ㄤ竴
+    function setShuttleStateInfo(res) {
         let tableEl = $('#shuttle-state-table');
-        $.ajax({
-            url: baseUrl+ "/shuttle/table/shuttle/state",
-            headers: {'token': localStorage.getItem('token')},
-            method: 'POST',
-            success: function (res) {
-                if (res.code === 200){
-                    let table = res.data;
-                    if (table.length > shuttleStateTableBlankRows && table.length !== shuttleStateTableFullRows) {
-                        initShuttleStateTable(table.length-shuttleStateTableBlankRows);
-                        shuttleStateTableFullRows = table.length;
-                    }
-                    for (let i=1;i<=table.length;i++){
-                        // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
-                        let tr = tableEl.find("tr").eq(i);
-                        setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
-                        setVal(tr.children("td").eq(1), table[i-1].status$);
-                        setVal(tr.children("td").eq(2), table[i-1].busyStatus);
-                        setVal(tr.children("td").eq(3), table[i-1].currentCode);
-                        setVal(tr.children("td").eq(4), table[i-1].batteryPower);
-                        setVal(tr.children("td").eq(5), table[i-1].batteryTemp);
-                        setVal(tr.children("td").eq(6), table[i-1].errorCode);
-                        setVal(tr.children("td").eq(7), table[i-1].plcOutputLift$);//椤跺崌浣�
-                        setVal(tr.children("td").eq(8), table[i-1].plcOutputTransfer$);//鎹㈠悜浣�
-                        setVal(tr.children("td").eq(9), table[i-1].plcOutputBrake$);//鎶遍椄浣�
-                        setVal(tr.children("td").eq(10), table[i-1].plcOutputCharge$);//鍏呯數浣�
-                        setVal(tr.children("td").eq(11), table[i-1].statusErrorCode);
-                        setVal(tr.children("td").eq(12), table[i-1].plcInputStatus);
-                        setVal(tr.children("td").eq(13), table[i-1].currentOrBeforeCode);
-                        setVal(tr.children("td").eq(14), table[i-1].codeOffsetX);
-                        setVal(tr.children("td").eq(15), table[i-1].codeOffsetY);
-                        setVal(tr.children("td").eq(16), table[i-1].currentVoltage$);
-                        setVal(tr.children("td").eq(17), table[i-1].currentAnalogValue);
-                    }
-                } else if (res.code === 403){
-                    window.location.href = baseUrl+"/login";
-                }  else {
-                    console.log(res.msg);
-                }
+        if (res.code === 200){
+            let table = res.data;
+            if (table.length > shuttleStateTableBlankRows && table.length !== shuttleStateTableFullRows) {
+                initShuttleStateTable(table.length-shuttleStateTableBlankRows);
+                shuttleStateTableFullRows = table.length;
             }
-        });
+            for (let i=1;i<=table.length;i++){
+                // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
+                let tr = tableEl.find("tr").eq(i);
+                setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
+                setVal(tr.children("td").eq(1), table[i-1].protocolStatus$);
+                setVal(tr.children("td").eq(2), table[i-1].free$);
+                setVal(tr.children("td").eq(3), table[i-1].workingMode$);
+                setVal(tr.children("td").eq(4), table[i-1].point$);
+                setVal(tr.children("td").eq(5), table[i-1].point$$);
+                setVal(tr.children("td").eq(6), table[i-1].powerPercent$);
+                setVal(tr.children("td").eq(7), table[i-1].speed);
+                setVal(tr.children("td").eq(8), table[i-1].loadState$);
+                setVal(tr.children("td").eq(9), table[i-1].liftPosition$);
+                setVal(tr.children("td").eq(10), table[i-1].runDir$);
+                setVal(tr.children("td").eq(11), table[i-1].runDir2$);
+                setVal(tr.children("td").eq(12), table[i-1].chargState$);
+                setVal(tr.children("td").eq(13), table[i-1].errState$);
+                setVal(tr.children("td").eq(14), table[i-1].errCode$);
+                setVal(tr.children("td").eq(15), table[i-1].suspendState$);
+                setVal(tr.children("td").eq(16), table[i-1].lowerPower);
+            }
+        } else if (res.code === 403){
+            window.location.href = baseUrl+"/login";
+        }  else {
+            console.log(res.msg);
+        }
     }
 
     // 鍥涘悜绌挎杞︽暟鎹〃鑾峰彇 ---- 琛ㄤ簩
-    function getShuttleMsgInfo() {
+    function setShuttleMsgInfo(res) {
         let tableEl = $('#shuttle-msg-table');
-        $.ajax({
-            url: baseUrl+ "/shuttle/table/shuttle/msg",
-            headers: {'token': localStorage.getItem('token')},
-            method: 'POST',
-            success: function (res) {
-                if (res.code === 200){
-                    var table = res.data;
-                    if (table.length > shuttleMsgTableBlankRows && table.length !== shuttleMsgTableFullRows) {
-                        initShuttleMsgTable(table.length-shuttleMsgTableBlankRows);
-                        shuttleMsgTableFullRows = table.length;
-                    }
-                    for (var i=1;i<=table.length;i++){
-                        var tr = tableEl.find("tr").eq(i);
-                        setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
-                        setVal(tr.children("td").eq(1), table[i-1].workNo);
-                        setVal(tr.children("td").eq(2), table[i-1].status);
-                        setVal(tr.children("td").eq(3), table[i-1].sourceLocNo);
-                        setVal(tr.children("td").eq(4), table[i-1].distLocNo);
-                        setVal(tr.children("td").eq(5), table[i-1].currentLiftServoSpeed);
-                        setVal(tr.children("td").eq(6), table[i-1].currentMoveServoSpeed);
-                        setVal(tr.children("td").eq(7), table[i-1].currentLiftServoLoad);
-                        setVal(tr.children("td").eq(8), table[i-1].currentMoveServoLoad);
-                        setVal(tr.children("td").eq(9), table[i-1].pakMk);
-                        setVal(tr.children("td").eq(10), table[i-1].locNo);
-                        setVal(tr.children("td").eq(11), table[i-1].lev);
-
-                        if (table[i-1].shuttleNo == parseInt($('input[name="shuttleSelect"]:checked').val())) {
-                            $("#runSpeedText").text(table[i-1].runSpeed)
-                            $("#chargeLineText").text(table[i-1].chargeLine + "%")
-                        }
-                    }
-                } else if (res.code === 403){
-                    window.location.href = baseUrl+"/login";
-                }  else {
-                    console.log(res.msg);
+        if (res.code === 200){
+            var table = res.data;
+            if (table.length > shuttleMsgTableBlankRows && table.length !== shuttleMsgTableFullRows) {
+                initShuttleMsgTable(table.length-shuttleMsgTableBlankRows);
+                shuttleMsgTableFullRows = table.length;
+            }
+            for (var i=1;i<=table.length;i++){
+                var tr = tableEl.find("tr").eq(i);
+                setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
+                setVal(tr.children("td").eq(1), table[i-1].taskNo);
+                setVal(tr.children("td").eq(2), table[i-1].sourceLocNo);
+                setVal(tr.children("td").eq(3), table[i-1].locNo);
+                setVal(tr.children("td").eq(4), table[i-1].maxCellVoltage$);
+                setVal(tr.children("td").eq(5), table[i-1].minCellVoltage$);
+                setVal(tr.children("td").eq(6), table[i-1].voltage$);
+                setVal(tr.children("td").eq(7), table[i-1].chargeCycleTimes);
+                setVal(tr.children("td").eq(8), table[i-1].surplusQuantity);
+                setVal(tr.children("td").eq(9), table[i-1].countQuantity);
+                setVal(tr.children("td").eq(10), table[i-1].statusSum ? table[i - 1].statusSum.mileage : '');
+                setVal(tr.children("td").eq(11), table[i-1].pakMk$);
+                setVal(tr.children("td").eq(12), table[i-1].currentLocNo);
+                setVal(tr.children("td").eq(13), table[i-1].token);
+                if (table[i-1].shuttleNo == parseInt($('input[name="shuttleSelect"]:checked').val())) {
+                    $("#runSpeedText").text(table[i-1].runSpeed)
+                    $("#chargeLineText").text(table[i-1].chargeLine + "%")
                 }
             }
-        });
+        } else if (res.code === 403){
+            window.location.href = baseUrl+"/login";
+        }  else {
+            console.log(res.msg);
+        }
     }
 
     // 绌挎杞︽棩蹇楄緭鍑� -----------------------------------------------------------------------
     function getShuttleOutput() {
-        $.ajax({
-            url: baseUrl + "/shuttle/output/shuttle",
-            headers: {'token': localStorage.getItem('token')},
-            method: 'POST',
-            success: function (res) {
-                if (res.code === 200) {
-                    shuttleOutput(res.data);
-                } else if (res.code === 403) {
-                    window.location.href = baseUrl + "/login";
-                } else {
-                    console.log(res.msg);
-                }
-            }
-        })
+        sendWs(JSON.stringify({
+            "url": "/shuttle/output/shuttle",
+            "data": {}
+        }))
+    }
+
+    function setShuttleOutput(res) {
+        if (res.code === 200) {
+            shuttleOutput(res.data);
+        } else if (res.code === 403) {
+            window.location.href = baseUrl + "/login";
+        } else {
+            console.log(res.msg);
+        }
     }
 
     // 浠诲姟鎸囦护涓嬪彂
@@ -429,6 +423,32 @@
         }, function (res) {
             layer.msg(res.msg, {icon: 1});
         });
+    }
+
+    // 璺戝簱
+    function moveLoc() {
+        $.ajax({
+            url: baseUrl + "/shuttle/moveLoc",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            data: {
+                shuttleNo: $('input[name="shuttleSelect"]:checked').val(),
+                xStart: $("#xStart").val(),
+                xTarget: $("#xTarget").val(),
+                yStart: $("#yStart").val(),
+                yTarget: $("#yTarget").val(),
+                moveType: $('input[name="moveType"]:checked').val()
+            },
+            success: function (res) {
+                if (res.code === 200) {
+                    layer.msg(res.msg, {icon: 1});
+                } else if (res.code === 403) {
+                    window.location.href = baseUrl + "/login";
+                } else {
+                    console.log(res.msg);
+                }
+            }
+        })
     }
 
 
@@ -554,7 +574,7 @@
                 content: $("#shuttle-detl"),
                 success: function(layero, index){
                     $.ajax({
-                        url: baseUrl+ "/shuttle/table/shuttle/msg",
+                        url: baseUrl+ "/shuttle/table/shuttle/state",
                         headers: {'token': localStorage.getItem('token')},
                         method: 'POST',
                         success: function (res) {
@@ -563,8 +583,9 @@
                                 for (var i=1;i<=table.length;i++){
                                     if (shuttleNo == table[i-1].shuttleNo) {
                                         $('#shuttleNo').val(shuttleNo);
-                                        $('#workNo').val(table[i-1].workNo);
-                                        $('#pakMk').val(table[i-1].pakMk);
+                                        $('#workNo').val(table[i-1].taskNo);
+                                        $('#pakMk').val(table[i-1].pakMk$);
+                                        $('#token').val(table[i-1].token);
                                     }
                                 }
                             } else if (res.code === 403){
@@ -579,6 +600,7 @@
                     $('#shuttleNo').val("");
                     $('#workNo').val("");
                     $('#pakMk').val("");
+                    $('#token').val("");
                 }
             })
         }
@@ -588,8 +610,14 @@
         $('#shuttleNo').val("");
         $('#workNo').val("");
         $('#pakMk').val("");
+        $('#token').val("");
         layer.close(layerDetl);
     })
 
+    function sendWs(message) {
+        if (ws.readyState == WebSocket.OPEN) {
+            ws.send(message)
+        }
+    }
 
 </script>

--
Gitblit v1.9.1