From 56b6f93fbf3e1d5b27676a1d6ad34dc5c626249a Mon Sep 17 00:00:00 2001
From: dubin <dubin@163.com>
Date: 星期二, 27 五月 2025 15:58:16 +0800
Subject: [PATCH] 电视机ip配置和wcs监控图

---
 src/main/webapp/static/wcs/js/console3.map.js     |  528 ++++++
 src/main/webapp/views/realtimeWatch/console1.html |  853 ++++++++++
 src/main/webapp/static/wcs/js/console2.map.js     |  544 ++++++
 src/main/webapp/static/wcs/js/console.map.js      |  440 +++--
 src/main/webapp/views/realtimeWatch/console.html  |    6 
 src/main/resources/application-prod.yml           |   65 
 src/main/webapp/views/realtimeWatch/console2.html |  853 ++++++++++
 src/main/webapp/views/realtimeWatch/console3.html |  853 ++++++++++
 src/main/webapp/static/wcs/js/console1.map.js     |  500 ++++++
 src/main/resources/application.yml                |    2 
 10 files changed, 4,473 insertions(+), 171 deletions(-)

diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 2cfd0b2..b28a8bc 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -255,13 +255,76 @@
     port: 51236
     ip: 172.17.91.39
     id: 4
-  # LED1
+  # LED1 鎴愬搧搴�1F
   led[0]:
     id: 1
     ip: 192.168.110.210
     port: 5005
     devpPlcId: ${wcs-slave.devp[2].id}
     staArr: 1052
+  # LED2 鎴愬搧搴�1F
+  led[1]:
+    id: 2
+    ip: 192.168.110.211
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[2].id}
+    staArr: 1052
+  # LED3 鍗婃垚鍝佸簱1F
+  led[2]:
+    id: 3
+    ip: 192.168.110.212
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 1014
+  # LED4 鎴愬搧搴�2F
+  led[3]:
+    id: 4
+    ip: 192.168.110.213
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[3].id}
+    staArr: 2057
+  # LED5 鎴愬搧搴�2F
+  led[4]:
+    id: 5
+    ip: 192.168.110.214
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[3].id}
+    staArr: 2056
+  # LED6 鎴愬搧搴�2F
+  led[5]:
+    id: 6
+    ip: 192.168.110.215
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[3].id}
+    staArr: 2054
+  # LED7 鎴愬搧搴�2F
+  led[6]:
+    id: 7
+    ip: 192.168.110.216
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[3].id}
+    staArr: 2051
+  # LED8 鍗婃垚鍝佸簱2F
+  led[7]:
+    id: 8
+    ip: 192.168.110.217
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 2002
+  # LED9 鍗婃垚鍝佸簱2F
+  led[8]:
+    id: 9
+    ip: 192.168.110.218
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 2007
+  # LED10 鍗婃垚鍝佸簱2F
+  led[9]:
+    id: 10
+    ip: 192.168.110.219
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 2018
 #  crn[0]: #鍫嗗灈鏈�1
 #    rack: 0
 #    offset: 2    #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6ee867e..0b6fb5c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.0.39:1433;databasename=czscwcs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=czscwcs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/webapp/static/wcs/js/console.map.js b/src/main/webapp/static/wcs/js/console.map.js
index e041664..98ae686 100644
--- a/src/main/webapp/static/wcs/js/console.map.js
+++ b/src/main/webapp/static/wcs/js/console.map.js
@@ -6,87 +6,96 @@
     "hpPosition": 0,
     "minBayNo": 1,
     "floors": 1,
