From c2b0be1a368a88e4adb6dda12d0aa5d3bb0df838 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 27 六月 2023 16:50:50 +0800
Subject: [PATCH] 搜索最近穿梭车,提升机完成方法

---
 src/main/webapp/views/console.html |  258 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 168 insertions(+), 90 deletions(-)

diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index e603912..8f36d8b 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -5,6 +5,7 @@
     <title>WCS鎺у埗涓績</title>
     <link rel="stylesheet" href="../static/css/console.css">
     <link rel="stylesheet" href="../static/css/animate.min.css">
+    <link rel="stylesheet" href="../static/css/toggle-switch.css">
     <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
     <script src="../static/js/layer/layer.js"></script>
     <script type="text/javascript" src="../static/js/common.js"></script>
@@ -23,7 +24,8 @@
                 <button class="floorBtn  btn-16" onclick="changFloor(this,3)" style="margin-top: 250px">3F</button>
                 <button class="floorBtn  btn-16" onclick="changFloor(this,4)" style="margin-top: 300px">4F</button>
             </div>
-            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 350px">娴嬭瘯绉诲姩杞�</button>
+            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 350px;font-size: 14px;">娴嬭瘯绉诲姩杞�</button>
+            <button class="floorBtn  btn-16" onclick="resetMap()" style="margin-top: 400px;font-size: 14px;">閲嶇疆鍦板浘</button>
 
         <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
         <div class="main-part">
@@ -38,35 +40,51 @@
         <div class="system-state">
             <div class="body-head">鎬诲紑鍏�</div>
             <div class="switch">
-                <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div>
+                <label id="system-toggle" class="toggle-switch" style="margin-left: 20px;">
+                    <input id="system-toggle-checked" checked="checked" type="checkbox">
+                    <div class="button">
+                        <div class="light"></div>
+                        <div class="dots"></div>
+                        <div class="characters"></div>
+                        <div class="shine"></div>
+                        <div class="shadow"></div>
+                    </div>
+                </label>
+
                 <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 class="line-status">
+            <div class="body-head">绌挎杞︾姸鎬�</div>
+            <div id="shuttle-status-box">
             </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>
+                <span class="shuttle-idle">绌洪棽</span>
+                <span class="shuttle-working">浣滀笟涓�</span>
+                <span class="shuttle-waiting">绛夊緟纭</span>
+                <span class="shuttle-charging">鍏呯數涓�</span>
+                <span class="shuttle-charging-waiting">鍏呯數浠诲姟绛夊緟纭</span>
+                <span class="shuttle-fixing">鏁呴殰淇涓�</span>
+                <span class="shuttle-offline">绂荤嚎</span>
+            </div>
+        </div>
+        <!-- 鎻愬崌鏈虹姸鎬� -->
+        <div class="line-status">
+            <div class="body-head">鎻愬崌鏈虹姸鎬�</div>
+            <div id="lift-status-box">
+
+            </div>
+            <div class="button"><span>鎵�鏈夌姸鎬�</span></div>
+            <div class="button item-group">
+                <span class="lift-idle">绌洪棽</span>
+                <span class="lift-working">浣滀笟涓�</span>
+                <span class="lift-waiting">绛夊緟纭</span>
+                <span class="lift-offline">绂荤嚎</span>
             </div>
         </div>
         <!-- 杈撻�佺嚎鐘舵�� -->
@@ -101,14 +119,6 @@
                     <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>
@@ -404,7 +414,44 @@
 
     setInterval(() => {
         getShuttleStateInfo()
+        getLiftStateInfo()
     },1000)
