From 38db3a419d0b794b8a2bab98d2fc15d4bb4c8b31 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 24 五月 2023 08:31:06 +0800 Subject: [PATCH] 堆垛机调试 --- src/main/java/com/zy/asrs/utils/CommandUtils.java | 22 + src/main/webapp/views/realtimeWatch/crn.html | 91 --------- src/main/webapp/static/wms/js/crnOperate/crnOperate.js | 114 +++++++++++ src/main/webapp/views/crnOperate/crnOperate.html | 259 +++++++++++++++++++++++++ src/main/java/com/zy/asrs/controller/CrnController.java | 104 ++++++++-- 5 files changed, 469 insertions(+), 121 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 183353b..1dbe9c2 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; @@ -12,10 +13,7 @@ import com.zy.asrs.domain.vo.CommandLogVo; import com.zy.asrs.domain.vo.CrnMsgTableVo; import com.zy.asrs.domain.vo.CrnStateTableVo; -import com.zy.asrs.entity.BasCrnError; -import com.zy.asrs.entity.BasCrnp; -import com.zy.asrs.entity.LocMast; -import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.LocMastService; @@ -37,10 +35,7 @@ import com.zy.core.properties.SystemProperties; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; @@ -53,7 +48,6 @@ */ @Slf4j @RestController -@RequestMapping("/crn") public class CrnController { @Autowired @@ -71,7 +65,7 @@ @ManagerAuth(memo = "杩涜涓殑鍛戒护") - @PostMapping("/command/ongoing") + @PostMapping("/crn/command/ongoing") public R ongoingCommand(){ List<CommandLogVo> list = new ArrayList<>(); for (CrnSlave crn : slaveProperties.getCrn()) { @@ -97,7 +91,7 @@ return R.ok().add(list); } - @PostMapping("/table/crn/state") + @PostMapping("/crn/table/crn/state") @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃") public R crnStateTable(){ List<CrnStateTableVo> list = new ArrayList<>(); @@ -135,7 +129,41 @@ return R.ok().add(list); } - @PostMapping("/table/crn/msg") + @PostMapping("/crn/table/crn/{id}/state") + @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃") + public R crnStateTable(@PathVariable("id") Integer id){ + BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", id).orderBy("crn_no")); + // 琛ㄦ牸琛� + CrnStateTableVo vo = new CrnStateTableVo(); + vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿 + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo()); + if (crnThread == null) { + return R.error(); + } + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + return R.error(); + } + vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� + vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵�� + vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵�� + vo.setLoading((crnProtocol.getLoaded() != null && crnProtocol.getLoaded() == 1) ? "鏈夌墿" : "鏃犵墿"); // 鏈夌墿 + vo.setBay(crnProtocol.getBay()); // 鍒� + vo.setLev(crnProtocol.getLevel()); // 灞� + + vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 + vo.setLiftPos(crnProtocol.getLiftPosType().desc); + vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); + vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); + if (crnProtocol.getAlarm1() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); + vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); + } + return R.ok().add(vo); + } + + @PostMapping("/crn/table/crn/msg") @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃") public R crnMsgTable(){ List<CrnMsgTableVo> list = new ArrayList<>(); @@ -179,7 +207,7 @@ return R.ok().add(list); } - @PostMapping("/output/site") + @PostMapping("/crn/output/site") @ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�") public R crnOutput(){ StringBuilder str = new StringBuilder(); @@ -193,7 +221,7 @@ } - @GetMapping("/demo/status") + @GetMapping("/crn/demo/status") public R demoStatus(){ List<Map<String, Object>> res = new ArrayList<>(); for (CrnSlave crnSlave : slaveProperties.getCrn()) { @@ -206,7 +234,7 @@ } - @PostMapping("/demo/switch") + @PostMapping("/crn/demo/switch") @ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�") public R crnDemo(CrnDemoParam param) throws InterruptedException { if (Cools.isEmpty(param.getCrnId())){ @@ -235,7 +263,7 @@ /****************************************************************/ @ManagerAuth(memo = "鍏ュ簱") - @PostMapping("/operator/put") + @PostMapping("/crn/operator/put") public R crnPut(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -252,7 +280,7 @@ } @ManagerAuth(memo = "鍑哄簱") - @PostMapping("/operator/take") + @PostMapping("/crn/operator/take") public R crnTake(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -269,7 +297,7 @@ } @ManagerAuth(memo = "搴撲綅杞Щ") - @PostMapping("/operator/stockMove") + @PostMapping("/crn/operator/stockMove") public R crnStockMove(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -291,7 +319,7 @@ } @ManagerAuth(memo = "绔欏埌绔�") - @PostMapping("/operator/siteMove") + @PostMapping("/crn/operator/siteMove") public R crnSiteMove(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -308,7 +336,7 @@ } @ManagerAuth(memo = "鍥炲師鐐�") - @PostMapping("/operator/bacOrigin") + @PostMapping("/crn/operator/bacOrigin") public R crnBacOrigin(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -325,7 +353,7 @@ } @ManagerAuth(memo = "鍙嶅師鐐�") - @PostMapping("/operator/reverseOrigin") + @PostMapping("/crn/operator/reverseOrigin") public R reverseOrigin(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -360,7 +388,7 @@ // } @ManagerAuth(memo = "浠诲姟瀹屾垚") - @PostMapping("/operator/taskComplete") + @PostMapping("/crn/operator/taskComplete") public R crnTaskComplete(CrnOperatorParam param){ CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -389,7 +417,7 @@ // } @ManagerAuth(memo = "娓呴櫎鍛戒护") - @PostMapping("/operator/clearCommand") + @PostMapping("/crn/operator/clearCommand") public R crnClearCommand(CrnOperatorParam param){ if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); @@ -409,7 +437,7 @@ } @ManagerAuth(memo = "鎵嬪姩澶嶄綅") - @PostMapping("/operator/handleReset") + @PostMapping("/crn/operator/handleReset") public R handleReset(CrnOperatorParam param) throws Exception { if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); @@ -501,5 +529,33 @@ } } + // /crn/list/auth + @RequestMapping(value = "/crnListQuery/auth") + @ManagerAuth + public R listQuery(String condition){ + ArrayList<HashMap<String, Object>> list = new ArrayList<>(); + for (CrnSlave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + if (crnThread == null) { + continue; + } + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + continue; + } + + HashMap<String, Object> map = new HashMap<>(); + map.put("id", crn.getId()); + map.put("value", "鍫嗗灈鏈�" + crn.getId() + "鍙�"); + if (condition != "" && !condition.equals(crn.getId().toString())) { + continue; + } + + list.add(map); + } + return R.ok().add(list); + } + } diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java index b483ad2..fae90db 100644 --- a/src/main/java/com/zy/asrs/utils/CommandUtils.java +++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java @@ -30,15 +30,19 @@ CommandInfo commandInfo = null; WrkMast wrkMast = null; int taskNo = 0; + int wmsWrkNo = 0; switch (type) { case Crn: CrnCommand command = (CrnCommand) task.getData(); taskNo = command.getTaskNo(); - wrkMast = wrkMastService.selectById(taskNo); + if (taskNo != 0) { + wrkMast = wrkMastService.selectById(taskNo); + wmsWrkNo = wrkMast.getWmsWrkNo(); + } commandInfo = new CommandInfo(); commandInfo.setWrkNo(taskNo); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); + commandInfo.setWmsWrkNo(wmsWrkNo); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("crn"); @@ -50,11 +54,14 @@ case Devp: StaProtocol staProtocol = (StaProtocol) task.getData(); taskNo = staProtocol.getWorkNo(); - wrkMast = wrkMastService.selectById(taskNo); + if (taskNo != 0) { + wrkMast = wrkMastService.selectById(taskNo); + wmsWrkNo = wrkMast.getWmsWrkNo(); + } commandInfo = new CommandInfo(); commandInfo.setWrkNo(taskNo); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); + commandInfo.setWmsWrkNo(wmsWrkNo); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("devp"); @@ -67,11 +74,14 @@ List<LedCommand> data = (List<LedCommand>) task.getData(); for (LedCommand ledCommand : data) { taskNo = ledCommand.getWorkNo(); - wrkMast = wrkMastService.selectById(taskNo); + if (taskNo != 0) { + wrkMast = wrkMastService.selectById(taskNo); + wmsWrkNo = wrkMast.getWmsWrkNo(); + } commandInfo = new CommandInfo(); commandInfo.setWrkNo(ledCommand.getWorkNo()); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); + commandInfo.setWmsWrkNo(wmsWrkNo); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("led"); diff --git a/src/main/webapp/static/wms/js/crnOperate/crnOperate.js b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js new file mode 100644 index 0000000..f931f02 --- /dev/null +++ b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js @@ -0,0 +1,114 @@ +var crnNo; +layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + +}); + +function connectCrn() { + var deviceId = $("#deviceId").val() + if (deviceId == "") { + layer.msg('璇烽�夋嫨鍫嗗灈鏈�'); + return false; + } + + crnNo = deviceId; + + $.ajax({ + url: baseUrl + "/crn/table/crn/" + crnNo + "/state", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code == 200) { + layer.msg('杩炴帴鎴愬姛') + console.log(res) + let data = res.data + $("#__crnNo").val(data.crnNo) + $("#statusType").val(data.statusType) + $("#status").val(data.status) + $("#loading").val(data.loading) + $("#__bay").val(data.bay) + $("#__lev").val(data.lev) + $("#forkOffset").val(data.forkOffset) + $("#liftPos").val(data.liftPos) + $("#walkPos").val(data.walkPos) + $("#warnCode").val(data.warnCode) + $("#alarm").val(data.alarm) + }else { + layer.msg(res.msg) + } + } + }) +} + +// 鍏ュ簱 +function put() { + http.post(baseUrl+"/crn/operator/put", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 鍑哄簱 +function take() { + http.post(baseUrl+"/crn/operator/take", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 搴撲綅杞Щ +function stockMove() { + http.post(baseUrl+"/crn/operator/stockMove", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 绔欏埌绔� +function siteMove() { + http.post(baseUrl+"/crn/operator/siteMove", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 浠诲姟瀹屾垚 +function taskComplete() { + http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 娓呴櫎鍛戒护 +function clearCommand() { + http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +// 鎵嬪姩澶嶄綅 +function handleReset() { + http.post(baseUrl+"/crn/operator/handleReset", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + +function getReqParam() { + var sourceStaNo = $('#sourceStaNo').val(); + var sourceRow = $('#sourceRow').val(); + var sourceBay = $('#sourceBay').val(); + var sourceLev = $('#sourceLev').val(); + var staNo = $('#staNo').val(); + var row = $('#row').val(); + var bay = $('#bay').val(); + var lev = $('#lev').val(); + return { + crnNo: crnNo, + sourceStaNo: sourceStaNo, + sourceRow: sourceRow, + sourceBay: sourceBay, + sourceLev: sourceLev, + staNo: staNo, + row: row, + bay: bay, + lev: lev + }; +} \ No newline at end of file diff --git a/src/main/webapp/views/crnOperate/crnOperate.html b/src/main/webapp/views/crnOperate/crnOperate.html new file mode 100644 index 0000000..9996e13 --- /dev/null +++ b/src/main/webapp/views/crnOperate/crnOperate.html @@ -0,0 +1,259 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body" style="padding: 40px;"> + <div class="layui-form toolbar" id="search-box" style="text-align: center;"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="deviceId" class="layui-input" name="deviceId" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="deviceId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="閫夋嫨鍫嗗灈鏈�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="crnListQueryBydeviceId" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="crnListQueryBydeviceIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + <button class="layui-btn" onclick="connectCrn()">纭杩炴帴</button> + </div> + + </div> + </div> + + <div class="layui-row"> + <div class="layui-col-md6" style="border-right: 1px red solid"> + <h3 style="text-align: center;">璁惧璋冭瘯</h3> + + <div class="layui-row" style="margin-top: 30px;"> + <h4>婧愮珯/婧愬簱浣�</h4> + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>绔�</div> + <input class="layui-input" id="sourceStaNo" type="number" name="points" placeholder="绔�" autocomplete="off"> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>鎺�</div> + <input class="layui-input" id="sourceRow" type="number" name="points" min="1" style="background-color: #a9eeff" value="1"> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>鍒�</div> + <input class="layui-input" id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0"> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>灞�</div> + <input class="layui-input" id="sourceLev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1"> + </div> + </div> + </div> + + </div> + + <div class="layui-row" style="margin-top: 30px;"> + <h4>鐩爣绔�/鐩爣搴撲綅</h4> + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>绔�</div> + <input class="layui-input" id="staNo" type="number" name="points" min="0" /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>鎺�</div> + <input class="layui-input" id="row" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>鍒�</div> + <input class="layui-input" id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline" style="display: flex;justify-content: center;align-items: center;"> + <div>灞�</div> + <input class="layui-input" id="lev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /> + </div> + </div> + </div> + + </div> + + <div class="layui-row" style="margin-top: 30px;"> + <div class="layui-col-md12" style="display: flex;justify-content: flex-start;"> + <button class="layui-btn" onclick="put()">鍏ュ簱</button> + <button class="layui-btn" onclick="take()">鍑哄簱</button> + <button class="layui-btn" onclick="stockMove()">搴撲綅杞Щ</button> + <button class="layui-btn" onclick="siteMove()">绔欏埌绔�</button> + <button class="layui-btn" onclick="taskComplete()">浠诲姟瀹屾垚</button> + <button class="layui-btn" onclick="clearCommand()">娓呴櫎鍛戒护</button> + <button class="layui-btn" onclick="handleReset()">澶嶄綅</button> + </div> + </div> + + </div> + + + <div class="layui-col-md6" style="padding-left: 20px;"> + <h3 style="text-align: center;">璁惧鐘舵��</h3> + + <div class="layui-row" style="margin-top: 30px;"> + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鍫嗗灈鏈�</div> + <input class="layui-input" id="__crnNo" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>妯″紡</div> + <input class="layui-input" id="statusType" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鐘舵��</div> + <input class="layui-input" id="status" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鏈夌墿</div> + <input class="layui-input" id="loading" type="text" disabled /> + </div> + </div> + </div> + + </div> + + <div class="layui-row" style="margin-top: 20px;"> + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鍒�</div> + <input class="layui-input" id="__bay" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>灞�</div> + <input class="layui-input" id="__lev" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>璐у弶瀹氫綅</div> + <input class="layui-input" id="forkOffset" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>杞借揣鍙板畾浣�</div> + <input class="layui-input" id="liftPos" type="text" disabled /> + </div> + </div> + </div> + + </div> + + <div class="layui-row" style="margin-top: 20px;"> + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>璧拌鍦ㄥ畾浣�</div> + <input class="layui-input" id="walkPos" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鏁呴殰浠g爜</div> + <input class="layui-input" id="warnCode" type="text" disabled /> + </div> + </div> + </div> + + <div class="layui-col-md3"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <div>鏁呴殰鎻忚堪</div> + <input class="layui-input" id="alarm" type="text" disabled /> + </div> + </div> + </div> + </div> + + </div> + </div> + + </div> + </div> +</div> + +<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> +<script type="text/javascript" src="../../static/wms/js/crnOperate/crnOperate.js" charset="utf-8"></script> +</body> +</html> + diff --git a/src/main/webapp/views/realtimeWatch/crn.html b/src/main/webapp/views/realtimeWatch/crn.html index 85b17c1..94c3033 100644 --- a/src/main/webapp/views/realtimeWatch/crn.html +++ b/src/main/webapp/views/realtimeWatch/crn.html @@ -114,97 +114,6 @@ </tbody> </table> </div> - <!-- 鎵嬪姩鎿嶄綔 --> - <div class="crn-operation"> - - <!-- 閬僵灞� --> - <div class="crn-operation-shade"> - <span class="crn-operation-shade-span"> - WCS 绯荤粺杩愯涓紝璇峰仠姝㈠悗鎿嶄綔 - </span> - </div> - - <!-- 璁惧浠诲姟閫夋嫨 --> - <div class="task-select"> - <!-- 鍫嗗灈鏈洪�夋嫨 --> - <div id="crn-select" class="operator-item"> - <span class="select-title">鍫嗗灈鏈哄彿</span> - <div class="select-container"> - <label><input type="radio" name="crnSelect" value="1" checked> 1鍙峰爢鍨涙満</label> - <label><input type="radio" name="crnSelect" value="2"> 2鍙峰爢鍨涙満</label> - <label><input type="radio" name="crnSelect" value="3"> 3鍙峰爢鍨涙満</label> - <label><input type="radio" name="crnSelect" value="4"> 4鍙峰爢鍨涙満</label> - <label><input type="radio" name="crnSelect" value="5"> 5鍙峰爢鍨涙満</label> - </div> - </div> - <!-- 婧愮珯/婧愬簱浣� 閫夋嫨 --> - <div id="source-select" class="operator-item"> - <span class="select-title">婧愮珯/婧愬簱浣�</span> - <div class="select-container"> - <div class="select-container-item"> - <span>绔�</span> - <label><input id="sourceStaNo" type="number" name="points" min="0" /></label> - </div> - <div class="select-container-item"> - <span>鎺�</span> - <label><input id="sourceRow" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> - </div> - <div class="select-container-item"> - <span>鍒�</span> - <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> - </div> - <div class="select-container-item"> - <span>灞�</span> - <label><input id="sourceLev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> - </div> - </div> - </div> - <!-- 鐩爣绔�/鐩爣搴撲綅 閫夋嫨 --> - <div id="target-select" class="operator-item"> - <span class="select-title">鐩爣绔�/鐩爣搴撲綅</span> - <div class="select-container"> - <div class="select-container-item"> - <span>绔�</span> - <label><input id="staNo" type="number" name="points" min="0" /></label> - </div> - <div class="select-container-item"> - <span>鎺�</span> - <label><input id="row" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> - </div> - <div class="select-container-item"> - <span>鍒�</span> - <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label> - </div> - <div class="select-container-item"> - <span>灞�</span> - <label><input id="lev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label> - </div> - </div> - </div> - </div> - - <!-- 璁惧浠诲姟鎿嶄綔 --> - <div class="task-operator"> - <fieldset> - <legend>鎵嬪姩鎿嶄綔</legend> - <div class="button-group"> - <button class="item" onclick="put()">鍏ュ簱</button> - <button class="item" onclick="take()">鍑哄簱</button> - <button class="item" onclick="stockMove()">搴撲綅杞Щ</button> - <button class="item" onclick="siteMove()">绔欏埌绔�</button> - <!-- <button class="item" onclick="bacOrigin()">鍥炲師鐐�</button>--> - <!-- <button class="item" onclick="reverseOrigin()">鍙嶅師鐐�</button>--> - <!-- <button class="item" onclick="coorMove()">鍧愭爣绉昏</button>--> - <button class="item" onclick="taskComplete()">浠诲姟瀹屾垚</button> - <!-- <button class="item" onclick="pause()">鏆傚仠</button>--> - <!-- <button class="item" onclick="boot()">鍚姩</button>--> - <button class="item" onclick="clearCommand()">娓呴櫎鍛戒护</button> - <button class="item" onclick="handleReset()">澶嶄綅</button> - </div> - </fieldset> - </div> - - </div> <!-- 鍫嗗灈鏈烘棩蹇楄緭鍑� --> <div class="crn-output-board"> <textarea id="crn-output"></textarea> -- Gitblit v1.9.1