From f27968397dd2d37add528bf7937ebd6905762a09 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 四月 2023 15:11:08 +0800
Subject: [PATCH] 穿梭车、提升机、主控界面优化
---
src/main/java/com/zy/asrs/entity/BasShuttle.java | 7
src/main/webapp/static/css/toggle-switch.css | 138 ++++++++++++
src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java | 11 +
src/main/java/com/zy/asrs/controller/ShuttleController.java | 18 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 114 ----------
src/main/java/com/zy/core/thread/ShuttleThread.java | 13 +
src/main/webapp/views/console.html | 79 ++++--
src/main/webapp/static/css/console.css | 38 +++
src/main/webapp/views/shuttle.html | 195 +++++++++--------
src/main/webapp/static/css/shuttle.css | 2
10 files changed, 373 insertions(+), 242 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java
index acff75b..8cb7e94 100644
--- a/src/main/java/com/zy/asrs/controller/ShuttleController.java
+++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -165,6 +165,8 @@
vo.setPakMk(shuttleProtocol.getPakMk()?"Y" : "N"); // 浣滀笟鏍囪
vo.setLocNo(shuttleProtocol.getLocNo());//鍥涘悜绌挎杞﹀綋鍓嶅簱浣嶅彿
vo.setLev(Utils.getLev(shuttleProtocol.getLocNo()));//鍥涘悜绌挎杞﹀綋鍓嶅眰楂�
+ vo.setRunSpeed(basShuttle.getRunSpeed());//鍥涘悜绌挎杞﹁繍琛岄�熷害(璁剧疆)
+ vo.setChargeLine(basShuttle.getChargeLine());//鍏呯數闃堝��
}
return R.ok().add(list);
}
@@ -267,6 +269,22 @@
return R.ok();
}
+ @PostMapping("/runSpeed/{shuttleNo}")
+ @ManagerAuth
+ public R setRunSpeed(@PathVariable("shuttleNo") String shuttleNo, @RequestParam("runSpeed") Integer runSpeed, @RequestParam("chargeLine") Integer chargeLine) {
+
+ BasShuttle basShuttle = basShuttleService.selectById(shuttleNo);
+ if (basShuttle == null) {
+ return R.error("鍥涘悜绌挎杞︿笉瀛樺湪");
+ }
+ basShuttle.setRunSpeed(runSpeed);
+ basShuttle.setChargeLine(chargeLine);
+ if (!basShuttleService.updateById(basShuttle)) {
+ return R.error();
+ }
+ return R.ok();
+ }
+
/****************************************************************/
/************************** 鎵嬪姩鎿嶄綔 ******************************/
/****************************************************************/
diff --git a/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
index 99f28e4..67713f4 100644
--- a/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
@@ -1,5 +1,6 @@
package com.zy.asrs.domain.vo;
+import com.sun.xml.internal.fastinfoset.algorithm.IntEncodingAlgorithm;
import lombok.Data;
@Data
@@ -76,4 +77,14 @@
*/
private Integer lev;
+ /**
+ * 鍥涘悜绌挎杞﹁繍琛岄�熷害
+ */
+ private Integer runSpeed;
+
+ /**
+ * 鍏呯數闃堝��
+ */
+ private Integer chargeLine;
+
}
diff --git a/src/main/java/com/zy/asrs/entity/BasShuttle.java b/src/main/java/com/zy/asrs/entity/BasShuttle.java
index c182e77..62f83ef 100644
--- a/src/main/java/com/zy/asrs/entity/BasShuttle.java
+++ b/src/main/java/com/zy/asrs/entity/BasShuttle.java
@@ -244,6 +244,13 @@
@TableField("current_move_servo_load")
private Integer currentMoveServoLoad;
+ /**
+ * 灏忚溅杩愯閫熷害
+ */
+ @ApiModelProperty(value= "灏忚溅杩愯閫熷害")
+ @TableField("run_speed")
+ private Integer runSpeed;
+
public BasShuttle() {}
public BasShuttle(Integer shuttleNo,Integer status,Integer shuttleStatus,Integer wrkNo,String idleLoc,Integer autoCharge,Integer chargeLine,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer liftNo,Boolean pakMk,Integer busyStatus,Integer currentCode,Integer batteryPower,Integer batteryTemp,Integer errorCode,Integer plcOutputStatusIo,Integer statusErrorCode,Integer plcInputStatus,Integer currentOrBeforeCode,Integer codeOffsetX,Integer codeOffsetY,Integer currentVoltage,Integer currentAnalogValue,Integer currentLiftServoSpeed,Integer currentMoveServoSpeed,Integer currentLiftServoLoad,Integer currentMoveServoLoad) {
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 3b92522..f2b386c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -606,115 +606,6 @@
}
}
-// /**
-// * 鍏ュ簱 ===>> 鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
-// */
-// public synchronized void shuttleIoInExecute() {
-// // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-// for (DevpSlave devp : slaveProperties.getDevp()) {
-// // 閬嶅巻鍏ュ簱绔�
-// for (DevpSlave.StaRack rackInStn : devp.getRackInStn()) {
-// // 鑾峰彇鍏ュ簱绔欎俊鎭�
-// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-//
-// StaProtocol staProtocol = devpThread.getStation().get(rackInStn.getStaNo());
-// StaProtocol staProtocol105 = devpThread.getStation().get(105);
-// staProtocol105.setWorkNo((short) 752);
-// staProtocol105.setStaNo((short) 100);
-//
-// StaProtocol staProtocol106 = devpThread.getStation().get(106);
-// staProtocol106.setWorkNo((short) 753);
-// staProtocol106.setStaNo((short) 100);
-//
-// if (staProtocol == null) {
-// continue;
-// } else {
-// staProtocol = staProtocol.clone();
-// }
-// Short workNo = staProtocol.getWorkNo();
-//
-// // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-// if (true || staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()) {
-// WrkMast wrkMast = wrkMastMapper.selectRackInStep48(workNo, staProtocol.getSiteId());
-// if (wrkMast != null) {
-// if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 8) {
-// ShuttleThread shuttleThread = null;
-// HashMap<String, Object> searchIdleShuttle = null;
-// if (wrkMast.getWrkSts() == 4) {
-// //瀵绘壘鏈�杩戜笖绌洪棽鐨勫洓鍚戠┛姊溅
-// searchIdleShuttle = this.searchIdleShuttle(wrkMast);
-// shuttleThread = (ShuttleThread) searchIdleShuttle.get("result");
-// }else {
-// //鐘舵��8锛屽洓鍚戠┛姊溅宸插湪鎻愬崌鏈哄彛锛岀瓑寰呭懡浠よ繘琛屽叆搴撴惉杩愬姩浣�
-// Integer shuttleNo = wrkMast.getShuttleNo();//鍥涘悜绌挎杞﹀彿
-// shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo);
-// }
-//
-// if (shuttleThread == null) {
-// continue;
-// }
-//
-// ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
-// if (!shuttleProtocol.isIdle()) {
-// continue;
-// }
-//
-// wrkMast.setShuttleNo(shuttleProtocol.getShuttleNo().intValue());//缁欏伐浣滄。鍒嗛厤鍥涘悜绌挎杞﹀彿
-//
-// //鍒嗛厤浠诲姟鍙�
-// shuttleProtocol.setTaskNo(wrkMast.getWrkNo().shortValue());
-// //鍒嗛厤婧愬簱浣�
-// shuttleProtocol.setSourceLocNo(wrkMast.getSourceLocNo());
-//
-// ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
-// //鍥涘悜绌挎杞﹀彿
-// assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());
-// //浠诲姟鍙�
-// assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
-// //鍏ュ嚭搴撴ā寮�
-// assignCommand.setTaskMode(ShuttleTaskModeType.PAK_IN.id.shortValue());
-// //婧愬簱浣�(灏忚溅褰撳墠浣嶇疆)
-// String currentLocNo = shuttleProtocol.getCurrentLocNo();
-// assignCommand.setSourceLocNo(currentLocNo);
-//
-// if (wrkMast.getWrkSts() == 8 || Boolean.parseBoolean(searchIdleShuttle.get("sameLay").toString())) {
-// //鍚屼竴灞�
-// //鍒嗛厤鐩爣搴撲綅
-// shuttleProtocol.setLocNo(wrkMast.getLocNo());
-// //鐩爣搴撲綅
-// assignCommand.setLocNo(wrkMast.getLocNo());
-// wrkMast.setWrkSts(9L);//灏忚溅鍏ュ簱涓�
-//
-// //鑾峰彇浠庡皬杞�
-// }else {
-// //涓嶅悓灞傦紝灏嗙洰鏍囧簱浣嶅垎閰嶆垚鎻愬崌鏈哄簱浣嶅彿
-//
-// //灏忚溅褰撳墠灞傞珮
-// Integer currentLev = Integer.parseInt(currentLocNo.substring(currentLocNo.length() - 2, currentLocNo.length()));
-//
-// //鑾峰彇鎻愬崌鏈�
-// LiftSlave liftSlave = slaveProperties.getLift().get(0);
-// //鎻愬崌鏈哄簱浣嶅彿
-// String liftLocNo = liftSlave.getLiftLocNo(currentLev);
-// shuttleProtocol.setLocNo(liftLocNo);
-// //鐩爣搴撲綅
-// assignCommand.setLocNo(liftLocNo);
-// wrkMast.setWrkSts(5L);//灏忚溅杩佺Щ鐘舵��
-// }
-//
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// //涓嬪彂浠诲姟
-// MessageQueue.offer(SlaveType.Shuttle, assignCommand.getShuttleNo().intValue(), new Task(3, assignCommand));
-// }
-// }
-//
-// }
-// }
-//
-// }
-// }
-//
-// }
/**
* 鍏ュ簱 ===>> 鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
@@ -807,7 +698,6 @@
moveCommand.setStartToDistDistance(1300);
moveCommand.setMiddleToDistDistance(0);
moveCommand.setRunDirection(commands.get(0).getRunDirection());
- moveCommand.setRunSpeed((short) 1000);
moveCommand.setCommandEnd((short) 1);
commands.add(0, moveCommand);//灏嗚鎸囦护娣诲姞鍒伴槦澶�
}
@@ -883,7 +773,6 @@
command.setForceMoveDistance(0);
command.setChargeSwitch((short) 2);
command.setIOControl((short) 0);
- command.setRunSpeed((short) 1000);
command.setRadarTmp((short) 0);
command.setCommandEnd((short) 1);
commands.add(command);
@@ -930,7 +819,6 @@
command.setForceMoveDistance(0);
command.setChargeSwitch((short) 2);
command.setIOControl((short) 0);
- command.setRunSpeed((short) 1000);
command.setRadarTmp((short) 0);
command.setCommandEnd((short) 1);
commands.add(command);
@@ -978,7 +866,6 @@
command.setForceMoveDistance(0);
command.setChargeSwitch((short) 2);
command.setIOControl((short) 0);
- command.setRunSpeed((short) 1000);
command.setRadarTmp((short) 0);
command.setCommandEnd((short) 1);
commands.add(command);
@@ -1103,7 +990,6 @@
moveCommand.setStartToDistDistance(1300);
moveCommand.setMiddleToDistDistance(0);
moveCommand.setRunDirection(commands.get(0).getRunDirection());
- moveCommand.setRunSpeed((short) 1000);
moveCommand.setCommandEnd((short) 1);
commands.add(0, moveCommand);//灏嗚鎸囦护娣诲姞鍒伴槦澶�
diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index 871654e..b3d8b2e 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -290,6 +290,18 @@
return false;
}
+ BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class);
+ if (shuttleService == null) {
+ News.error("绯荤粺閿欒");
+ return false;
+ }
+
+ BasShuttle basShuttle = shuttleService.selectById(slave.getId().shortValue());
+ if (basShuttle == null) {
+ News.error("鍥涘悜绌挎杞︿笉瀛樺湪");
+ return false;
+ }
+
command.setShuttleNo(slave.getId().shortValue());
// 寮�濮嬩换鍔�
short[] array = new short[17];
@@ -324,6 +336,7 @@
array[7] = middleToDistDistances[1];
}
+ array[8] = basShuttle.getRunSpeed().shortValue();//鍥涘悜绌挎杞﹁繍琛岄�熷害锛屼粠绯荤粺鏁版嵁搴撹鍑�
if (command.getRunDirection() != null) {
//灏忚溅杩愯鏂瑰悜
array[8] = command.getRunDirection();
diff --git a/src/main/webapp/static/css/console.css b/src/main/webapp/static/css/console.css
index c6eb3a0..819881c 100644
--- a/src/main/webapp/static/css/console.css
+++ b/src/main/webapp/static/css/console.css
@@ -106,7 +106,7 @@
display: inline-block;
float: left;
position: fixed;
- width: 49%;
+ width: 34%;
height: 23%;
background-color: rgba(0, 0, 0, 0.3);
border-radius: 15px;
@@ -281,6 +281,42 @@
.site-unauto {
background-color: rgb(184,184,184);
}
+/*绌洪棽*/
+.shuttle-idle {
+ background-color: rgb(120,255,129);
+}
+/*浣滀笟涓�*/
+.shuttle-working {
+ background-color: rgb(196,196,0);
+}
+/*绛夊緟纭*/
+.shuttle-waiting {
+ background-color: rgb(184,184,184);
+}
+/*鍏呯數涓�*/
+.shuttle-charging {
+ background-color: rgb(250,81,246);
+}
+/*鍏呯數浠诲姟绛夊緟纭*/
+.shuttle-charging-waiting {
+ background-color: rgb(58,77,249);
+}
+/*鏁呴殰淇涓�*/
+.shuttle-fixing {
+ background-color: rgb(252,48,48);
+}
+/*绌洪棽*/
+.lift-idle {
+ background-color: rgb(120,255,129);
+}
+/*浣滀笟涓�*/
+.lift-working {
+ background-color: rgb(196,196,0);
+}
+/*绛夊緟纭*/
+.lift-waiting {
+ background-color: rgb(184,184,184);
+}
#code {
background-image: url(../images/status_bar_2.png);
background-repeat: no-repeat;
diff --git a/src/main/webapp/static/css/shuttle.css b/src/main/webapp/static/css/shuttle.css
index b507363..a5ef5da 100644
--- a/src/main/webapp/static/css/shuttle.css
+++ b/src/main/webapp/static/css/shuttle.css
@@ -227,7 +227,7 @@
border: 1px solid #333;
font-size: 13px;
padding: 1px 1px 1px 1px;
- width: 100px;
+ width: 110px;
height: 40px;
outline: none;
cursor: pointer;
diff --git a/src/main/webapp/static/css/toggle-switch.css b/src/main/webapp/static/css/toggle-switch.css
new file mode 100644
index 0000000..9ce2791
--- /dev/null
+++ b/src/main/webapp/static/css/toggle-switch.css
@@ -0,0 +1,138 @@
+.toggle-switch {
+ display: inline-block;
+ background-color: black;
+ width: 60px;
+ height: 105px;
+ box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2), 0 0 1px 2px black, inset 0 2px 2px -2px white, inset 0 0 2px 15px #47434c, inset 0 0 2px 22px black;
+ border-radius: 5px;
+ padding: 20px;
+ perspective: 700px;
+}
+
+.toggle-switch input {
+ display: none;
+}
+
+.toggle-switch input:checked + .button {
+ transform: translateZ(20px) rotateX(25deg);
+ box-shadow: 0 -10px 20px #ff1818;
+}
+
+.toggle-switch input:checked + .button .light {
+ animation: flicker 0.2s infinite 0.3s;
+}
+
+.toggle-switch input:checked + .button .shine {
+ opacity: 1;
+}
+
+.toggle-switch input:checked + .button .shadow {
+ opacity: 0;
+}
+
+.toggle-switch .button {
+ display: block;
+ transition: all 0.3s cubic-bezier(1, 0, 1, 1);
+ transform-origin: center center -20px;
+ transform: translateZ(20px) rotateX(-25deg);
+ transform-style: preserve-3d;
+ background-color: #9b0621;
+ height: 100%;
+ position: relative;
+ cursor: pointer;
+ background: linear-gradient(#980000 0%, #6f0000 30%, #6f0000 70%, #980000 100%);
+ background-repeat: no-repeat;
+}
+
+.toggle-switch .button::before {
+ content: "";
+ background: linear-gradient(rgba(255, 255, 255, 0.8) 10%, rgba(255, 255, 255, 0.3) 30%, #650000 75%, #320000) 50% 50%/97% 97%, #b10000;
+ background-repeat: no-repeat;
+ width: 100%;
+ height: 50px;
+ transform-origin: top;
+ transform: rotateX(-90deg);
+ position: absolute;
+ top: 0;
+}
+
+.toggle-switch .button::after {
+ content: "";
+ background-image: linear-gradient(#650000, #320000);
+ width: 100%;
+ height: 50px;
+ transform-origin: top;
+ transform: translateY(50px) rotateX(-90deg);
+ position: absolute;
+ bottom: 0;
+ box-shadow: 0 50px 8px 0px black, 0 80px 20px 0px rgba(0, 0, 0, 0.5);
+}
+
+.toggle-switch .light {
+ opacity: 0;
+ animation: light-off 1s;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background-image: radial-gradient(#ffc97e, #ff1818 40%, transparent 70%);
+}
+
+.toggle-switch .dots {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background-image: radial-gradient(transparent 30%, rgba(101, 0, 0, 0.7) 70%);
+ background-size: 10px 10px;
+}
+
+.toggle-switch .characters {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(white, white) 50% 20%/5% 20%, radial-gradient(circle, transparent 50%, white 52%, white 70%, transparent 72%) 50% 80%/33% 25%;
+ background-repeat: no-repeat;
+}
+
+.toggle-switch .shine {
+ transition: all 0.3s cubic-bezier(1, 0, 1, 1);
+ opacity: 0.3;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(white, transparent 3%) 50% 50%/97% 97%, linear-gradient(rgba(255, 255, 255, 0.5), transparent 50%, transparent 80%, rgba(255, 255, 255, 0.5)) 50% 50%/97% 97%;
+ background-repeat: no-repeat;
+}
+
+.toggle-switch .shadow {
+ transition: all 0.3s cubic-bezier(1, 0, 1, 1);
+ opacity: 1;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(transparent 70%, rgba(0, 0, 0, 0.8));
+ background-repeat: no-repeat;
+}
+
+@keyframes flicker {
+ 0% {
+ opacity: 1;
+ }
+
+ 80% {
+ opacity: 0.8;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
+
+@keyframes light-off {
+ 0% {
+ opacity: 1;
+ }
+
+ 80% {
+ opacity: 0;
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index e603912..bc7bfd1 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>
@@ -38,35 +39,56 @@
<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="line-status">
+ <div class="body-head">绌挎杞︾姸鎬�</div>
<div class="state">
- <span>鍫嗗灈鏈� 1</span>
- <span class="state-ss machine-put-flag ">鍏ュ簱</span>
+ <span>鍥涘悜绌挎杞� 1</span>
+ <span class="state-ss shuttle-idle">绌洪棽</span>
</div>
-<!-- <div class="state">-->
-<!-- <span>鍫嗗灈鏈� 2</span>-->
-<!-- <span class="state-ss machine-auto-flag ">鑷姩</span>-->
-
-<!-- </div>-->
+ <div class="state">
+ <span>鍥涘悜绌挎杞� 2</span>
+ <span class="state-ss shuttle-idle">绌洪棽</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>
+ </div>
+ </div>
+ <!-- 鎻愬崌鏈虹姸鎬� -->
+ <div class="line-status">
+ <div class="body-head">鎻愬崌鏈虹姸鎬�</div>
+ <div class="state states">
+ <span>鎻愬崌鏈�</span>
+ <span class="state-ss shuttle-idle">绌洪棽</span>
+ </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>
</div>
</div>
<!-- 杈撻�佺嚎鐘舵�� -->
@@ -101,14 +123,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>
@@ -758,7 +772,6 @@
})
-
var crn1Position = 0;
var crn2Position = 0;
var crn3Position = 0;
@@ -781,6 +794,12 @@
setInterval(function () {
getSitesInfo();
}, 3000);
+
+ $("#system-toggle").on("click",(e) => {
+ systemSwitch()
+ e.stopPropagation();//琛ㄧず闃绘鍚戠埗鍏冪礌鍐掓场
+ e.preventDefault();//闃绘 鏂规硶闃绘鍏冪礌鍙戠敓榛樿鐨勮涓猴紙渚嬪锛屽綋鐐瑰嚮鎻愪氦鎸夐挳鏃堕樆姝㈠琛ㄥ崟鐨勬彁浜ゆ垨鑰卆鏍囩锛夈��
+ })
// 绯荤粺杩愯寮�鍏�
function systemSwitch() {
@@ -813,11 +832,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;
}
diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html
index 616bbb7..de98cf0 100644
--- a/src/main/webapp/views/shuttle.html
+++ b/src/main/webapp/views/shuttle.html
@@ -101,42 +101,82 @@
<!-- 璁惧浠诲姟鎿嶄綔 -->
<div class="task-operator">
- <div style="display: flex;">
- <div class="task-operator" style="height: auto;width: 100%;">
- <div class="operator-item" style="height: auto">
- <span class="select-title">婧愬簱浣�/鐩爣搴撲綅</span>
- <div class="select-container" style="height: auto">
- <div class="select-container-item">
- <span>婧愬簱浣�</span>
- <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
- </div>
- <div class="select-container-item">
- <span>鐩爣搴撲綅</span>
- <label><input id="distLocNo" type="text" name="distLocNo" /></label>
+ <fieldset style="height: auto;padding-bottom: 20px;">
+ <legend>鎵嬪姩鎿嶄綔</legend>
+ <div style="display: flex;">
+ <div style="width: 30%;">
+ <div class="operator-item" style="height: auto;width: 100%;">
+ <span class="select-title">婧愬簱浣�/鐩爣搴撲綅</span>
+ <div class="select-container" style="height: auto;padding: 30px 10px 20px 10px;">
+ <div class="select-container-item">
+ <span>婧愬簱浣�</span>
+ <label><input id="sourceLocNo" type="text" name="sourceLocNo" /></label>
+ </div>
+ <div class="select-container-item">
+ <span>鐩爣搴撲綅</span>
+ <label><input id="distLocNo" type="text" name="distLocNo" /></label>
+ </div>
+
+ <div style="margin-top: 10px;">
+ <button class="item" onclick="shuttleOperator(1)">鍏ュ簱</button>
+ <button class="item" onclick="shuttleOperator(2)">鍑哄簱</button>
+ <button class="item" onclick="shuttleOperator(14)">绉诲姩鍒扮洰鏍囧簱浣�</button>
+ </div>
</div>
</div>
</div>
- </div>
- </div>
- <fieldset style="height: auto;padding-bottom: 20px;">
- <legend>鎵嬪姩鎿嶄綔</legend>
- <div class="button-group">
- <button class="item" onclick="shuttleOperator(1)">鍏ュ簱</button>
- <button class="item" onclick="shuttleOperator(2)">鍑哄簱</button>
- <button class="item" onclick="shuttleOperator(3)">鎵樼洏椤跺崌</button>
- <button class="item" onclick="shuttleOperator(4)">鎵樼洏涓嬮檷</button>
- <button class="item" onclick="shuttleOperator(5)">宸︾Щ</button>
- <button class="item" onclick="shuttleOperator(6)">鍙崇Щ</button>
- <button class="item" onclick="shuttleOperator(7)">鍚庣Щ</button>
- <button class="item" onclick="shuttleOperator(8)">鍓嶇Щ</button>
- <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
- <button class="item" onclick="shuttleOperator(10)">姝f柟鍚�(宸�)瀵诲簱浣�</button>
- <button class="item" onclick="shuttleOperator(11)">璐熸柟鍚�(鍙�)瀵诲簱浣�</button>
- <button class="item" onclick="shuttleOperator(12)">姝f柟鍚�(鍓�)瀵诲簱浣�</button>
- <button class="item" onclick="shuttleOperator(13)">璐熸柟鍚�(鍚�)瀵诲簱浣�</button>
- <button class="item" onclick="shuttleOperator(14)">绉诲姩鍒扮洰鏍囧簱浣�</button>
- <button class="item" onclick="shuttleOperator(15)">鍏呯數寮�鍏�</button>
+ <div style="width: 40%;">
+ <div class="operator-item" style="height: auto;width: 100%;">
+ <span class="select-title">鐩稿叧鎸囦护</span>
+ <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
+ <div class="button-group">
+ <button class="item" onclick="shuttleOperator(3)">鎵樼洏椤跺崌</button>
+ <button class="item" onclick="shuttleOperator(4)">鎵樼洏涓嬮檷</button>
+ <button class="item" onclick="shuttleOperator(5)">宸︾Щ</button>
+ <button class="item" onclick="shuttleOperator(6)">鍙崇Щ</button>
+ <button class="item" onclick="shuttleOperator(7)">鍚庣Щ</button>
+ <button class="item" onclick="shuttleOperator(8)">鍓嶇Щ</button>
+ <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
+ <button class="item" onclick="shuttleOperator(10)">姝f柟鍚�(宸�)瀵诲簱浣�</button>
+ <button class="item" onclick="shuttleOperator(11)">璐熸柟鍚�(鍙�)瀵诲簱浣�</button>
+ <button class="item" onclick="shuttleOperator(12)">姝f柟鍚�(鍓�)瀵诲簱浣�</button>
+ <button class="item" onclick="shuttleOperator(13)">璐熸柟鍚�(鍚�)瀵诲簱浣�</button>
+ <button class="item" onclick="shuttleOperator(15)">鍏呯數寮�鍏�</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div style="width: 20%;">
+ <div class="operator-item" style="height: auto;width: 100%;">
+ <span class="select-title">璁剧疆閰嶇疆鍙傛暟</span>
+ <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
+ <div class="select-container-item">
+ <span>杩愯閫熷害</span>
+ <label><input id="runSpeed" type="text" name="runSpeed" /></label>
+ </div>
+ <div class="select-container-item">
+ <span>鍏呯數闃堝��</span>
+ <label><input id="chargeLine" type="text" name="runSpeed" /></label>
+ </div>
+
+ <div>
+ <button class="item" onclick="shuttleParamSave()">淇濆瓨</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div style="width: 15%;">
+ <div class="operator-item" style="height: auto;width: 100%;">
+ <span class="select-title">閰嶇疆鍙傛暟</span>
+ <div class="select-container" style="height: auto;padding: 30px 10px 10px 10px;">
+ <div>杩愯閫熷害锛�<span id="runSpeedText"></span></div>
+ <div>鍏呯數闃堝�硷細<span id="chargeLineText"></span></div>
+ </div>
+ </div>
+ </div>
</div>
</fieldset>
</div>
@@ -430,38 +470,6 @@
console.log(shuttleNo)
http.get(baseUrl+ "/shuttle/sensor/detl/"+shuttleNo, null, function (res) {
$('#shuttleNo1').val(res.data.shuttleNo);
- // getColor(res.data.liftErr,'#liftErr');
- // getColor(res.data.inFetchErr,'#inFetchErr');
- // getColor(res.data.outFetchErr,'#outFetchErr');
- // getColor(res.data.antiErr,'#antiErr');
- // getColor(res.data.liftSwitchErr,'#liftSwitchErr');
- // getColor(res.data.trackErr,'#trackErr');
- // getColor(res.data.timeoutErr,'#timeoutErr');
- // getColor(res.data.connectErr,'#connectErr');
- // getColor(res.data.emergencyErr,'#emergencyErr');
- // getColor(res.data.taskTypeErr,'#taskTypeErr');
- // getColor(res.data.taskNoErr,'#taskNoErr');
- // getColor(res.data.newTaskErr,'#newTaskErr');
- // getColor(res.data.errTaskErr,'#errTaskErr');
- // getColor(res.data.stopErr,'#stopErr');
- // getColor(res.data.offlineTaskErr,'#offlineTaskErr');
- // getColor(res.data.startTaskErr,'#startTaskErr');
- // getColor(res.data.voltageTaskErr,'#voltageTaskErr');
- // getColor(res.data.devpErr,'#devpErr');
- // getColor(res.data.online,'#online');
- // getColor(res.data.notOnTrack,'#notOnTrack');
- // getColor(res.data.lowVoltage,'#lowVoltage');
- // getColor(res.data.electricityLoss,'#electricityLoss');
- // getColor(res.data.forcedTravel,'#forcedTravel');
- // getColor(res.data.demoMode,'#demoMode');
- // getColor(res.data.brushConnect,'#brushConnect');
- // getColor(res.data.taskManualForbid,'#taskManualForbid');
- // getColor(res.data.onlineManualForbid,'#onlineManualForbid');
- // getColor(res.data.devpEmergency,'#devpEmergency');
- // getColor(res.data.taskInterrupt,'#taskInterrupt');
- // getColor(res.data.taskClear,'#taskClear');
- // getColor(res.data.taskConfirmTimeout,'#taskConfirmTimeout');
- // getColor(res.data.taskWithCharge,'#taskWithCharge');
getColor(res.data.pakInTask,'#pakInTask');
getColor(res.data.pakOutTask,'#pakOutTask');
getColor(res.data.pakMoveTask,'#pakMoveTask');
@@ -477,8 +485,6 @@
getColor(res.data.goOHpAvoidFinish,'#goOHpAvoidFinish');
getColor(res.data.goHpAvoidErr,'#goHpAvoidErr');
getColor(res.data.goOHpAvoidErr,'#goOHpAvoidErr');
- // getColor(res.data.autoMode,'#autoMode');
- // getColor(res.data.voltageLow,'#voltageLow');
})
},
end: function () {
@@ -495,36 +501,6 @@
$(e).attr("style", "color: #00FF00;");
}
}
-
- // $(document).on('click ','.mode-btn', function () {
- // let shuttleNo = Number($(this).parent().attr("data-shuttleNo"));
- // layer.confirm("鏀瑰彉" + shuttleNo + ' 鍙风┛姊溅鍦ㄧ嚎鐘舵�佸悧锛�', function(){
- // var index = layer.load(1, {
- // shade: [0.1,'#fff']
- // });
- // $.ajax({
- // url: baseUrl+ "/shuttle/mode/switch",
- // headers: {'token': localStorage.getItem('token')},
- // data: {
- // shuttleNo: Number(shuttleNo),
- // password: 'root'
- // },
- // method: 'POST',
- // success: function (res) {
- // layer.close(index);
- // if (res.code === 200){
- // layer.msg(res.msg, {icon: 1});
- // } else if (res.code === 403){
- // window.location.href = baseUrl+"/login";
- // } else {
- // layer.msg(res.msg, {icon: 2});
- // }
- // }
- // });
- // });
- // })
-
-
$(document).on('click ','#save', function () {
http.post(baseUrl+ "/shuttle/detl/update", {
@@ -653,6 +629,11 @@
setVal(tr.children("td").eq(9), table[i-1].pakMk);
setVal(tr.children("td").eq(10), table[i-1].locNo);
setVal(tr.children("td").eq(11), table[i-1].lev);
+
+ if (table[i-1].shuttleNo == parseInt($('input[name="shuttleSelect"]:checked').val())) {
+ $("#runSpeedText").text(table[i-1].runSpeed)
+ $("#chargeLineText").text(table[i-1].chargeLine + "%")
+ }
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
@@ -777,4 +758,26 @@
shuttleOutputDom.scrollTop = shuttleOutputDom.scrollHeight;
}
+ //鍥涘悜绌挎杞﹂厤缃弬鏁颁繚瀛�
+ function shuttleParamSave() {
+ $.ajax({
+ url: baseUrl+ "/shuttle/runSpeed/" + $('input[name="shuttleSelect"]:checked').val(),
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ data: {
+ runSpeed: $("#runSpeed").val(),
+ chargeLine: $("#chargeLine").val(),
+ },
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg("閰嶇疆宸蹭繚瀛�", {icon: 1,});
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
</script>
--
Gitblit v1.9.1