+
+    // 鎻愬崌鏈轰俊鎭〃鑾峰彇
+    function getLiftStateInfo() {
+        $.ajax({
+            url: baseUrl+ "/lift/table/lift/state",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                $("#lift-status-box").empty()
+                res.data.forEach((item,index) => {
+                    let liftStatusClass = "lift-idle"
+                    switch (item.status) {
+                        case 1://绌洪棽
+                            liftStatusClass = "lift-idle";
+                            break
+                        case 2://浣滀笟涓�
+                            liftStatusClass = "lift-working";
+                            break
+                        case 3://绛夊緟纭
+                            liftStatusClass = "lift-waiting";
+                            break
+                        case 4://绂荤嚎
+                            liftStatusClass = "lift-offline";
+                            break
+                        default:
+                            liftStatusClass = "lift-idle"
+                    }
+                    let liftStatus = '<div class="state states">' +
+                        '<span>鎻愬崌鏈� ' + item.liftNo + '</span>' +
+                        '<span class="state-ss ' + liftStatusClass + '">' + item.protocolStatus$ + '</span></div>';
+                    $("#lift-status-box").append(liftStatus)
+
+                })
+            }
+        });
+    }
 
     // 鍥涘悜绌挎杞︿俊鎭〃鑾峰彇
     function getShuttleStateInfo() {
@@ -413,7 +460,39 @@
             headers: {'token': localStorage.getItem('token')},
             method: 'POST',
             success: function (res) {
+                $("#shuttle-status-box").empty()
                 res.data.forEach((item,index) => {
+                    let shuttleStatusClass = "shuttle-idle"
+                    switch (item.status) {
+                        case 1://绌洪棽
+                            shuttleStatusClass = "shuttle-idle";
+                            break
+                        case 2://浣滀笟涓�
+                            shuttleStatusClass = "shuttle-working";
+                            break
+                        case 3://绛夊緟纭
+                            shuttleStatusClass = "shuttle-waiting";
+                            break
+                        case 4://鍏呯數涓�
+                            shuttleStatusClass = "shuttle-charging";
+                            break
+                        case 5://鍏呯數浠诲姟绛夊緟纭
+                            shuttleStatusClass = "shuttle-charging-waiting";
+                            break
+                        case 6://鏁呴殰淇涓�
+                            shuttleStatusClass = "shuttle-fixing";
+                            break
+                        case 7://绂荤嚎
+                            shuttleStatusClass = "shuttle-offline";
+                            break
+                        default:
+                            shuttleStatusClass = "shuttle-offline"
+                    }
+                    let shuttleStatus = '<div class="state">' +
+                        '<span>鍥涘悜绌挎杞� ' + item.shuttleNo + '</span>' +
+                        '<span class="state-ss ' + shuttleStatusClass + '">' + item.status$ + '</span></div>';
+                    $("#shuttle-status-box").append(shuttleStatus)
+
                     if(item.locNoLev != currentLev){
                         //鍥涘悜绌挎杞︽ゼ灞傚拰褰撳墠鍦板浘妤煎眰涓嶄竴鑷达紝鍒犻櫎璇ヨ溅杈�
                         $("#sxcar-" + item.shuttleNo).remove()
@@ -444,13 +523,35 @@
 
     //鍒濆鍖栧湴鍥�
     function initMap(lev) {
+        getMap(lev)
+
+        $.ajax({
+            url: baseUrl+ "/shuttle/table/shuttle/state",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                res.data.forEach((item,index) => {
+                    if(lev == item.locNoLev){
+                        let carBox = '<div class="sxcar" id="sxcar-' + item.shuttleNo + '"></div>'
+                        $("#mapDataId").append(carBox)
+                    }
+                })
+            }
+        });
+    }
+
+    //鑾峰彇鍦板浘鏁版嵁
+    function getMap(lev) {
         //姣嶈建閬撶涓�娆$储寮曪紝鐢ㄤ簬瀹氫綅灏忚溅
         let firstMotherIndex = [0,0];
         $("#mapDataId").empty()
         $.ajax({
             type:"get",
-            url: baseUrl + "/static/js/map.json",
-            success: (data) => {
+            // url: baseUrl + "/static/js/map_" + lev + ".json",
+            url: baseUrl + "/console/map/" + lev + "/auth",
+            headers: {'token': localStorage.getItem('token')},
+            success: (res) => {
+                let data = res.data
                 mapData = data
                 let content = ""
                 data.forEach((rowData,index) => {
@@ -462,6 +563,9 @@
                             if(!(idx == 0 || rowData.length - 1 == idx)){
                                 let col;
                                 switch (colData.value){
+                                    case -999:
+                                        col = '<button class="item" style="background:#f83333;color: #fff;">' + idx + '</button>';
+                                        break;
                                     case -1:
                                         col = '<button class="item" style="visibility: hidden">' + idx + '</button>';
                                         break;
@@ -475,18 +579,12 @@
                                         break;
                                     case 4:
                                         //绔欑偣
-                                        if (lev == 1) {
-                                            let data = colData.data;
-                                            col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
-                                        }else {
-                                            //鍏朵粬妤煎眰鍙湁鎻愬崌鏈鸿兘鏄剧ず
-                                            let data = colData.data;
-                                            if (data == 109) {//鍏朵粬妤煎眰鍙湁鎻愬崌鏈鸿兘鏄剧ず
-                                                col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
-                                            }else {
-                                                col = '<div style="visibility: hidden" id="site-' + data + '" class="site">' + data + '(9991)</div>';
-                                            }
-                                        }
+                                        var data = colData.data;
+                                        col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
+                                        break;
+                                    case 5:
+                                        //鍏呯數妗�
+                                        col = '<button class="item" style="font-size: 24px">&#9889;</button>';
                                         break;
                                     default:
                                         col = '<button class="item">' + idx + '</button>';
@@ -507,20 +605,6 @@
                 $("#mapDataId").append(content)
             }
         })
-
-        $.ajax({
-            url: baseUrl+ "/shuttle/table/shuttle/state",
-            headers: {'token': localStorage.getItem('token')},
-            method: 'POST',
-            success: function (res) {
-                res.data.forEach((item,index) => {
-                    if(lev == item.locNoLev){
-                        let carBox = '<div class="sxcar" id="sxcar-' + item.shuttleNo + '"></div>'
-                        $("#mapDataId").append(carBox)
-                    }
-                })
-            }
-        });
     }
 
     //灏嗗湴鍥炬暟鎹浆鎹㈡垚int浜岀淮鏁扮粍(鍚庣画鐢ㄤ簬璇锋眰璁$畻璺緞鏃舵惡甯﹀湴鍥炬暟鎹弬鏁颁娇鐢�)
@@ -633,6 +717,23 @@
             moveCar(1, item.x, item.y);
         })
 
+    }
+
+    /**
+     * 閲嶇疆鍦板浘
+     */
+    function resetMap() {
+        $.ajax({
+            url:baseUrl+"/console/map/resetMap/auth",
+            headers:{
+                'token': localStorage.getItem('token')
+            },
+            data:{},
+            method:'get',
+            success:function (res) {
+                layer.msg('閲嶇疆瀹屾垚');
+            }
+        })
     }
 
     // 灏忚溅鍋忕Щ鍔ㄧ敾
@@ -758,7 +859,6 @@
     })
 
 
-
     var crn1Position = 0;
     var crn2Position = 0;
     var crn3Position = 0;
@@ -781,6 +881,12 @@
     setInterval(function () {
         getSitesInfo();
     }, 3000);
+
+    $("#system-toggle").on("click",(e) => {
+        systemSwitch()
+        e.stopPropagation();//琛ㄧず闃绘鍚戠埗鍏冪礌鍐掓场
+        e.preventDefault();//闃绘 鏂规硶闃绘鍏冪礌鍙戠敓榛樿鐨勮涓猴紙渚嬪锛屽綋鐐瑰嚮鎻愪氦鎸夐挳鏃堕樆姝㈠琛ㄥ崟鐨勬彁浜ゆ垨鑰卆鏍囩锛夈��
+    })
 
     // 绯荤粺杩愯寮�鍏�
     function systemSwitch() {
@@ -813,11 +919,11 @@
                 layer.close(index);
                 if (res.code === 200){
                     if (res.data.status) {
-                        $('#system-icon').attr("class", "system-icon-open");
+                        $('#system-toggle-checked').attr("checked", true);
                         $('#system-run-desc').html("绯荤粺杩愯涓�...");
                         parent.systemRunning = true;
                     } else {
-                        $('#system-icon').attr("class", "system-icon-close");
+                        $('#system-toggle-checked').attr("checked", false);
                         $('#system-run-desc').html("绯荤粺宸插仠姝�!");
                         parent.systemRunning = false;
                     }
@@ -841,11 +947,11 @@
             success: function (res) {
                 if (res.code === 200){
                     if (res.data.status) {
-                        $('#system-icon').attr("class", "system-icon-open");
+                        $('#system-toggle-checked').attr("checked", true);
                         $('#system-run-desc').html("绯荤粺杩愯涓�...");
                         parent.systemRunning = true;
                     } else {
-                        $('#system-icon').attr("class", "system-icon-close");
+                        $('#system-toggle-checked').attr("checked", false);
                         $('#system-run-desc').html("绯荤粺宸插仠姝�!");
                         parent.systemRunning = false;
                     }
@@ -954,34 +1060,6 @@
                 }
             }
         });
-    }
-
-    // 鍫嗗灈鏈哄亸绉诲姩鐢�
-    function crnAnimate(id, leftVal) {
-        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
-        }
     }
 
     // 灏忚溅鍋忕Щ鍔ㄧ敾

--
Gitblit v1.9.1