-    "racks": [{
-        "type": "rack",
-        "id": "rack7",
-        "top": 326,
-        "left": 800,
-        "width": 795,
-        "height": 23,
-        "minBayNo": 1,
-        "maxBayNo": 50,
-        "hiddenArr": [1,22]
-    }, {
+    "racks": [
+    //     {
+    //     "type": "rack",
+    //     "id": "rack7",
+    //     "top": 326,
+    //     "left": 800,
+    //     "width": 795,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 50,
+    //     "hiddenArr": [1,22]
+    // },
+        {
         "type": "rack",
         "id": "rack6",
         "top": 303,
-        "left": 800,
-        "width": 795,
+        "left": 820,
+        "width": 1050,
         "height": 23,
         "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }, {
-        "type": "rack",
-        "id": "rack5",
-        "top": 209,
-        "left": 800,
-        "width": 795,
-        "height": 23,
-        "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    },{
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack5",
+    //     "top": 209,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // },
+        {
         "type": "rack",
         "id": "rack4",
         "top": 232,
-        "left": 800,
-        "width": 795,
+        "left": 820,
+        "width": 1050,
         "height": 23,
         "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }, {
-        "type": "rack",
-        "id": "rack3",
-        "top": 182,
-        "left": 800,
-        "width": 795,
-        "height": 23,
-        "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }, {
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack3",
+    //     "top": 182,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // },
+        {
         "type": "rack",
         "id": "rack2",
         "top": 159,
-        "left": 800,
-        "width": 795,
+        "left": 820,
+        "width": 1050,
         "height": 23,
         "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }, {
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+        {
         "type": "rack",
         "id": "rack1",
         "top": 98,
-        "left": 800,
-        "width": 795,
+        "left": 820,
+        "width": 1050,
         "height": 23,
         "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }, {
-        "type": "rack",
-        "id": "rack0",
-        "top": 75,
-        "left": 800,
-        "width": 795,
-        "height": 23,
-        "minBayNo": 1,
-        "maxBayNo": 22,
-        "hiddenArr": [1,22]
-    }],
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack0",
+    //     "top": 75,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // }
+    ],
     "crns": [{
         "type": "crane",
         "id": "crn-2",
@@ -139,7 +148,7 @@
             "stns": [{
                 "type": "stn",
                 "id": "site-100",
-                "text": "100",
+                "text": "1008",
                 "top": 99,
                 "left": 771,
                 "width": 62,
@@ -147,7 +156,7 @@
             },{
                 "type": "stn",
                 "id": "site-101",
-                "text": "101",
+                "text": "1007",
                 "top": 99,
                 "left": 707,
                 "width": 62,
@@ -155,7 +164,7 @@
             },{
                 "type": "stn",
                 "id": "site-102",
-                "text": "102",
+                "text": "RGV灏忚溅",
                 "top": 99,
                 "left": 643,
                 "width": 62,
@@ -163,23 +172,52 @@
             },{
                 "type": "stn",
                 "id": "site-103",
-                "text": "103",
+                "text": "1011",
                 "top": 99,
                 "left": 579,
                 "width": 62,
                 "height": 23
-            },{
-                "type": "stn",
-                "id": "site-104",
-                "text": "104",
-                "top": 124,
-                "left": 579,
-                "width": 62,
-                "height": 34
-            },{
+            },
+                {
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "1020",
+                    "top": 70,
+                    "left": 579,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 515,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 450,
+                    "width": 62,
+                    "height": 23
+                },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-104",
+            //     "text": "104",
+            //     "top": 124,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 34
+            // },
+                {
                 "type": "stn",
                 "id": "site-125",
-                "text": "125",
+                "text": "1006",
                 "top": 160,
                 "left": 771,
                 "width": 62,
@@ -187,39 +225,42 @@
             },{
                 "type": "stn",
                 "id": "site-124",
-                "text": "124",
+                "text": "1005",
                 "top": 160,
                 "left": 707,
                 "width": 62,
                 "height": 23
-            },{
+            },/*{
                 "type": "stn",
                 "id": "site-123",
-                "text": "123",
+                "text": "RGV灏忚溅",
                 "top": 160,
                 "left": 643,
                 "width": 62,
                 "height": 23
-            },{
-                "type": "stn",
-                "id": "site-122",
-                "text": "122",
-                "top": 160,
-                "left": 579,
-                "width": 62,
-                "height": 23
-            },{
-                "type": "stn",
-                "id": "site-121",
-                "text": "121",
-                "top": 186,
-                "left": 579,
-                "width": 62,
-                "height": 42
-            },{
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-122",
+            //     "text": "122",
+            //     "top": 160,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-121",
+            //     "text": "121",
+            //     "top": 186,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 42
+            // },
+                {
                 "type": "stn",
                 "id": "site-120",
-                "text": "120",
+                "text": "1004",
                 "top": 231,
                 "left": 771,
                 "width": 62,
@@ -227,39 +268,41 @@
             },{
                 "type": "stn",
                 "id": "site-119",
-                "text": "119",
+                "text": "1003",
                 "top": 231,
                 "left": 707,
                 "width": 62,
                 "height": 23
-            },{
+            },/*{
                 "type": "stn",
                 "id": "site-118",
-                "text": "118",
+                "text": "RGV灏忚溅",
                 "top": 231,
                 "left": 643,
                 "width": 62,
                 "height": 23
-            },{
-                "type": "stn",
-                "id": "site-117",
-                "text": "117",
-                "top": 231,
-                "left": 579,
-                "width": 62,
-                "height": 23
-            },{
-                "type": "stn",
-                "id": "site-116",
-                "text": "116",
-                "top": 256,
-                "left": 579,
-                "width": 62,
-                "height": 46
-            },{
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-117",
+            //     "text": "117",
+            //     "top": 231,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-116",
+            //     "text": "116",
+            //     "top": 256,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 46
+            // },
+                {
                 "type": "stn",
                 "id": "site-115",
-                "text": "115",
+                "text": "1002",
                 "top": 304,
                 "left": 771,
                 "width": 62,
@@ -267,31 +310,87 @@
             },{
                 "type": "stn",
                 "id": "site-114",
-                "text": "114",
+                "text": "1001",
                 "top": 304,
                 "left": 707,
                 "width": 62,
                 "height": 23
-            },{
+            },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1016",
+                    "top": 330,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1018",
+                    "top": 356,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1019",
+                    "top": 356,
+                    "left": 772,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 837,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 902,
+                    "width": 62,
+                    "height": 23
+                },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1017",
+                    "top": 383,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },/*{
                 "type": "stn",
                 "id": "site-113",
-                "text": "113",
+                "text": "RGV灏忚溅",
                 "top": 304,
                 "left": 643,
                 "width": 62,
                 "height": 23
-            },{
-                "type": "stn",
-                "id": "site-112",
-                "text": "112",
-                "top": 304,
-                "left": 579,
-                "width": 62,
-                "height": 23
-            },{
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-112",
+            //     "text": "112",
+            //     "top": 304,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+                {
                 "type": "stn",
                 "id": "site-105",
-                "text": "105",
+                "text": "1012",
                 "top": 99,
                 "left": 515,
                 "width": 62,
@@ -299,7 +398,7 @@
             },{
                 "type": "stn",
                 "id": "site-106",
-                "text": "106",
+                "text": "1013",
                 "top": 124,
                 "left": 515,
                 "width": 62,
@@ -307,7 +406,7 @@
             },{
                 "type": "stn",
                 "id": "site-107",
-                "text": "107",
+                "text": "1013",
                 "top": 160,
                 "left": 515,
                 "width": 62,
@@ -315,7 +414,7 @@
             },{
                 "type": "stn",
                 "id": "site-108",
-                "text": "108",
+                "text": "1013",
                 "top": 186,
                 "left": 515,
                 "width": 62,
@@ -323,7 +422,7 @@
             },{
                 "type": "stn",
                 "id": "site-109",
-                "text": "109",
+                "text": "1013",
                 "top": 231,
                 "left": 515,
                 "width": 62,
@@ -331,7 +430,7 @@
             },{
                 "type": "stn",
                 "id": "site-110",
-                "text": "110",
+                "text": "1014",
                 "top": 304,
                 "left": 515,
                 "width": 62,
@@ -339,44 +438,47 @@
             },{
                 "type": "stn",
                 "id": "site-111",
-                "text": "111",
+                "text": "1015",
                 "top": 329,
                 "left": 515,
                 "width": 62,
                 "height": 23
-            },{
-                "type": "stn",
-                "id": "site-1001",
-                "text": "1001",
-                "top": 99,
-                "left": 451,
-                "width": 62,
-                "height": 23
-            },{
-                "type": "stn",
-                "id": "site-1002",
-                "text": "1002",
-                "top": 160,
-                "left": 451,
-                "width": 62,
-                "height": 23
-            },{
-                "type": "stn",
-                "id": "site-1003",
-                "text": "1003",
-                "top": 231,
-                "left": 451,
-                "width": 62,
-                "height": 23
-            },{
-                "type": "stn",
-                "id": "site-1004",
-                "text": "1004",
-                "top": 304,
-                "left": 451,
-                "width": 62,
-                "height": 23
-            } ]
+            },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1001",
+            //     "text": "1001",
+            //     "top": 99,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1002",
+            //     "text": "1002",
+            //     "top": 160,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1003",
+            //     "text": "1003",
+            //     "top": 231,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1004",
+            //     "text": "1004",
+            //     "top": 304,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // }
+            ]
         }]
     }]
 }
\ No newline at end of file
diff --git a/src/main/webapp/static/wcs/js/console1.map.js b/src/main/webapp/static/wcs/js/console1.map.js
new file mode 100644
index 0000000..bb4e6a9
--- /dev/null
+++ b/src/main/webapp/static/wcs/js/console1.map.js
@@ -0,0 +1,500 @@
+mapInfo = {
+    "mapName": "scwcs",
+    "rackCount": 13,
+    "crnCount": 4,
+    "stbCount": 4,
+    "hpPosition": 0,
+    "minBayNo": 1,
+    "floors": 1,
+    "racks": [
+         {
+         "type": "rack",
+         "id": "rack7",
+         "top": 326,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },
+        {
+        "type": "rack",
+        "id": "rack6",
+        "top": 303,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },
+         {
+         "type": "rack",
+         "id": "rack5",
+         "top": 209,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },
+        {
+        "type": "rack",
+        "id": "rack4",
+        "top": 232,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },
+         /*{
+         "type": "rack",
+         "id": "rack3",
+         "top": 182,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },*/
+        /*{
+        "type": "rack",
+        "id": "rack2",
+        "top": 159,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },*/
+        /*{
+        "type": "rack",
+        "id": "rack1",
+        "top": 98,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },*/
+         /*{
+         "type": "rack",
+         "id": "rack0",
+         "top": 75,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     }*/
+    ],
+    "crns": [
+    {
+        "type": "crane",
+        "id": "crn-2",
+        "text": "2",
+        "top": 268,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    },
+    /*{
+        "type": "crane",
+        "id": "crn-1",
+        "text": "1",
+        "top": 132,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    }, */
+    {
+        "type": "track",
+        "id": "lb_track2",
+        "text": "",
+        "top": 278,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    },
+   /* {
+        "type": "track",
+        "id": "lb_track1",
+        "text": "",
+        "top": 143,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    }*/
+    ],
+    "areas": [{
+        "type": "Control_floor",
+        "id": "tabControl_floor1",
+        "text": "妤煎眰",
+        "top": 66,
+        "left": 580,
+        "width": 334,
+        "height": 714,
+        "floors": [{
+            "type": "floor",
+            "id": "page_floor1",
+            "text": "1F",
+            "top": 4,
+            "left": 422,
+            "width": 308,
+            "height": 706,
+            "stns": [
+            /*{
+                "type": "stn",
+                "id": "site-100",
+                "text": "1008",
+                "top": 99,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-101",
+                "text": "1007",
+                "top": 99,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-102",
+                "text": "RGV灏忚溅",
+                "top": 99,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-103",
+                "text": "1011",
+                "top": 99,
+                "left": 579,
+                "width": 62,
+                "height": 23
+            },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "1020",
+                    "top": 70,
+                    "left": 579,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 515,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 450,
+                    "width": 62,
+                    "height": 23
+                },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-104",
+            //     "text": "104",
+            //     "top": 124,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 34
+            // },
+                /*{
+                "type": "stn",
+                "id": "site-125",
+                "text": "1006",
+                "top": 160,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },*/
+            {
+                "type": "stn",
+                "id": "site-124",
+                "text": "1051",
+                "top": 200,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-123",
+                "text": "RGV灏忚溅",
+                "top": 160,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-122",
+            //     "text": "122",
+            //     "top": 160,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-121",
+            //     "text": "121",
+            //     "top": 186,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 42
+            // },
+                {
+                "type": "stn",
+                "id": "site-120",
+                "text": "1056",
+                "top": 231,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-119",
+                "text": "1052",
+                "top": 231,
+                "left": 707,
+                "width": 62,
+                "height": 60
+            },/*{
+                "type": "stn",
+                "id": "site-118",
+                "text": "RGV灏忚溅",
+                "top": 231,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-117",
+            //     "text": "117",
+            //     "top": 231,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-116",
+            //     "text": "116",
+            //     "top": 256,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 46
+            // },
+                {
+                "type": "stn",
+                "id": "site-115",
+                "text": "1058",
+                "top": 304,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-114",
+                "text": "1053",
+                "top": 304,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },
+                {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1054",
+                    "top": 330,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1018",
+                    "top": 356,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1019",
+                    "top": 356,
+                    "left": 772,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 837,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 902,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1017",
+                    "top": 383,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*//*{
+                "type": "stn",
+                "id": "site-113",
+                "text": "RGV灏忚溅",
+                "top": 304,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-112",
+            //     "text": "112",
+            //     "top": 304,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+               /* {
+                "type": "stn",
+                "id": "site-105",
+                "text": "1012",
+                "top": 99,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-106",
+                "text": "1013",
+                "top": 124,
+                "left": 515,
+                "width": 62,
+                "height": 34
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-107",
+                "text": "1013",
+                "top": 160,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-108",
+                "text": "1013",
+                "top": 186,
+                "left": 515,
+                "width": 62,
+                "height": 42
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-109",
+                "text": "1013",
+                "top": 231,
+                "left": 515,
+                "width": 62,
+                "height": 70
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-110",
+                "text": "1014",
+                "top": 304,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            /*{
+                "type": "stn",
+                "id": "site-111",
+                "text": "1015",
+                "top": 329,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1001",
+            //     "text": "1001",
+            //     "top": 99,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1002",
+            //     "text": "1002",
+            //     "top": 160,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1003",
+            //     "text": "1003",
+            //     "top": 231,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1004",
+            //     "text": "1004",
+            //     "top": 304,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // }
+            ]
+        }]
+    }]
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/wcs/js/console2.map.js b/src/main/webapp/static/wcs/js/console2.map.js
new file mode 100644
index 0000000..c56ffef
--- /dev/null
+++ b/src/main/webapp/static/wcs/js/console2.map.js
@@ -0,0 +1,544 @@
+mapInfo = {
+    "mapName": "scwcs",
+    "rackCount": 13,
+    "crnCount": 4,
+    "stbCount": 4,
+    "hpPosition": 0,
+    "minBayNo": 1,
+    "floors": 1,
+    "racks": [
+    //     {
+    //     "type": "rack",
+    //     "id": "rack7",
+    //     "top": 326,
+    //     "left": 800,
+    //     "width": 795,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 50,
+    //     "hiddenArr": [1,22]
+    // },
+        {
+        "type": "rack",
+        "id": "rack6",
+        "top": 303,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack5",
+    //     "top": 209,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // },
+        {
+        "type": "rack",
+        "id": "rack4",
+        "top": 232,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack3",
+    //     "top": 182,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // },
+        {
+        "type": "rack",
+        "id": "rack2",
+        "top": 159,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+        {
+        "type": "rack",
+        "id": "rack1",
+        "top": 98,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 59,
+        "hiddenArr": [1,59]
+    },
+    //     {
+    //     "type": "rack",
+    //     "id": "rack0",
+    //     "top": 75,
+    //     "left": 820,
+    //     "width": 1050,
+    //     "height": 23,
+    //     "minBayNo": 1,
+    //     "maxBayNo": 59,
+    //     "hiddenArr": [1,59]
+    // }
+    ],
+    "crns": [{
+        "type": "crane",
+        "id": "crn-2",
+        "text": "2",
+        "top": 268,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    }, {
+        "type": "crane",
+        "id": "crn-1",
+        "text": "1",
+        "top": 132,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    }, {
+        "type": "track",
+        "id": "lb_track2",
+        "text": "",
+        "top": 278,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    }, {
+        "type": "track",
+        "id": "lb_track1",
+        "text": "",
+        "top": 143,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    }],
+    "areas": [{
+        "type": "Control_floor",
+        "id": "tabControl_floor1",
+        "text": "妤煎眰",
+        "top": 66,
+        "left": 580,
+        "width": 334,
+        "height": 714,
+        "floors": [{
+            "type": "floor",
+            "id": "page_floor1",
+            "text": "1F",
+            "top": 4,
+            "left": 422,
+            "width": 308,
+            "height": 706,
+            "stns": [
+            {
+                            "type": "stn",
+                            "id": "site-100",
+                            "text": "2001",
+                            "top": 40,
+                            "left": 900,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-100",
+                "text": "2002",
+                "top": 67,
+                "left": 900,
+                "width": 62,
+                "height": 23
+            },
+            {
+                            "type": "stn",
+                            "id": "site-101",
+                            "text": "2006",
+                            "top": 57,
+                            "left": 640,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-101",
+                "text": "2007",
+                "top": 90,
+                "left": 640,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-102",
+                "text": "2008",
+                "top": 125,
+                "left": 640,
+                "width": 62,
+                "height": 23
+            },
+            /*{
+                "type": "stn",
+                "id": "site-103",
+                "text": "1011",
+                "top": 99,
+                "left": 579,
+                "width": 62,
+                "height": 23
+            },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "1020",
+                    "top": 70,
+                    "left": 579,
+                    "width": 62,
+                    "height": 23
+                },*/
+               /* {
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 515,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 450,
+                    "width": 62,
+                    "height": 23
+                },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-104",
+            //     "text": "104",
+            //     "top": 124,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 34
+            // },
+                {
+                "type": "stn",
+                "id": "site-125",
+                "text": "2003",
+                "top": 160,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },
+            {
+                            "type": "stn",
+                            "id": "site-124",
+                            "text": "2005",
+                            "top": 160,
+                            "left": 640,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-124",
+                "text": "2004",
+                "top": 160,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-123",
+                "text": "RGV灏忚溅",
+                "top": 160,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-122",
+            //     "text": "122",
+            //     "top": 160,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-121",
+            //     "text": "121",
+            //     "top": 186,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 42
+            // },
+                {
+                "type": "stn",
+                "id": "site-120",
+                "text": "2012",
+                "top": 231,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },
+            {
+                                                    "type": "stn",
+                                                    "id": "site-114",
+                                                    "text": "2009",
+                                                    "top": 195,
+                                                    "left": 640,
+                                                    "width": 62,
+                                                    "height": 23
+                                                },
+            {
+                                        "type": "stn",
+                                        "id": "site-114",
+                                        "text": "2010",
+                                        "top": 231,
+                                        "left": 640,
+                                        "width": 62,
+                                        "height": 23
+                                    },
+            {
+                "type": "stn",
+                "id": "site-119",
+                "text": "2011",
+                "top": 231,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-118",
+                "text": "RGV灏忚溅",
+                "top": 231,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-117",
+            //     "text": "117",
+            //     "top": 231,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-116",
+            //     "text": "116",
+            //     "top": 256,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 46
+            // },
+                {
+                "type": "stn",
+                "id": "site-115",
+                "text": "2013",
+                "top": 304,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },
+            {
+                            "type": "stn",
+                            "id": "site-114",
+                            "text": "2015",
+                            "top": 304,
+                            "left": 640,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-114",
+                "text": "2014",
+                "top": 304,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1016",
+                    "top": 330,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1018",
+                    "top": 356,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1019",
+                    "top": 356,
+                    "left": 772,
+                    "width": 62,
+                    "height": 23
+                },*/
+               /* {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 837,
+                    "width": 62,
+                    "height": 23
+                },*/
+               /* {
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 902,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1017",
+                    "top": 383,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*//*{
+                "type": "stn",
+                "id": "site-113",
+                "text": "RGV灏忚溅",
+                "top": 304,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-112",
+            //     "text": "112",
+            //     "top": 304,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+                {
+                "type": "stn",
+                "id": "site-105",
+                "text": "2019",
+                "top": 99,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-106",
+                "text": "",
+                "top": 135,
+                "left": 515,
+                "width": 62,
+                "height": 34
+            },{
+                "type": "stn",
+                "id": "site-107",
+                "text": "2018",
+                "top": 160,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-108",
+                "text": "",
+                "top": 190,
+                "left": 515,
+                "width": 62,
+                "height": 42
+            },{
+                "type": "stn",
+                "id": "site-109",
+                "text": "2017",
+                "top": 231,
+                "left": 515,
+                "width": 62,
+                "height": 70
+            },{
+                "type": "stn",
+                "id": "site-110",
+                "text": "2016",
+                "top": 304,
+                "left": 574,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-111",
+                "text": "1015",
+                "top": 329,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1001",
+            //     "text": "1001",
+            //     "top": 99,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1002",
+            //     "text": "1002",
+            //     "top": 160,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1003",
+            //     "text": "1003",
+            //     "top": 231,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1004",
+            //     "text": "1004",
+            //     "top": 304,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // }
+            ]
+        }]
+    }]
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/wcs/js/console3.map.js b/src/main/webapp/static/wcs/js/console3.map.js
new file mode 100644
index 0000000..356d3cd
--- /dev/null
+++ b/src/main/webapp/static/wcs/js/console3.map.js
@@ -0,0 +1,528 @@
+mapInfo = {
+    "mapName": "scwcs",
+    "rackCount": 13,
+    "crnCount": 4,
+    "stbCount": 4,
+    "hpPosition": 0,
+    "minBayNo": 1,
+    "floors": 1,
+    "racks": [
+         {
+         "type": "rack",
+         "id": "rack7",
+         "top": 326,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },
+        {
+        "type": "rack",
+        "id": "rack6",
+        "top": 303,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },
+         {
+         "type": "rack",
+         "id": "rack5",
+         "top": 209,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },
+        {
+        "type": "rack",
+        "id": "rack4",
+        "top": 232,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },
+         /*{
+         "type": "rack",
+         "id": "rack3",
+         "top": 182,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     },*/
+        /*{
+        "type": "rack",
+        "id": "rack2",
+        "top": 159,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },*/
+        /*{
+        "type": "rack",
+        "id": "rack1",
+        "top": 98,
+        "left": 820,
+        "width": 1050,
+        "height": 23,
+        "minBayNo": 1,
+        "maxBayNo": 43,
+        "hiddenArr": [1,43]
+    },*/
+         /*{
+         "type": "rack",
+         "id": "rack0",
+         "top": 75,
+         "left": 820,
+         "width": 1050,
+         "height": 23,
+         "minBayNo": 1,
+         "maxBayNo": 43,
+         "hiddenArr": [1,43]
+     }*/
+    ],
+    "crns": [
+    {
+        "type": "crane",
+        "id": "crn-2",
+        "text": "2",
+        "top": 268,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    },
+    /*{
+        "type": "crane",
+        "id": "crn-1",
+        "text": "1",
+        "top": 132,
+        "left": 855,
+        "width": 93,
+        "height": 22
+    }, */
+    {
+        "type": "track",
+        "id": "lb_track2",
+        "text": "",
+        "top": 278,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    },
+   /* {
+        "type": "track",
+        "id": "lb_track1",
+        "text": "",
+        "top": 143,
+        "left": 769,
+        "width": 850,
+        "height": 2
+    }*/
+    ],
+    "areas": [{
+        "type": "Control_floor",
+        "id": "tabControl_floor1",
+        "text": "妤煎眰",
+        "top": 66,
+        "left": 580,
+        "width": 334,
+        "height": 714,
+        "floors": [{
+            "type": "floor",
+            "id": "page_floor1",
+            "text": "1F",
+            "top": 4,
+            "left": 422,
+            "width": 308,
+            "height": 706,
+            "stns": [
+            {
+                            "type": "stn",
+                            "id": "site-100",
+                            "text": "2052",
+                            "top": 150,
+                            "left": 1050,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-100",
+                "text": "2052",
+                "top": 180,
+                "left": 1050,
+                "width": 62,
+                "height": 23
+            },
+            {
+                            "type": "stn",
+                            "id": "site-101",
+                            "text": "2051",
+                            "top": 150,
+                            "left": 1150,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-101",
+                "text": "2051",
+                "top": 180,
+                "left": 1150,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-102",
+                "text": "RGV灏忚溅",
+                "top": 99,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*//*{
+                "type": "stn",
+                "id": "site-103",
+                "text": "1011",
+                "top": 99,
+                "left": 579,
+                "width": 62,
+                "height": 23
+            },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "1020",
+                    "top": 70,
+                    "left": 579,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 515,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-103",
+                    "text": "",
+                    "top": 70,
+                    "left": 450,
+                    "width": 62,
+                    "height": 23
+                },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-104",
+            //     "text": "104",
+            //     "top": 124,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 34
+            // },
+            {
+                            "type": "stn",
+                            "id": "site-125",
+                            "text": "2053",
+                            "top": 150,
+                            "left": 950,
+                            "width": 62,
+                            "height": 23
+                        },
+                {
+                "type": "stn",
+                "id": "site-125",
+                "text": "2054",
+                "top": 180,
+                "left": 950,
+                "width": 62,
+                "height": 23
+            },
+            {
+                            "type": "stn",
+                            "id": "site-124",
+                            "text": "2055",
+                            "top": 150,
+                            "left": 850,
+                            "width": 62,
+                            "height": 23
+                        },
+            {
+                "type": "stn",
+                "id": "site-124",
+                "text": "2056",
+                "top": 180,
+                "left": 850,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-123",
+                "text": "RGV灏忚溅",
+                "top": 160,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-122",
+            //     "text": "122",
+            //     "top": 160,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-121",
+            //     "text": "121",
+            //     "top": 186,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 42
+            // },
+                {
+                "type": "stn",
+                "id": "site-120",
+                "text": "2057",
+                "top": 231,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-119",
+                "text": "2057",
+                "top": 231,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },/*{
+                "type": "stn",
+                "id": "site-118",
+                "text": "RGV灏忚溅",
+                "top": 231,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-117",
+            //     "text": "117",
+            //     "top": 231,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-116",
+            //     "text": "116",
+            //     "top": 256,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 46
+            // },
+                {
+                "type": "stn",
+                "id": "site-115",
+                "text": "2058",
+                "top": 304,
+                "left": 771,
+                "width": 62,
+                "height": 23
+            },{
+                "type": "stn",
+                "id": "site-114",
+                "text": "2058",
+                "top": 304,
+                "left": 707,
+                "width": 62,
+                "height": 23
+            },
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1016",
+                    "top": 330,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1018",
+                    "top": 356,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1019",
+                    "top": 356,
+                    "left": 772,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 837,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "",
+                    "top": 356,
+                    "left": 902,
+                    "width": 62,
+                    "height": 23
+                },*/
+                /*{
+                    "type": "stn",
+                    "id": "site-114",
+                    "text": "1017",
+                    "top": 383,
+                    "left": 707,
+                    "width": 62,
+                    "height": 23
+                },*//*{
+                "type": "stn",
+                "id": "site-113",
+                "text": "RGV灏忚溅",
+                "top": 304,
+                "left": 643,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-112",
+            //     "text": "112",
+            //     "top": 304,
+            //     "left": 579,
+            //     "width": 62,
+            //     "height": 23
+            // },
+                /*{
+                "type": "stn",
+                "id": "site-105",
+                "text": "1012",
+                "top": 99,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*//*{
+                "type": "stn",
+                "id": "site-106",
+                "text": "1013",
+                "top": 124,
+                "left": 515,
+                "width": 62,
+                "height": 34
+            },*//*{
+                "type": "stn",
+                "id": "site-107",
+                "text": "1013",
+                "top": 160,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*//*{
+                "type": "stn",
+                "id": "site-108",
+                "text": "1013",
+                "top": 186,
+                "left": 515,
+                "width": 62,
+                "height": 42
+            },*//*{
+                "type": "stn",
+                "id": "site-109",
+                "text": "1013",
+                "top": 231,
+                "left": 515,
+                "width": 62,
+                "height": 70
+            },*//*{
+                "type": "stn",
+                "id": "site-110",
+                "text": "1014",
+                "top": 304,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*//*{
+                "type": "stn",
+                "id": "site-111",
+                "text": "1015",
+                "top": 329,
+                "left": 515,
+                "width": 62,
+                "height": 23
+            },*/
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1001",
+            //     "text": "1001",
+            //     "top": 99,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },
+            //     {
+            //     "type": "stn",
+            //     "id": "site-1002",
+            //     "text": "1002",
+            //     "top": 160,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1003",
+            //     "text": "1003",
+            //     "top": 231,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // },{
+            //     "type": "stn",
+            //     "id": "site-1004",
+            //     "text": "1004",
+            //     "top": 304,
+            //     "left": 451,
+            //     "width": 62,
+            //     "height": 23
+            // }
+            ]
+        }]
+    }]
+}
\ No newline at end of file
diff --git a/src/main/webapp/views/realtimeWatch/console.html b/src/main/webapp/views/realtimeWatch/console.html
index c33f08f..7515115 100644
--- a/src/main/webapp/views/realtimeWatch/console.html
+++ b/src/main/webapp/views/realtimeWatch/console.html
@@ -31,6 +31,12 @@
                 <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
             </div>
         </div>
+        <select onchange="window.open(this.value)">
+            <option value = "console1.html">--鎴愬搧涓�妤�--</option>
+            <option value="console2.html" >-鍗婃垚鍝佷簩妤�-</option>
+            <option value="console3.html">-鎴愬搧浜屾ゼ-</option>
+            <option value="console.html"selected ="selected">-鍗婃垚鍝佷竴妤�-</option>
+        </select>
         <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
         <div class="main-part">
 
diff --git a/src/main/webapp/views/realtimeWatch/console1.html b/src/main/webapp/views/realtimeWatch/console1.html
new file mode 100644
index 0000000..fa6c32a
--- /dev/null
+++ b/src/main/webapp/views/realtimeWatch/console1.html
@@ -0,0 +1,853 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>鑷姩浠撳簱wcs绯荤粺</title>
+    <link rel="stylesheet" href="../../static/wcs/css/render.css">
+    <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
+    <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
+    <!--鍦板浘json-->
+    <script src="../../static/wcs/js/console1.map.js"></script>
+    <script src="../../static/wcs/js/console.js"></script>
+    <script src="../../static/wcs/js/common.js"></script>
+</head>
+<script type="text/html" id="errorTpl">
+    {{# if( d.error === false ){ }}
+    <span name="level" class="layui-badge layui-badge-green">姝e父</span>
+    {{# } else { }}
+    <span name="level" class="layui-badge layui-badge-red">寮傚父</span>
+    {{# } }}
+</script>
+<body>
+    <div id="main">
+        <div class="head">
+            <div class="head-left">
+                <h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
+                <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
+            </div>
+        </div>
+        <select onchange="window.open(this.value)">
+            <option value = "console1.html">--鎴愬搧涓�妤�--</option>
+            <option value="" >-鍗婃垚鍝佷簩妤�-</option>
+            <option value="">-鎴愬搧浜屾ゼ-</option>
+            <option value="console.html"selected ="selected">-鍗婃垚鍝佷竴妤�-</option>
+        </select>
+        <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
+        <div class="main-part">
+
+        </div>
+
+<!--        &lt;!&ndash;璁惧鍒楄〃&ndash;&gt;-->
+<!--        <div class="device-info">-->
+<!--            <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>-->
+<!--        </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="" id="crnNo">
+                    </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>
+                <!-- 鎿嶄綔鎸夐挳 -->
+                <div class="form-item" style="display: flex;">
+                    <div class="form-item-input">
+                        <div>鍏ュ簱锛氬紑<input type="radio" name="pakIn" id="pakInY" value="1"> 鍏�<input type="radio" name="pakIn" id="pakInN" value="0"/></div>
+                        <div>鍑哄簱锛氬紑<input type="radio" name="pakOut" id="pakOutY" value="1"> 鍏�<input type="radio" name="pakOut" id="pakOutN" value="0"/></div>
+                    </div>
+                    <div><a id="crnCommand" class="layui-btn">涓嬪彂鍛戒护</a></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="" id="devpSiteId">
+                    </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="" id="devpWorkNo">
+                    </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="" id="devpStaNo">
+                    </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">
+                    <a id="devpCommand" class="layui-btn">涓嬪彂鍛戒护</a>
+                </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) {
+                // 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].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>'
+            $('#scale1').append(str1)
+        }
+        for (var j = 0; j < tData2.length; j++) {
+            var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>'
+            $('#scale2').append(str2)
+        }
+        for (var k = 0; k < tData3.length; k++) {
+            var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>'
+            $('#scale3').append(str3)
+        }
+    }
+</script>
+<script type="text/javascript">
+    // 寮圭獥绔欑偣淇℃伅
+    $("body").on('click', '.site', function (e) {
+        console.log(e)
+        var id = this.id.split("-")[1];
+        $("#siteWindow").attr("style", "display:block;");//鏄剧ずdiv
+        $("#crnWindow").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');
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 鍫嗗灈鏈轰俊鎭�
+    $("body").on('click', '.machine', function () {
+        var id = this.id.split("-")[1];
+        $("#crnWindow").attr('style', 'display:block;');
+        $("#siteWindow").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) {
+                console.log(res)
+                for (var val in res.data) {
+                    if (val === "inEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakInY").prop("checked", true);
+                        }else{
+                            $("#pakInN").prop("checked", true);
+                        }
+                    }else if (val === "outEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakOutY").prop("checked", true);
+                        }else{
+                            $("#pakOutN").prop("checked", true);
+                        }
+                    }else {
+                        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');
+                        }
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 寮圭獥鍏抽棴
+    $('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);
+                }
+            }
+        });
+    }
+
+    // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙�
+    function getSitesInfo() {
+        // carAnimate(112,4);
+        $.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);
+                        }
+                        // RGV浣嶇疆
+                        if(sites[i].siteId === '112' || sites[i].siteId === '212'){
+                            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 = 20.6;//($('.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 = 800;
+                        // crns[i].bay = 41;
+                        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 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;
+        if (id === 112) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else if (id === 212) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else {
+            return;
+        }
+        $("#site-" + id).animate({top: targetTop + 'px'}, 1000);
+    }
+
+    //涓嬪彂杈撻�佺嚎鍛戒护
+    $("#devpCommand").on("click", () => {
+        let siteId = $("#devpSiteId").val()//璁惧id
+        let wrkNo = $("#devpWorkNo").val()//宸ヤ綔鍙�
+        let staNo = $("#devpStaNo").val()//鐩爣绔�
+
+        $.ajax({
+            url: baseUrl+"/site/detl/update",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                devNo: siteId,
+                workNo: wrkNo,
+                staNo: staNo,
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
+    });
+
+    //涓嬪彂鍫嗗灈鏈哄懡浠�
+    $("#crnCommand").on("click", () => {
+        let crnNo = $("#crnNo").val()//璁惧id
+        var pakIn = $('input[name="pakIn"]:checked').val();
+        var pakOut = $('input[name="pakOut"]:checked').val();
+
+        console.log(pakIn,pakOut)
+
+        $.ajax({
+            url: baseUrl + "/basCrnp/update/auth",
+            headers: {
+                'token': localStorage.getItem('token')
+            },
+            data: {
+                crnNo: crnNo,
+                inEnable: pakIn == 1 ? "Y" : "N",
+                outEnable: pakOut == 1 ? "Y" : "N"
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        });
+    });
+
+</script>
\ No newline at end of file
diff --git a/src/main/webapp/views/realtimeWatch/console2.html b/src/main/webapp/views/realtimeWatch/console2.html
new file mode 100644
index 0000000..02bffdf
--- /dev/null
+++ b/src/main/webapp/views/realtimeWatch/console2.html
@@ -0,0 +1,853 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>鑷姩浠撳簱wcs绯荤粺</title>
+    <link rel="stylesheet" href="../../static/wcs/css/render.css">
+    <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
+    <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
+    <!--鍦板浘json-->
+    <script src="../../static/wcs/js/console2.map.js"></script>
+    <script src="../../static/wcs/js/console.js"></script>
+    <script src="../../static/wcs/js/common.js"></script>
+</head>
+<script type="text/html" id="errorTpl">
+    {{# if( d.error === false ){ }}
+    <span name="level" class="layui-badge layui-badge-green">姝e父</span>
+    {{# } else { }}
+    <span name="level" class="layui-badge layui-badge-red">寮傚父</span>
+    {{# } }}
+</script>
+<body>
+    <div id="main">
+        <div class="head">
+            <div class="head-left">
+                <h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
+                <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
+            </div>
+        </div>
+        <select onchange="window.open(this.value)">
+            <option value = "console1.html">--鎴愬搧涓�妤�--</option>
+            <option value="console2.html" >-鍗婃垚鍝佷簩妤�-</option>
+            <option value="console3.html">-鎴愬搧浜屾ゼ-</option>
+            <option value="console.html"selected ="selected">-鍗婃垚鍝佷竴妤�-</option>
+        </select>
+        <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
+        <div class="main-part">
+
+        </div>
+
+<!--        &lt;!&ndash;璁惧鍒楄〃&ndash;&gt;-->
+<!--        <div class="device-info">-->
+<!--            <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>-->
+<!--        </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="" id="crnNo">
+                    </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>
+                <!-- 鎿嶄綔鎸夐挳 -->
+                <div class="form-item" style="display: flex;">
+                    <div class="form-item-input">
+                        <div>鍏ュ簱锛氬紑<input type="radio" name="pakIn" id="pakInY" value="1"> 鍏�<input type="radio" name="pakIn" id="pakInN" value="0"/></div>
+                        <div>鍑哄簱锛氬紑<input type="radio" name="pakOut" id="pakOutY" value="1"> 鍏�<input type="radio" name="pakOut" id="pakOutN" value="0"/></div>
+                    </div>
+                    <div><a id="crnCommand" class="layui-btn">涓嬪彂鍛戒护</a></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="" id="devpSiteId">
+                    </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="" id="devpWorkNo">
+                    </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="" id="devpStaNo">
+                    </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">
+                    <a id="devpCommand" class="layui-btn">涓嬪彂鍛戒护</a>
+                </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) {
+                // 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].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>'
+            $('#scale1').append(str1)
+        }
+        for (var j = 0; j < tData2.length; j++) {
+            var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>'
+            $('#scale2').append(str2)
+        }
+        for (var k = 0; k < tData3.length; k++) {
+            var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>'
+            $('#scale3').append(str3)
+        }
+    }
+</script>
+<script type="text/javascript">
+    // 寮圭獥绔欑偣淇℃伅
+    $("body").on('click', '.site', function (e) {
+        console.log(e)
+        var id = this.id.split("-")[1];
+        $("#siteWindow").attr("style", "display:block;");//鏄剧ずdiv
+        $("#crnWindow").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');
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 鍫嗗灈鏈轰俊鎭�
+    $("body").on('click', '.machine', function () {
+        var id = this.id.split("-")[1];
+        $("#crnWindow").attr('style', 'display:block;');
+        $("#siteWindow").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) {
+                console.log(res)
+                for (var val in res.data) {
+                    if (val === "inEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakInY").prop("checked", true);
+                        }else{
+                            $("#pakInN").prop("checked", true);
+                        }
+                    }else if (val === "outEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakOutY").prop("checked", true);
+                        }else{
+                            $("#pakOutN").prop("checked", true);
+                        }
+                    }else {
+                        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');
+                        }
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 寮圭獥鍏抽棴
+    $('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);
+                }
+            }
+        });
+    }
+
+    // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙�
+    function getSitesInfo() {
+        // carAnimate(112,4);
+        $.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);
+                        }
+                        // RGV浣嶇疆
+                        if(sites[i].siteId === '112' || sites[i].siteId === '212'){
+                            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 = 20.6;//($('.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 = 800;
+                        // crns[i].bay = 41;
+                        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 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;
+        if (id === 112) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else if (id === 212) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else {
+            return;
+        }
+        $("#site-" + id).animate({top: targetTop + 'px'}, 1000);
+    }
+
+    //涓嬪彂杈撻�佺嚎鍛戒护
+    $("#devpCommand").on("click", () => {
+        let siteId = $("#devpSiteId").val()//璁惧id
+        let wrkNo = $("#devpWorkNo").val()//宸ヤ綔鍙�
+        let staNo = $("#devpStaNo").val()//鐩爣绔�
+
+        $.ajax({
+            url: baseUrl+"/site/detl/update",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                devNo: siteId,
+                workNo: wrkNo,
+                staNo: staNo,
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
+    });
+
+    //涓嬪彂鍫嗗灈鏈哄懡浠�
+    $("#crnCommand").on("click", () => {
+        let crnNo = $("#crnNo").val()//璁惧id
+        var pakIn = $('input[name="pakIn"]:checked').val();
+        var pakOut = $('input[name="pakOut"]:checked').val();
+
+        console.log(pakIn,pakOut)
+
+        $.ajax({
+            url: baseUrl + "/basCrnp/update/auth",
+            headers: {
+                'token': localStorage.getItem('token')
+            },
+            data: {
+                crnNo: crnNo,
+                inEnable: pakIn == 1 ? "Y" : "N",
+                outEnable: pakOut == 1 ? "Y" : "N"
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        });
+    });
+
+</script>
\ No newline at end of file
diff --git a/src/main/webapp/views/realtimeWatch/console3.html b/src/main/webapp/views/realtimeWatch/console3.html
new file mode 100644
index 0000000..a178e2a
--- /dev/null
+++ b/src/main/webapp/views/realtimeWatch/console3.html
@@ -0,0 +1,853 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>鑷姩浠撳簱wcs绯荤粺</title>
+    <link rel="stylesheet" href="../../static/wcs/css/render.css">
+    <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
+    <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
+    <!--鍦板浘json-->
+    <script src="../../static/wcs/js/console3.map.js"></script>
+    <script src="../../static/wcs/js/console.js"></script>
+    <script src="../../static/wcs/js/common.js"></script>
+</head>
+<script type="text/html" id="errorTpl">
+    {{# if( d.error === false ){ }}
+    <span name="level" class="layui-badge layui-badge-green">姝e父</span>
+    {{# } else { }}
+    <span name="level" class="layui-badge layui-badge-red">寮傚父</span>
+    {{# } }}
+</script>
+<body>
+    <div id="main">
+        <div class="head">
+            <div class="head-left">
+                <h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
+                <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
+            </div>
+        </div>
+        <select onchange="window.open(this.value)">
+            <option value = "console1.html">--鎴愬搧涓�妤�--</option>
+            <option value="console2.html" >-鍗婃垚鍝佷簩妤�-</option>
+            <option value="console3.html">-鎴愬搧浜屾ゼ-</option>
+            <option value="console.html"selected ="selected">-鍗婃垚鍝佷竴妤�-</option>
+        </select>
+        <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
+        <div class="main-part">
+
+        </div>
+
+<!--        &lt;!&ndash;璁惧鍒楄〃&ndash;&gt;-->
+<!--        <div class="device-info">-->
+<!--            <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>-->
+<!--        </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="" id="crnNo">
+                    </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>
+                <!-- 鎿嶄綔鎸夐挳 -->
+                <div class="form-item" style="display: flex;">
+                    <div class="form-item-input">
+                        <div>鍏ュ簱锛氬紑<input type="radio" name="pakIn" id="pakInY" value="1"> 鍏�<input type="radio" name="pakIn" id="pakInN" value="0"/></div>
+                        <div>鍑哄簱锛氬紑<input type="radio" name="pakOut" id="pakOutY" value="1"> 鍏�<input type="radio" name="pakOut" id="pakOutN" value="0"/></div>
+                    </div>
+                    <div><a id="crnCommand" class="layui-btn">涓嬪彂鍛戒护</a></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="" id="devpSiteId">
+                    </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="" id="devpWorkNo">
+                    </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="" id="devpStaNo">
+                    </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">
+                    <a id="devpCommand" class="layui-btn">涓嬪彂鍛戒护</a>
+                </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) {
+                // 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].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>'
+            $('#scale1').append(str1)
+        }
+        for (var j = 0; j < tData2.length; j++) {
+            var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>'
+            $('#scale2').append(str2)
+        }
+        for (var k = 0; k < tData3.length; k++) {
+            var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>'
+            $('#scale3').append(str3)
+        }
+    }
+</script>
+<script type="text/javascript">
+    // 寮圭獥绔欑偣淇℃伅
+    $("body").on('click', '.site', function (e) {
+        console.log(e)
+        var id = this.id.split("-")[1];
+        $("#siteWindow").attr("style", "display:block;");//鏄剧ずdiv
+        $("#crnWindow").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');
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 鍫嗗灈鏈轰俊鎭�
+    $("body").on('click', '.machine', function () {
+        var id = this.id.split("-")[1];
+        $("#crnWindow").attr('style', 'display:block;');
+        $("#siteWindow").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) {
+                console.log(res)
+                for (var val in res.data) {
+                    if (val === "inEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakInY").prop("checked", true);
+                        }else{
+                            $("#pakInN").prop("checked", true);
+                        }
+                    }else if (val === "outEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakOutY").prop("checked", true);
+                        }else{
+                            $("#pakOutN").prop("checked", true);
+                        }
+                    }else {
+                        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');
+                        }
+                    }
+                }
+            }
+
+        })
+
+    });
+    // 寮圭獥鍏抽棴
+    $('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);
+                }
+            }
+        });
+    }
+
+    // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙�
+    function getSitesInfo() {
+        // carAnimate(112,4);
+        $.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);
+                        }
+                        // RGV浣嶇疆
+                        if(sites[i].siteId === '112' || sites[i].siteId === '212'){
+                            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 = 20.6;//($('.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 = 800;
+                        // crns[i].bay = 41;
+                        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 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;
+        if (id === 112) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else if (id === 212) {
+            switch (target) {
+                case 1:
+                    targetTop += 313;
+                    break;
+                case 2:
+                    targetTop += 313;
+                    break;
+                case 3:
+                    targetTop += 256;
+                    break;
+                case 4:
+                    targetTop += 226;
+                    break;
+                case 5:
+                    targetTop += 168;
+                case 6:
+                    targetTop += 168;
+                    break;
+                default:
+                    return;
+            }
+        } else {
+            return;
+        }
+        $("#site-" + id).animate({top: targetTop + 'px'}, 1000);
+    }
+
+    //涓嬪彂杈撻�佺嚎鍛戒护
+    $("#devpCommand").on("click", () => {
+        let siteId = $("#devpSiteId").val()//璁惧id
+        let wrkNo = $("#devpWorkNo").val()//宸ヤ綔鍙�
+        let staNo = $("#devpStaNo").val()//鐩爣绔�
+
+        $.ajax({
+            url: baseUrl+"/site/detl/update",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                devNo: siteId,
+                workNo: wrkNo,
+                staNo: staNo,
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
+    });
+
+    //涓嬪彂鍫嗗灈鏈哄懡浠�
+    $("#crnCommand").on("click", () => {
+        let crnNo = $("#crnNo").val()//璁惧id
+        var pakIn = $('input[name="pakIn"]:checked').val();
+        var pakOut = $('input[name="pakOut"]:checked').val();
+
+        console.log(pakIn,pakOut)
+
+        $.ajax({
+            url: baseUrl + "/basCrnp/update/auth",
+            headers: {
+                'token': localStorage.getItem('token')
+            },
+            data: {
+                crnNo: crnNo,
+                inEnable: pakIn == 1 ? "Y" : "N",
+                outEnable: pakOut == 1 ? "Y" : "N"
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        });
+    });
+
+</script>
\ No newline at end of file

--
Gitblit v1.9.1