From c2b0be1a368a88e4adb6dda12d0aa5d3bb0df838 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 27 六月 2023 16:50:50 +0800
Subject: [PATCH] 搜索最近穿梭车,提升机完成方法
---
src/main/webapp/views/console.html | 374 ++++++++++++++++++++++++++++++-----------------------
1 files changed, 210 insertions(+), 164 deletions(-)
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 351be8b..8f36d8b 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -5,6 +5,7 @@
<title>WCS鎺у埗涓績</title>
<link rel="stylesheet" href="../static/css/console.css">
<link rel="stylesheet" href="../static/css/animate.min.css">
+ <link rel="stylesheet" href="../static/css/toggle-switch.css">
<script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
<script src="../static/js/layer/layer.js"></script>
<script type="text/javascript" src="../static/js/common.js"></script>
@@ -17,16 +18,20 @@
</header>
<main class="main">
<!--妤煎眰鎸夐挳-->
- <button class="floorBtn btn-16" onclick="changFloor(1)" style="margin-top: 150px">1F</button>
- <button class="floorBtn btn-16" onclick="changFloor(2)" style="margin-top: 200px">2F</button>
- <button class="floorBtn btn-16" onclick="changFloor(3)" style="margin-top: 250px">3F</button>
- <button class="floorBtn btn-16" onclick="testMove()" style="margin-top: 250px">娴嬭瘯绉诲姩灏忚溅</button>
+ <div id="floorBtnBox">
+ <button class="floorBtn btn-16" onclick="changFloor(this,1)" style="margin-top: 150px">1F</button>
+ <button class="floorBtn btn-16" onclick="changFloor(this,2)" style="margin-top: 200px">2F</button>
+ <button class="floorBtn btn-16" onclick="changFloor(this,3)" style="margin-top: 250px">3F</button>
+ <button class="floorBtn btn-16" onclick="changFloor(this,4)" style="margin-top: 300px">4F</button>
+ </div>
+ <button class="floorBtn btn-16" onclick="testMove()" style="margin-top: 350px;font-size: 14px;">娴嬭瘯绉诲姩杞�</button>
+ <button class="floorBtn btn-16" onclick="resetMap()" style="margin-top: 400px;font-size: 14px;">閲嶇疆鍦板浘</button>
<!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
<div class="main-part">
<!-- 绗竴缁� -->
<div class="lane" id="mapDataId" style="margin-bottom: 280px">
- <div class="sxcar" id="sxcar-1"></div>
+
</div>
</div>
</main>
@@ -35,35 +40,51 @@
<div class="system-state">
<div class="body-head">鎬诲紑鍏�</div>
<div class="switch">
- <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div>
+ <label id="system-toggle" class="toggle-switch" style="margin-left: 20px;">
+ <input id="system-toggle-checked" checked="checked" type="checkbox">
+ <div class="button">
+ <div class="light"></div>
+ <div class="dots"></div>
+ <div class="characters"></div>
+ <div class="shine"></div>
+ <div class="shadow"></div>
+ </div>
+ </label>
+
<div class="switch_r">
<p>绯荤粺鐘舵��</p>
<p id="system-run-desc">绯荤粺杩愯涓�</p>
</div>
</div>
</div>
- <!-- 鍫嗗灈鏈虹姸鎬� -->
- <div class="machine-status">
- <div class="body-head">鍫嗗灈鏈虹姸鎬�</div>
- <div class="state">
- <span>鍫嗗灈鏈� 1</span>
- <span class="state-ss machine-put-flag ">鍏ュ簱</span>
+ <!-- 鍥涘悜绌挎杞︾姸鎬� -->
+ <div class="line-status">
+ <div class="body-head">绌挎杞︾姸鎬�</div>
+ <div id="shuttle-status-box">
</div>
-<!-- <div class="state">-->
-<!-- <span>鍫嗗灈鏈� 2</span>-->
-<!-- <span class="state-ss machine-auto-flag ">鑷姩</span>-->
-
-<!-- </div>-->
<div class="button"><span>鎵�鏈夌姸鎬�</span></div>
<div class="button item-group">
- <span class="machine-put-flag">鍏ュ簱</span>
- <span class="machine-take-flag">鍑哄簱</span>
- <span class="machine-stock-move-flag">搴撳埌搴�</span>
- <span class="machine-site-move-flag">绔欏埌绔�</span>
- <span class="machine-p-move-flag">PToP</span>
- <span class="machine-error-flag">寮傚父</span>
- <span class="machine-auto-flag">鑷姩</span>
- <span class="machine-unauto-flag">闈炶嚜鍔�/鎵嬪姩</span>
+ <span class="shuttle-idle">绌洪棽</span>
+ <span class="shuttle-working">浣滀笟涓�</span>
+ <span class="shuttle-waiting">绛夊緟纭</span>
+ <span class="shuttle-charging">鍏呯數涓�</span>
+ <span class="shuttle-charging-waiting">鍏呯數浠诲姟绛夊緟纭</span>
+ <span class="shuttle-fixing">鏁呴殰淇涓�</span>
+ <span class="shuttle-offline">绂荤嚎</span>
+ </div>
+ </div>
+ <!-- 鎻愬崌鏈虹姸鎬� -->
+ <div class="line-status">
+ <div class="body-head">鎻愬崌鏈虹姸鎬�</div>
+ <div id="lift-status-box">
+
+ </div>
+ <div class="button"><span>鎵�鏈夌姸鎬�</span></div>
+ <div class="button item-group">
+ <span class="lift-idle">绌洪棽</span>
+ <span class="lift-working">浣滀笟涓�</span>
+ <span class="lift-waiting">绛夊緟纭</span>
+ <span class="lift-offline">绂荤嚎</span>
</div>
</div>
<!-- 杈撻�佺嚎鐘舵�� -->
@@ -98,14 +119,6 @@
<li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
<div id="barcode2" class="table-body">
-
- </div>
- </div>
- <div class="tablebox">
- <div class="table-head">
- <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
- </div>
- <div id="barcode3" class="table-body">
</div>
</div>
@@ -340,6 +353,7 @@
var tData2 = []
var tData3 = []
var mapData = [] //鍦板浘鏁版嵁
+ var currentLev = 1;//褰撳墠鍦板浘妤煎眰
function getCodeData(){
$.ajax({
url:baseUrl +'/console/barcode/output/site',
@@ -395,8 +409,101 @@
$(function (){
- initMap()
+ initMap(1)
})
+
+ setInterval(() => {
+ getShuttleStateInfo()
+ getLiftStateInfo()
+ },1000)
+
+ // 鎻愬崌鏈轰俊鎭〃鑾峰彇
+ function getLiftStateInfo() {
+ $.ajax({
+ url: baseUrl+ "/lift/table/lift/state",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ $("#lift-status-box").empty()
+ res.data.forEach((item,index) => {
+ let liftStatusClass = "lift-idle"
+ switch (item.status) {
+ case 1://绌洪棽
+ liftStatusClass = "lift-idle";
+ break
+ case 2://浣滀笟涓�
+ liftStatusClass = "lift-working";
+ break
+ case 3://绛夊緟纭
+ liftStatusClass = "lift-waiting";
+ break
+ case 4://绂荤嚎
+ liftStatusClass = "lift-offline";
+ break
+ default:
+ liftStatusClass = "lift-idle"
+ }
+ let liftStatus = '<div class="state states">' +
+ '<span>鎻愬崌鏈� ' + item.liftNo + '</span>' +
+ '<span class="state-ss ' + liftStatusClass + '">' + item.protocolStatus$ + '</span></div>';
+ $("#lift-status-box").append(liftStatus)
+
+ })
+ }
+ });
+ }
+
+ // 鍥涘悜绌挎杞︿俊鎭〃鑾峰彇
+ function getShuttleStateInfo() {
+ $.ajax({
+ url: baseUrl+ "/shuttle/table/shuttle/state",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ $("#shuttle-status-box").empty()
+ res.data.forEach((item,index) => {
+ let shuttleStatusClass = "shuttle-idle"
+ switch (item.status) {
+ case 1://绌洪棽
+ shuttleStatusClass = "shuttle-idle";
+ break
+ case 2://浣滀笟涓�
+ shuttleStatusClass = "shuttle-working";
+ break
+ case 3://绛夊緟纭
+ shuttleStatusClass = "shuttle-waiting";
+ break
+ case 4://鍏呯數涓�
+ shuttleStatusClass = "shuttle-charging";
+ break
+ case 5://鍏呯數浠诲姟绛夊緟纭
+ shuttleStatusClass = "shuttle-charging-waiting";
+ break
+ case 6://鏁呴殰淇涓�
+ shuttleStatusClass = "shuttle-fixing";
+ break
+ case 7://绂荤嚎
+ shuttleStatusClass = "shuttle-offline";
+ break
+ default:
+ shuttleStatusClass = "shuttle-offline"
+ }
+ let shuttleStatus = '<div class="state">' +
+ '<span>鍥涘悜绌挎杞� ' + item.shuttleNo + '</span>' +
+ '<span class="state-ss ' + shuttleStatusClass + '">' + item.status$ + '</span></div>';
+ $("#shuttle-status-box").append(shuttleStatus)
+
+ if(item.locNoLev != currentLev){
+ //鍥涘悜绌挎杞︽ゼ灞傚拰褰撳墠鍦板浘妤煎眰涓嶄竴鑷达紝鍒犻櫎璇ヨ溅杈�
+ $("#sxcar-" + item.shuttleNo).remove()
+ }else {
+ //绉诲姩鍥涘悜绌挎杞�
+ moveCar(item.shuttleNo,item.locNoX,item.locNoY)
+ }
+ })
+ }
+ });
+ }
//璁$畻鍥涘悜绌挎杞﹀浘鏍囦綅缃�
function getCarPosition(x,y) {
@@ -415,14 +522,36 @@
}
//鍒濆鍖栧湴鍥�
- function initMap() {
- //姣嶈建閬撶涓�娆$储寮曪紝鐢ㄤ簬瀹氫綅灏忚溅
- let firstMotherIndex = [0,0];
+ function initMap(lev) {
+ getMap(lev)
$.ajax({
+ url: baseUrl+ "/shuttle/table/shuttle/state",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ res.data.forEach((item,index) => {
+ if(lev == item.locNoLev){
+ let carBox = '<div class="sxcar" id="sxcar-' + item.shuttleNo + '"></div>'
+ $("#mapDataId").append(carBox)
+ }
+ })
+ }
+ });
+ }
+
+ //鑾峰彇鍦板浘鏁版嵁
+ function getMap(lev) {
+ //姣嶈建閬撶涓�娆$储寮曪紝鐢ㄤ簬瀹氫綅灏忚溅
+ let firstMotherIndex = [0,0];
+ $("#mapDataId").empty()
+ $.ajax({
type:"get",
- url: baseUrl + "/static/js/map.json",
- success: (data) => {
+ // url: baseUrl + "/static/js/map_" + lev + ".json",
+ url: baseUrl + "/console/map/" + lev + "/auth",
+ headers: {'token': localStorage.getItem('token')},
+ success: (res) => {
+ let data = res.data
mapData = data
let content = ""
data.forEach((rowData,index) => {
@@ -434,6 +563,9 @@
if(!(idx == 0 || rowData.length - 1 == idx)){
let col;
switch (colData.value){
+ case -999:
+ col = '<button class="item" style="background:#f83333;color: #fff;">' + idx + '</button>';
+ break;
case -1:
col = '<button class="item" style="visibility: hidden">' + idx + '</button>';
break;
@@ -447,8 +579,12 @@
break;
case 4:
//绔欑偣
- let data = colData.data
+ var data = colData.data;
col = '<div id="site-' + data + '" class="site">' + data + '(9991)</div>';
+ break;
+ case 5:
+ //鍏呯數妗�
+ col = '<button class="item" style="font-size: 24px">⚡</button>';
break;
default:
col = '<button class="item">' + idx + '</button>';
@@ -466,7 +602,6 @@
}
})
- moveCar(1, firstMotherIndex[0], firstMotherIndex[1]);
$("#mapDataId").append(content)
}
})
@@ -582,6 +717,23 @@
moveCar(1, item.x, item.y);
})
+ }
+
+ /**
+ * 閲嶇疆鍦板浘
+ */
+ function resetMap() {
+ $.ajax({
+ url:baseUrl+"/console/map/resetMap/auth",
+ headers:{
+ 'token': localStorage.getItem('token')
+ },
+ data:{},
+ method:'get',
+ success:function (res) {
+ layer.msg('閲嶇疆瀹屾垚');
+ }
+ })
}
// 灏忚溅鍋忕Щ鍔ㄧ敾
@@ -707,7 +859,6 @@
})
-
var crn1Position = 0;
var crn2Position = 0;
var crn3Position = 0;
@@ -730,6 +881,12 @@
setInterval(function () {
getSitesInfo();
}, 3000);
+
+ $("#system-toggle").on("click",(e) => {
+ systemSwitch()
+ e.stopPropagation();//琛ㄧず闃绘鍚戠埗鍏冪礌鍐掓场
+ e.preventDefault();//闃绘 鏂规硶闃绘鍏冪礌鍙戠敓榛樿鐨勮涓猴紙渚嬪锛屽綋鐐瑰嚮鎻愪氦鎸夐挳鏃堕樆姝㈠琛ㄥ崟鐨勬彁浜ゆ垨鑰卆鏍囩锛夈��
+ })
// 绯荤粺杩愯寮�鍏�
function systemSwitch() {
@@ -762,11 +919,11 @@
layer.close(index);
if (res.code === 200){
if (res.data.status) {
- $('#system-icon').attr("class", "system-icon-open");
+ $('#system-toggle-checked').attr("checked", true);
$('#system-run-desc').html("绯荤粺杩愯涓�...");
parent.systemRunning = true;
} else {
- $('#system-icon').attr("class", "system-icon-close");
+ $('#system-toggle-checked').attr("checked", false);
$('#system-run-desc').html("绯荤粺宸插仠姝�!");
parent.systemRunning = false;
}
@@ -790,11 +947,11 @@
success: function (res) {
if (res.code === 200){
if (res.data.status) {
- $('#system-icon').attr("class", "system-icon-open");
+ $('#system-toggle-checked').attr("checked", true);
$('#system-run-desc').html("绯荤粺杩愯涓�...");
parent.systemRunning = true;
} else {
- $('#system-icon').attr("class", "system-icon-close");
+ $('#system-toggle-checked').attr("checked", false);
$('#system-run-desc').html("绯荤粺宸插仠姝�!");
parent.systemRunning = false;
}
@@ -905,102 +1062,6 @@
});
}
- // 鍫嗗灈鏈哄亸绉诲姩鐢�
- function crnAnimate(id, leftVal) {
- switch (id) {
- case 1:
- $("#crn-1").animate({left: leftVal+'px'}, 1000);
- crn1Position = leftVal;
- break;
- case 2:
- $("#crn-2").animate({left: leftVal+'px'}, 1000);
- crn2Position = leftVal;
- break;
- case 3:
- $("#crn-3").animate({left: leftVal+'px'}, 1000);
- crn3Position = leftVal;
- break;
- case 4:
- $("#crn-4").animate({left: leftVal+'px'}, 1000);
- crn4Position = leftVal;
- break;
- case 5:
- $("#crn-5").animate({left: leftVal+'px'}, 1000);
- crn5Position = leftVal;
- break;
- default:
- break
- }
- }
-
- // 椤甸潰鐐瑰嚮浜嬩欢鐩戝惉 ---------------------------------------------------------
-
- // 杈撻�佽澶囩偣鍑讳簨浠�
- // $('.site').on('click', function () {
- // var id = this.id.split("-")[1];
- // if (id === undefined) {
- // return;
- // }
- // layer.open({
- // title: id + " 绔欑偣淇℃伅璇︽儏",
- // closeBtn: 0,
- // skin: 'layui-layer-lan',
- // offset: '180px',
- // type: 1,
- // shadeClose: true,
- // content: $('#siteWindow'),
- // area: ['35rem', '18rem'],
- // btn: ['纭畾', '鍏抽棴'],
- // success: function(layero, index){
- // http.post(baseUrl+"/console/site/detail", {siteId: id}, 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');
- // }
- // }
- // })
- // },
- // end: function () {
- // $(':input', $("#siteWindow")).val('').removeAttr('checked').removeAttr('selected');
- // }
- // });
- // });
-
- // 鍫嗗灈鏈虹偣鍑讳簨浠�
- // $('.machine').on('click', function () {
- // var id = this.id.split("-")[1];
- // layer.open({
- // title: id+"鍙峰爢鍨涙満",
- // skin: 'layui-layer-lan',
- // closeBtn: 0,
- // type: 1,
- // offset: '150px',
- // shadeClose: true,
- // content: $("#crnWindow"),
- // area: ['40rem', '20rem'],
- // btn: ['纭畾', '鍏抽棴'],
- // success: function(layero, index){
- // http.post(baseUrl+"/console/crn/detail", {crnNo: id}, function (res) {
- // for (var val in res.data) {
- // var find = $("#crnWindow").find(":input[name='" + val + "']");
- // if (find[0].type==='text') {
- // find.val(res.data[val]);
- // } else if (find[0].type === 'checkbox') {
- // find.attr("checked", res.data[val] === 'Y');
- // }
- // }
- // })
- // },
- // end: function () {
- // $(':input', $("#crnWindow")).val('').removeAttr('checked').removeAttr('selected');
- // }
- // });
- // });
-
-
// 灏忚溅鍋忕Щ鍔ㄧ敾
function carAnimate(id, target) {
var targetTop = 122;
@@ -1030,29 +1091,14 @@
$("#site-" + id).animate({top: targetTop+'px'}, 1000);
}
-
//妤煎眰鍒囨崲鎸夐挳
- function changFloor(x) {
- switch (x) {
- case 1:
- $('#fool1').css("display","block")
- $('#fool2').css("display","none")
- $('#fool3').css("display","none")
- return
- case 2:
- $('#fool1').css("display","none")
- $('#fool2').css("display","block")
- $('#fool3').css("display","none")
- return
- case 3:
- $('#fool1').css("display","none")
- $('#fool2').css("display","none")
- $('#fool3').css("display","block")
- return
- default:
- return;
-
- }
+ function changFloor(e,x) {
+ $("#floorBtnBox button").each((index,item) => {
+ $(item).removeClass("btn-16-active")
+ })
+ $(e).addClass("btn-16-active")
+ currentLev = x
+ initMap(currentLev)
}
</script>
--
Gitblit v1.9.1