From cb7d148bc6c0e81b4f413b6c3ff76102cbc0648a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 20 七月 2023 14:31:43 +0800
Subject: [PATCH] 堆垛机设备
---
src/main/webapp/views/realtimeWatch/crn.html | 601 ++------------------
src/main/webapp/views/realtimeWatch/crn2.html | 535 +++++++++++++++++++
src/main/webapp/static/wms/js/realtimeWatch/crn.js | 348 ++++++++++++
src/main/java/com/zy/asrs/controller/CrnController.java | 60 ++
src/main/java/com/zy/asrs/domain/vo/CrnListVo.java | 136 ++++
5 files changed, 1,161 insertions(+), 519 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 86949ae..17e93cd 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -11,6 +11,7 @@
import com.zy.asrs.domain.param.CrnDemoParam;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.domain.vo.CommandLogVo;
+import com.zy.asrs.domain.vo.CrnListVo;
import com.zy.asrs.domain.vo.CrnMsgTableVo;
import com.zy.asrs.domain.vo.CrnStateTableVo;
import com.zy.asrs.entity.*;
@@ -247,6 +248,65 @@
return R.ok().add(vo);
}
+ @GetMapping("/crn/list/auth")
+ @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃")
+ public R crnList(){
+ List<CrnListVo> list = new ArrayList<>();
+ List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no"));
+ for (BasCrnp basCrnp : crnps) {
+ // 琛ㄦ牸琛�
+ CrnListVo vo = new CrnListVo();
+ vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿
+ list.add(vo);
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
+ if (crnThread == null) {
+ continue;
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+
+ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
+ if (crnProtocol.getTaskNo()>0) {
+ WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
+ if (wrkMast != null) {
+ vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
+ vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
+ vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
+ vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ }
+ } else {
+ vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
+ }
+ vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min)
+ vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min)
+ vo.setZspeed(crnProtocol.getZSpeed()); // 鍙夌墮閫熷害锛坢/min)
+ vo.setXdistance(crnProtocol.getXDistance()); // 璧拌璺濈(Km)
+ vo.setYdistance(crnProtocol.getYDistance()); // 鍗囬檷璺濈(Km)
+ vo.setXduration(crnProtocol.getXDuration()); // 璧拌鏃堕暱(H)
+ vo.setYduration(crnProtocol.getYDuration()); // 鍗囬檷鏃堕暱(H)
+
+ vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵��
+ vo.setWrkStatus(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(list);
+ }
+
@PostMapping("/crn/output/site")
@ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�")
public R crnOutput(){
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
new file mode 100644
index 0000000..efbff09
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
@@ -0,0 +1,136 @@
+package com.zy.asrs.domain.vo;
+
+import com.zy.asrs.utils.Utils;
+import lombok.Data;
+
+@Data
+public class CrnListVo {
+
+ // 鍫嗗灈鏈哄彿
+ private Integer crnNo;
+
+ // 妯″紡
+ private String statusType = "-";
+
+ // 鏈夌墿
+ private String loading = "-";
+
+ // 鍒�
+ private Short bay;
+
+ // 灞�
+ private Short lev;
+
+ // 璧拌鍘熺偣
+ private String xOrigin = "-";
+
+ // 鍗囬檷鍘熺偣
+ private String yOrigin = "-";
+
+ // 璐у弶浣嶇疆
+ private String forkOffset = "-";
+
+ // 杞借揣鍙颁綅缃�
+ private String liftPos = "-";
+
+ // 璧拌瀹氫綅
+ private String walkPos = "-";
+
+ // 鎬ュ仠
+ private String stop = "-";
+
+ // 鍒楀潗鏍�
+ private String bayCoor = "-";
+
+ // 灞傚潗鏍�
+ private String levCoor = "-";
+
+ // 瀹屾垚
+ private String complete = "-";
+
+ // 浠诲姟鍙�
+ private Short workNo = 0;
+
+ // 浠诲姟鐘舵��
+ private String wrkStatus = "-";
+
+ // 寮傚父鐮�
+ private String warnCode = "-";
+
+ // 鍨傜洿鏁呴殰鐮�
+ private String alarm = "-";
+
+ // 婧愮珯
+ private String sourceStaNo = "-";
+
+ // 鐩爣绔�
+ private String staNo = "-";
+
+ // 婧愬簱浣�
+ private String sourceLocNo = "-";
+
+ // 鐩爣搴撲綅
+ private String locNo = "-";
+
+ // 寮傚父
+ private String error = "";
+
+ // 鍘熺偣
+ private String origin = "";
+
+ // 鍛戒护
+ private String command = "";
+
+ // 璧拌閫熷害锛坢/min)
+ private Float xspeed = 0.0F;
+
+ // 鍗囬檷閫熷害锛坢/min)
+ private Float yspeed = 0.0F;
+
+ // 鍙夌墮閫熷害锛坢/min)
+ private Float zspeed = 0.0F;
+
+ // 璧拌璺濈(Km)
+ private Float xdistance = 0.0F;
+
+ // 鍗囬檷璺濈(Km)
+ private Float ydistance = 0.0F;
+
+ // 璧拌鏃堕暱(H)
+ private Float xduration = 0.0F;
+
+ // 鍗囬檷鏃堕暱(H)
+ private Float yduration = 0.0F;
+
+ // 璁惧鐘舵��
+ private String deviceStatus = "-";
+
+ public void setXspeed(Float xspeed) {
+ this.xspeed = Utils.scale(xspeed);
+ }
+
+ public void setYspeed(Float yspeed) {
+ this.yspeed = Utils.scale(yspeed);
+ }
+
+ public void setZspeed(Float zspeed) {
+ this.zspeed = Utils.scale(zspeed);
+ }
+
+ public void setXdistance(Float xdistance) {
+ this.xdistance = Utils.scale(xdistance);
+ }
+
+ public void setYdistance(Float ydistance) {
+ this.ydistance = Utils.scale(ydistance);
+ }
+
+ public void setXduration(Float xduration) {
+ this.xduration = Utils.scale(xduration);
+ }
+
+ public void setYduration(Float yduration) {
+ this.yduration = Utils.scale(yduration);
+ }
+
+}
diff --git a/src/main/webapp/static/wms/js/realtimeWatch/crn.js b/src/main/webapp/static/wms/js/realtimeWatch/crn.js
new file mode 100644
index 0000000..5662f59
--- /dev/null
+++ b/src/main/webapp/static/wms/js/realtimeWatch/crn.js
@@ -0,0 +1,348 @@
+var pageCurr;
+var tableData;
+// 瀹氫箟涓�涓彉閲忔潵淇濆瓨婊氬姩鏉$殑浣嶇疆
+var scrollLeft = 0;
+layui.config({
+ base: baseUrl + "/static/wms/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#crn',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/crn/list/auth',
+ page: false,
+ limit: 500,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 100,
+ height: 'full-120',
+ cols: [[
+ {field: 'crnNo', align: 'center',title: '鍫嗗灈鏈�'}
+ ,{field: 'workNo', align: 'center',title: '宸ヤ綔鍙�'}
+ ,{field: 'statusType', align: 'center',title: '妯″紡'}
+ ,{field: 'wrkStatus', align: 'center',title: '浠诲姟鐘舵��',width: 120}
+ ,{field: 'deviceStatus', align: 'center',title: '璁惧鐘舵��'}
+ ,{field: 'loading', align: 'center',title: '鏈夌墿'}
+ ,{field: 'bay', align: 'center',title: '鍒�'}
+ ,{field: 'lev', align: 'center',title: '灞�'}
+ ,{field: 'warnCode', align: 'center',title: '鏁呴殰浠g爜'}
+ ,{field: 'alarm', align: 'center',title: '鏁呴殰鎻忚堪'}
+ ,{field: 'sourceStaNo', align: 'center',title: '婧愮珯'}
+ ,{field: 'staNo', align: 'center',title: '鐩爣绔�'}
+ ,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'}
+ ,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'}
+ ,{field: 'forkOffset', align: 'center',title: '璐у弶瀹氫綅'}
+ ,{field: 'liftPos', align: 'center',title: '杞借揣鍙板畾浣�'}
+ ,{field: 'walkPos', align: 'center',title: '璧拌鍦ㄥ畾浣�'}
+ ,{field: 'xspeed', align: 'center',title: '璧拌閫熷害锛坢/min)'}
+ ,{field: 'yspeed', align: 'center',title: '鍗囬檷閫熷害锛坢/min)'}
+ ,{field: 'zspeed', align: 'center',title: '鍙夌墮閫熷害锛坢/min)'}
+ ,{field: 'xdistance', align: 'center',title: '璧拌璺濈(Km)'}
+ ,{field: 'ydistance', align: 'center',title: '鍗囬檷璺濈(Km)'}
+ ,{field: 'xduration', align: 'center',title: '璧拌鏃堕暱(H)'}
+ ,{field: 'yduration', align: 'center',title: '鍗囬檷鏃堕暱(H)'}
+
+ // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.count,
+ 'data': res.data
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ tableData = table.cache.crn;
+
+ $(".layui-table-tool").hide()
+ }
+ });
+
+ // 鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(crn)', function (obj) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ searchData['orderByField'] = obj.field;
+ searchData['orderByType'] = obj.type;
+ tableIns.reload({
+ where: searchData,
+ page: {curr: 1}
+ });
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(crn)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ switch(obj.event) {
+ case 'addData':
+ showEditModel();
+ break;
+ case 'exportData':
+ admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'apiConfig': exportData,
+ 'fields': fields
+ };
+ $.ajax({
+ url: baseUrl+"/apiConfig/export/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ });
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(crn)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'edit':
+ showEditModel(data);
+ break;
+ }
+ });
+
+ /* 寮圭獥 - 鏂板銆佷慨鏀� */
+ function showEditModel(mData) {
+ admin.open({
+ type: 1,
+ area: '600px',
+ title: (mData ? '淇敼' : '娣诲姞') + '鎺ュ彛閰嶇疆',
+ content: $('#editDialog').html(),
+ success: function (layero, dIndex) {
+ layDateRender(mData);
+ form.val('detail', mData);
+ form.on('submit(editSubmit)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/apiConfig/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function del(ids) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/apiConfig/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ // 鎼滅储
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ tableReload(false);
+ });
+
+ // 閲嶇疆
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ tableReload(false);
+ });
+
+ // 鏃堕棿閫夋嫨鍣�
+ function layDateRender(data) {
+ setTimeout(function () {
+ layDate.render({
+ elem: '#createTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['createTime\\$']:null
+ });
+ layDate.render({
+ elem: '#updateTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['updateTime\\$']:null
+ });
+
+ }, 300);
+ }
+ layDateRender();
+
+ setInterval(() => {
+ // 鑾峰彇褰撳墠婊氬姩鏉′綅缃�
+ scrollLeft = $("#crn").next('.layui-table-view').find('.layui-table-body').scrollLeft();
+ $.ajax({
+ url: baseUrl+"/crn/list/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {},
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function (res) {
+ console.log(res)
+ table.render({
+ elem: '#crn',
+ headers: {token: localStorage.getItem('token')},
+ data: res.data,
+ page: false,
+ limit: 500,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 100,
+ height: 'full-120',
+ cols: [[
+ {field: 'crnNo', align: 'center',title: '鍫嗗灈鏈�'}
+ ,{field: 'workNo', align: 'center',title: '宸ヤ綔鍙�'}
+ ,{field: 'statusType', align: 'center',title: '妯″紡'}
+ ,{field: 'wrkStatus', align: 'center',title: '浠诲姟鐘舵��',width: 120}
+ ,{field: 'deviceStatus', align: 'center',title: '璁惧鐘舵��'}
+ ,{field: 'loading', align: 'center',title: '鏈夌墿'}
+ ,{field: 'bay', align: 'center',title: '鍒�'}
+ ,{field: 'lev', align: 'center',title: '灞�'}
+ ,{field: 'warnCode', align: 'center',title: '鏁呴殰浠g爜'}
+ ,{field: 'alarm', align: 'center',title: '鏁呴殰鎻忚堪'}
+ ,{field: 'sourceStaNo', align: 'center',title: '婧愮珯'}
+ ,{field: 'staNo', align: 'center',title: '鐩爣绔�'}
+ ,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'}
+ ,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'}
+ ,{field: 'forkOffset', align: 'center',title: '璐у弶瀹氫綅'}
+ ,{field: 'liftPos', align: 'center',title: '杞借揣鍙板畾浣�'}
+ ,{field: 'walkPos', align: 'center',title: '璧拌鍦ㄥ畾浣�'}
+ ,{field: 'xspeed', align: 'center',title: '璧拌閫熷害锛坢/min)'}
+ ,{field: 'yspeed', align: 'center',title: '鍗囬檷閫熷害锛坢/min)'}
+ ,{field: 'zspeed', align: 'center',title: '鍙夌墮閫熷害锛坢/min)'}
+ ,{field: 'xdistance', align: 'center',title: '璧拌璺濈(Km)'}
+ ,{field: 'ydistance', align: 'center',title: '鍗囬檷璺濈(Km)'}
+ ,{field: 'xduration', align: 'center',title: '璧拌鏃堕暱(H)'}
+ ,{field: 'yduration', align: 'center',title: '鍗囬檷鏃堕暱(H)'}
+
+ // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.count,
+ 'data': res.data
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ tableData = table.cache.crn;
+ // 鎭㈠婊氬姩鏉′綅缃�
+ $("#crn").next('.layui-table-view').find('.layui-table-body').scrollLeft(scrollLeft);
+
+ $(".layui-table-tool").hide()
+ }
+ });
+ }
+ });
+ }, 1000);
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+ parent.layer.closeAll();
+});
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ tableIns.reload({
+ where: searchData,
+ page: {curr: pageCurr}
+ });
+}
diff --git a/src/main/webapp/views/realtimeWatch/crn.html b/src/main/webapp/views/realtimeWatch/crn.html
index 94c3033..88192b4 100644
--- a/src/main/webapp/views/realtimeWatch/crn.html
+++ b/src/main/webapp/views/realtimeWatch/crn.html
@@ -1,535 +1,98 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta charset="UTF-8">
+ <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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
- <link rel="stylesheet" type="text/css" href="../../static/wcs/css/normalize.css">
- <link rel="stylesheet" type="text/css" href="../../static/wcs/css/common.css">
- <link rel="stylesheet" type="text/css" href="../../static/wcs/css/crn.css">
- <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
- <script type="text/javascript" src="../../static/wcs/js/common.js"></script>
- <script type="text/javascript" src="../../static/wcs/js/layer/layer.js"></script>
- <style>
- .demoBtn {
- vertical-align: middle;
- width: 20%;
- height: 25px;
- left: 0;
- top: 0;
- text-shadow: inherit;
- font-size: 15px;
- margin-left: 5px;
- margin-right: 5px;
- display: inline-block;
- background-color: #FF5722;
- border: none;
- color: #FFF;
- box-shadow: 1px 1px 5px #B6B6B6;
- border-radius: 3px;
- cursor: pointer;
- }
-
- .demoBtn:hover {
- opacity: 0.8
- }
- .demoBtn:focus {
- outline: 0;
- }
- </style>
+ <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 style="padding: 10px;height: 100%;float: left;width: 6%">
- <div class="button-window"></div>
-</div>
-<div style="height: 100%;padding-left: 6%">
- <div style="padding: 10px;height: 100%">
- <!-- 鏃ュ織鐩戞帶鏉� -->
- <div class="log-board">
- <!-- 鎵ц鍛戒护 -->
- <!-- 鎵ц鍛戒护 -->
- <div class="command-log">
- <h3>鎵ц涓殑鍛戒护</h3>
- <div class="crn-command-item">
- <label>1#</label>
- <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
- <!-- <span> </span>-->
- <input id="crn1" disabled="disabled">
- </div>
- <div class="crn-command-item">
- <label>2#</label>
- <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
- <!-- <span> </span>-->
- <input id="crn2" disabled="disabled">
- </div>
- </div>
- <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
- <div class="crn-state">
- <table id="crn-state-table">
- <thead>
- <tr>
- <th>鍫嗗灈鏈�</th>
- <th>妯″紡</th>
- <th>鐘舵��</th>
- <th>鏈夌墿</th>
- <th>鍒�</th>
- <th>灞�</th>
- <th>璐у弶瀹氫綅</th>
- <th>杞借揣鍙板畾浣�</th>
- <th>璧拌鍦ㄥ畾浣�</th>
- <th>鏁呴殰浠g爜</th>
- <th>鏁呴殰鎻忚堪</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <!-- 鍫嗗灈鏈虹姸鎬� -->
- <div class="crn-msg">
- <table id="crn-msg-table">
- <thead>
- <tr>
- <th>鍫嗗灈鏈�</th>
- <th>宸ヤ綔鍙�</th>
- <th>鐘舵��</th>
- <th>婧愮珯</th>
- <th>鐩爣绔�</th>
- <th>婧愬簱浣�</th>
- <th>鐩爣搴撲綅</th>
- <th>璧拌閫熷害锛坢/min)</th>
- <th>鍗囬檷閫熷害锛坢/min)</th>
- <th>鍙夌墮閫熷害锛坢/min)</th>
- <th>璧拌璺濈(Km)</th>
- <th>鍗囬檷璺濈(Km)</th>
- <th>璧拌鏃堕暱(H)</th>
- <th>鍗囬檷鏃堕暱(H)</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- <!-- 鍫嗗灈鏈烘棩蹇楄緭鍑� -->
- <div class="crn-output-board">
- <textarea id="crn-output"></textarea>
+<div class="layui-fluid">
+ <div class="layui-card">
+ <div class="layui-card-body">
+<!-- <div class="layui-form toolbar" id="search-box">-->
+<!-- <div class="layui-form-item">-->
+<!-- <div class="layui-inline">-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-inline"> -->
+<!-- <button class="layui-btn icon-btn" lay-filter="search" lay-submit>-->
+<!-- <i class="layui-icon"></i>鍒锋柊-->
+<!-- </button>-->
+<!-- <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>-->
+<!-- <i class="layui-icon"></i>閲嶇疆-->
+<!-- </button>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </div>-->
+ <table class="layui-hide" id="crn" lay-filter="crn"></table>
</div>
</div>
</div>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData" style="visibility: hidden">鏂板</button>
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData" style="visibility: hidden">鍒犻櫎</button>
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;visibility: hidden">瀵煎嚭</button>
+ </div>
+</script>
+
+<script type="text/html" id="operate">
+ <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<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/realtimeWatch/crn.js" charset="utf-8"></script>
</body>
-<script>
- // 绌虹櫧琛屾暟
- var crnStateTableBlankRows = 0;
- var crnMsgTableBlankRows = 0;
- // 瀹為檯琛屾暟
- var crnStateTableFullRows = 0;
- var crnMsgTableFullRows = 0;
- // 鍒濆鍖�
- var crnOutputDom = document.getElementById("crn-output");
- $(document).ready(function() {
- getCommandLog();
- initCrnStateTable();
- getCrnStateInfo();
- initCrnMsgTable();
- getCrnMsgInfo();
- operatorBlockShow();
- });
- // 鏁版嵁鏇存柊
- setInterval(function () {
- getCrnStateInfo();
- getCrnMsgInfo();
- getCommandLog();
- },1000);
- setInterval(function () {
- getCrnOutput();
- operatorBlockShow();
- initDemo();
- },500);
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+ <input name="id" type="hidden">
+ <div class="layui-row">
+ <div class="layui-col-md12">
+ <div class="layui-form-item">
+ <label class="layui-form-label">api鍦板潃: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="url" placeholder="璇疯緭鍏pi鍦板潃">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">鐘舵��: </label>
+ <div class="layui-input-block">
+ <select name="status">
+ <option value="">璇烽�夋嫨鐘舵��</option>
+ <option value="0">姝e父</option>
+ <option value="1">绂佺敤</option>
+ </select>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">澶囨敞: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+ </div>
+ </div>
- // 鍒ゆ柇鎵嬪姩鎿嶄綔妯″潡鏄惁鍙敤
- function operatorBlockShow() {
- if (parent.systemRunning) {
- $('.crn-operation').css("opacity", "0.5");
- $('.crn-operation-shade').show();
- $('.crn-operation-shade-span').show();
- } else {
- $('.crn-operation').css("opacity", "1");
- $('.crn-operation-shade').hide();
- $('.crn-operation-shade-span').hide();
- }
- }
-
- // 鑾峰彇鍫嗗灈鏈烘墽琛屼腑鐨勫懡浠�
- function getCommandLog() {
- $.ajax({
- url: baseUrl + "/crn/command/ongoing",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200) {
- var commands = res.data;
- for (var i=0; i<commands.length;i++){
- $("#crn"+commands[i].crnNo).val(commands[i].command);
- }
- } else if (res.code === 403) {
- window.location.href = baseUrl + "/login";
- } else {
- console.log(res.msg);
- }
- }
- })
- }
-
- // 鍫嗗灈鏈轰俊鎭〃鑾峰彇 ---- 琛ㄤ竴
- function getCrnStateInfo() {
- var tableEl = $('#crn-state-table');
- $.ajax({
- url: baseUrl+ "/crn/table/crn/state",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200){
- var table = res.data;
- if (table.length > crnStateTableBlankRows && table.length !== crnStateTableFullRows) {
- initCrnStateTable(table.length-crnStateTableBlankRows);
- crnStateTableFullRows = table.length;
- }
- for (var i=1;i<=table.length;i++){
- var tr = tableEl.find("tr").eq(i);
- setVal(tr.children("td").eq(0), table[i-1].crnNo);
- setVal(tr.children("td").eq(1), table[i-1].statusType);
- setVal(tr.children("td").eq(2), table[i-1].status);
- setVal(tr.children("td").eq(3), table[i-1].loading);
- setVal(tr.children("td").eq(4), table[i-1].bay);
- setVal(tr.children("td").eq(5), table[i-1].lev);
- setVal(tr.children("td").eq(6), table[i-1].forkOffset);
- setVal(tr.children("td").eq(7), table[i-1].liftPos);
- setVal(tr.children("td").eq(8), table[i-1].walkPos);
- setVal(tr.children("td").eq(9), table[i-1].warnCode);
- setVal(tr.children("td").eq(10), table[i-1].alarm);
- }
- } else if (res.code === 403){
- window.location.href = baseUrl+"/login";
- } else {
- console.log(res.msg);
- }
- }
- });
- }
-
- // 鍫嗗灈鏈烘暟鎹〃鑾峰彇 ---- 琛ㄤ簩
- function getCrnMsgInfo() {
- var tableEl = $('#crn-msg-table');
- $.ajax({
- url: baseUrl+ "/crn/table/crn/msg",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200){
- var table = res.data;
- if (table.length > crnStateTableBlankRows && table.length !== crnMsgTableFullRows) {
- initCrnStateTable(table.length-crnStateTableBlankRows);
- crnMsgTableFullRows = table.length;
- }
- for (var i=1;i<=table.length;i++){
- var tr = tableEl.find("tr").eq(i);
- setVal(tr.children("td").eq(0), table[i-1].crnNo);
- setVal(tr.children("td").eq(1), table[i-1].workNo);
- setVal(tr.children("td").eq(2), table[i-1].status);
- setVal(tr.children("td").eq(3), table[i-1].sourceStaNo);
- setVal(tr.children("td").eq(4), table[i-1].staNo);
- setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
- setVal(tr.children("td").eq(6), table[i-1].locNo);
- setVal(tr.children("td").eq(7), table[i-1].xspeed);
- setVal(tr.children("td").eq(8), table[i-1].yspeed);
- setVal(tr.children("td").eq(9), table[i-1].zspeed);
- setVal(tr.children("td").eq(10), table[i-1].xdistance);
- setVal(tr.children("td").eq(11), table[i-1].ydistance);
- setVal(tr.children("td").eq(12), table[i-1].xduration);
- setVal(tr.children("td").eq(13), table[i-1].yduration);
- }
- } else if (res.code === 403){
- window.location.href = baseUrl+"/login";
- } else {
- console.log(res.msg);
- }
- }
- });
- }
-
- // 鍫嗗灈鏈烘墜鍔ㄦ搷浣滃尯 -----------------------------------------------------------------------
-
- function getReqParam() {
- var crnNo = $('input[name="crnSelect"]:checked').val();
- 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
- };
- }
-
- // 鍏ュ簱
- 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 coorMove() {
- http.post(baseUrl+"/crn/operator/coorMove", getReqParam(), function (res) {
- layer.msg(res.msg);
- });
- }
-
- // 鍥炲師鐐�
- function bacOrigin() {
- http.post(baseUrl+"/crn/operator/bacOrigin", getReqParam(), function (res) {
- layer.msg(res.msg);
- });
- }
-
- // 鍥炲師鐐�
- function reverseOrigin() {
- http.post(baseUrl+"/crn/operator/reverseOrigin", getReqParam(), function (res) {
- layer.msg(res.msg);
- });
- }
-
- // 浠诲姟瀹屾垚
- function taskComplete() {
- http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) {
- layer.msg(res.msg);
- });
- }
-
- // 鏆傚仠
- function pause() {
- http.post(baseUrl+"/crn/operator/pause", getReqParam(), function (res) {
- layer.msg(res.msg);
- });
- }
-
- // 鍚姩
- function boot() {
- http.post(baseUrl+"/crn/operator/boot", 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 getCrnOutput() {
- $.ajax({
- url: baseUrl + "/crn/output/site",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- console.log(res)
- if (res.code === 200) {
- crnOutput(res.data);
- } else if (res.code === 403) {
- window.location.href = baseUrl + "/login";
- } else {
- console.log(res.msg);
- }
- }
- })
- }
-
- // ------------------------------------------------------------------------------------------------
-
- // 鍫嗗灈鏈轰俊鎭〃鑾峰彇 ----- 琛ㄤ竴
- function initCrnStateTable(row) {
- var line;
- if (row === undefined){
- var one = $('#crn-state-table thead').height();
- var total = $('.crn-state').height();
- var count = total / one;
- count = parseInt(count) - 1;
- crnStateTableBlankRows = count;
- line = count;
- } else {
- line = row;
- }
- var html = "";
- for (var i = 0; i < line; i ++){
- html += " <tr>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " </tr>\n";
- }
- $('#crn-state-table tbody').after(html);
- }
-
- // 鍫嗗灈鏈烘暟鎹〃鑾峰彇 ----- 琛ㄤ簩
- function initCrnMsgTable(row) {
- var line;
- if (row === undefined){
- var one = $('#crn-msg-table thead').height();
- var total = $('.crn-msg').height();
- var count = total / one;
- count = parseInt(count) - 1;
- crnMsgTableBlankRows = count;
- line = count;
- } else {
- line = row;
- }
- var html = "";
- for (var i = 0; i < line; i ++){
- html += " <tr>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " <td></td>\n" +
- " </tr>\n";
- }
- $('#crn-msg-table tbody').after(html);
- }
-
- // 鏃ュ織杈撳嚭妗�
- function crnOutput(content){
- crnOutputDom.value += content;
- crnOutputDom.scrollTop = crnOutputDom.scrollHeight;
- }
-
-
- var crnDemoData;
- function initDemo() {
- $.ajax({
- url: baseUrl+"/crn/demo/status",
- async: false,
- method: 'GET',
- success: function (res) {
- if (res.code === 200) {
- crnDemoData = res.data;
- crnDemoData.forEach(function (e) {
- $("#demoBtn-"+e.crnNo).html(e.demo?'鍋滄':'婕旂ず');
- })
- } else if (res.code === 403){
- parent.location.href = baseUrl+"/login";
- } else {
- layer.msg(res.msg, {icon: 2});
- }
- }
- })
- }
-
- function demoSwitch(el) {
- var crnId = el.split("-")[1];
- var opt;
- if (crnDemoData == null) {
- initDemo();
- }
- for (var i = 0; i<crnDemoData.length; i++) {
- if (Number(crnDemoData[i].crnNo) === Number(crnId)) {
- opt = !crnDemoData[i].demo;
- }
- }
- layer.confirm(crnId + ' 鍙峰爢鍨涙満纭畾'+ (opt?'寮�濮�':'鍋滄') + '婕旂ず鍚楋紵', function(){
- doDemo(crnId, 'root', opt); // 鍋滄wcs绯荤粺
- });
- }
-
- function doDemo(crnId, password, opt) {
- // 鍔犺浇tips
- var index = layer.load(1, {
- shade: [0.1,'#fff']
- });
- $.ajax({
- url: baseUrl+ "/crn/demo/switch",
- headers: {'token': localStorage.getItem('token')},
- // async: false,
- data: {
- crnId: Number(crnId),
- password: password,
- opt: opt
- },
- 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});
- }
- }
- });
-
- }
-
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
</script>
</html>
+
diff --git a/src/main/webapp/views/realtimeWatch/crn2.html b/src/main/webapp/views/realtimeWatch/crn2.html
new file mode 100644
index 0000000..8401eaa
--- /dev/null
+++ b/src/main/webapp/views/realtimeWatch/crn2.html
@@ -0,0 +1,535 @@
+<!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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/normalize.css">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/common.css">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/crn.css">
+ <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/common.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/layer/layer.js"></script>
+ <style>
+ .demoBtn {
+ vertical-align: middle;
+ width: 20%;
+ height: 25px;
+ left: 0;
+ top: 0;
+ text-shadow: inherit;
+ font-size: 15px;
+ margin-left: 5px;
+ margin-right: 5px;
+ display: inline-block;
+ background-color: #FF5722;
+ border: none;
+ color: #FFF;
+ box-shadow: 1px 1px 5px #B6B6B6;
+ border-radius: 3px;
+ cursor: pointer;
+ }
+
+ .demoBtn:hover {
+ opacity: 0.8
+ }
+ .demoBtn:focus {
+ outline: 0;
+ }
+ </style>
+</head>
+<body>
+<div style="padding: 10px;height: 100%;float: left;width: 6%">
+ <div class="button-window"></div>
+</div>
+<div style="height: 100%;padding-left: 6%">
+ <div style="padding: 10px;height: 100%">
+ <!-- 鏃ュ織鐩戞帶鏉� -->
+ <div class="log-board">
+ <!-- 鎵ц鍛戒护 -->
+
+ <!-- 鎵ц鍛戒护 -->
+ <div class="command-log">
+ <h3>鎵ц涓殑鍛戒护</h3>
+ <div class="crn-command-item">
+ <label>1#</label>
+ <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+ <!-- <span> </span>-->
+ <input id="crn1" disabled="disabled">
+ </div>
+ <div class="crn-command-item">
+ <label>2#</label>
+ <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+ <!-- <span> </span>-->
+ <input id="crn2" disabled="disabled">
+ </div>
+ </div>
+ <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
+ <div class="crn-state">
+ <table id="crn-state-table">
+ <thead>
+ <tr>
+ <th>鍫嗗灈鏈�</th>
+ <th>妯″紡</th>
+ <th>鐘舵��</th>
+ <th>鏈夌墿</th>
+ <th>鍒�</th>
+ <th>灞�</th>
+ <th>璐у弶瀹氫綅</th>
+ <th>杞借揣鍙板畾浣�</th>
+ <th>璧拌鍦ㄥ畾浣�</th>
+ <th>鏁呴殰浠g爜</th>
+ <th>鏁呴殰鎻忚堪</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <!-- 鍫嗗灈鏈虹姸鎬� -->
+ <div class="crn-msg">
+ <table id="crn-msg-table">
+ <thead>
+ <tr>
+ <th>鍫嗗灈鏈�</th>
+ <th>宸ヤ綔鍙�</th>
+ <th>鐘舵��</th>
+ <th>婧愮珯</th>
+ <th>鐩爣绔�</th>
+ <th>婧愬簱浣�</th>
+ <th>鐩爣搴撲綅</th>
+ <th>璧拌閫熷害锛坢/min)</th>
+ <th>鍗囬檷閫熷害锛坢/min)</th>
+ <th>鍙夌墮閫熷害锛坢/min)</th>
+ <th>璧拌璺濈(Km)</th>
+ <th>鍗囬檷璺濈(Km)</th>
+ <th>璧拌鏃堕暱(H)</th>
+ <th>鍗囬檷鏃堕暱(H)</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </div>
+ <!-- 鍫嗗灈鏈烘棩蹇楄緭鍑� -->
+ <div class="crn-output-board">
+ <textarea id="crn-output"></textarea>
+ </div>
+ </div>
+</div>
+</body>
+<script>
+ // 绌虹櫧琛屾暟
+ var crnStateTableBlankRows = 0;
+ var crnMsgTableBlankRows = 0;
+ // 瀹為檯琛屾暟
+ var crnStateTableFullRows = 0;
+ var crnMsgTableFullRows = 0;
+ // 鍒濆鍖�
+ var crnOutputDom = document.getElementById("crn-output");
+ $(document).ready(function() {
+ getCommandLog();
+ initCrnStateTable();
+ getCrnStateInfo();
+ initCrnMsgTable();
+ getCrnMsgInfo();
+ operatorBlockShow();
+ });
+ // 鏁版嵁鏇存柊
+ setInterval(function () {
+ getCrnStateInfo();
+ getCrnMsgInfo();
+ getCommandLog();
+ },1000);
+ setInterval(function () {
+ getCrnOutput();
+ operatorBlockShow();
+ initDemo();
+ },500);
+
+ // 鍒ゆ柇鎵嬪姩鎿嶄綔妯″潡鏄惁鍙敤
+ function operatorBlockShow() {
+ if (parent.systemRunning) {
+ $('.crn-operation').css("opacity", "0.5");
+ $('.crn-operation-shade').show();
+ $('.crn-operation-shade-span').show();
+ } else {
+ $('.crn-operation').css("opacity", "1");
+ $('.crn-operation-shade').hide();
+ $('.crn-operation-shade-span').hide();
+ }
+ }
+
+ // 鑾峰彇鍫嗗灈鏈烘墽琛屼腑鐨勫懡浠�
+ function getCommandLog() {
+ $.ajax({
+ url: baseUrl + "/crn/command/ongoing",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ var commands = res.data;
+ for (var i=0; i<commands.length;i++){
+ $("#crn"+commands[i].crnNo).val(commands[i].command);
+ }
+ } else if (res.code === 403) {
+ window.location.href = baseUrl + "/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ })
+ }
+
+ // 鍫嗗灈鏈轰俊鎭〃鑾峰彇 ---- 琛ㄤ竴
+ function getCrnStateInfo() {
+ var tableEl = $('#crn-state-table');
+ $.ajax({
+ url: baseUrl+ "/crn/table/crn/state",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ var table = res.data;
+ if (table.length > crnStateTableBlankRows && table.length !== crnStateTableFullRows) {
+ initCrnStateTable(table.length-crnStateTableBlankRows);
+ crnStateTableFullRows = table.length;
+ }
+ for (var i=1;i<=table.length;i++){
+ var tr = tableEl.find("tr").eq(i);
+ setVal(tr.children("td").eq(0), table[i-1].crnNo);
+ setVal(tr.children("td").eq(1), table[i-1].statusType);
+ setVal(tr.children("td").eq(2), table[i-1].status);
+ setVal(tr.children("td").eq(3), table[i-1].loading);
+ setVal(tr.children("td").eq(4), table[i-1].bay);
+ setVal(tr.children("td").eq(5), table[i-1].lev);
+ setVal(tr.children("td").eq(6), table[i-1].forkOffset);
+ setVal(tr.children("td").eq(7), table[i-1].liftPos);
+ setVal(tr.children("td").eq(8), table[i-1].walkPos);
+ setVal(tr.children("td").eq(9), table[i-1].warnCode);
+ setVal(tr.children("td").eq(10), table[i-1].alarm);
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
+ // 鍫嗗灈鏈烘暟鎹〃鑾峰彇 ---- 琛ㄤ簩
+ function getCrnMsgInfo() {
+ var tableEl = $('#crn-msg-table');
+ $.ajax({
+ url: baseUrl+ "/crn/table/crn/msg",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ var table = res.data;
+ if (table.length > crnStateTableBlankRows && table.length !== crnMsgTableFullRows) {
+ initCrnStateTable(table.length-crnStateTableBlankRows);
+ crnMsgTableFullRows = table.length;
+ }
+ for (var i=1;i<=table.length;i++){
+ var tr = tableEl.find("tr").eq(i);
+ setVal(tr.children("td").eq(0), table[i-1].crnNo);
+ setVal(tr.children("td").eq(1), table[i-1].workNo);
+ setVal(tr.children("td").eq(2), table[i-1].status);
+ setVal(tr.children("td").eq(3), table[i-1].sourceStaNo);
+ setVal(tr.children("td").eq(4), table[i-1].staNo);
+ setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
+ setVal(tr.children("td").eq(6), table[i-1].locNo);
+ setVal(tr.children("td").eq(7), table[i-1].xspeed);
+ setVal(tr.children("td").eq(8), table[i-1].yspeed);
+ setVal(tr.children("td").eq(9), table[i-1].zspeed);
+ setVal(tr.children("td").eq(10), table[i-1].xdistance);
+ setVal(tr.children("td").eq(11), table[i-1].ydistance);
+ setVal(tr.children("td").eq(12), table[i-1].xduration);
+ setVal(tr.children("td").eq(13), table[i-1].yduration);
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
+ // 鍫嗗灈鏈烘墜鍔ㄦ搷浣滃尯 -----------------------------------------------------------------------
+
+ function getReqParam() {
+ var crnNo = $('input[name="crnSelect"]:checked').val();
+ 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
+ };
+ }
+
+ // 鍏ュ簱
+ 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 coorMove() {
+ http.post(baseUrl+"/crn/operator/coorMove", getReqParam(), function (res) {
+ layer.msg(res.msg);
+ });
+ }
+
+ // 鍥炲師鐐�
+ function bacOrigin() {
+ http.post(baseUrl+"/crn/operator/bacOrigin", getReqParam(), function (res) {
+ layer.msg(res.msg);
+ });
+ }
+
+ // 鍥炲師鐐�
+ function reverseOrigin() {
+ http.post(baseUrl+"/crn/operator/reverseOrigin", getReqParam(), function (res) {
+ layer.msg(res.msg);
+ });
+ }
+
+ // 浠诲姟瀹屾垚
+ function taskComplete() {
+ http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) {
+ layer.msg(res.msg);
+ });
+ }
+
+ // 鏆傚仠
+ function pause() {
+ http.post(baseUrl+"/crn/operator/pause", getReqParam(), function (res) {
+ layer.msg(res.msg);
+ });
+ }
+
+ // 鍚姩
+ function boot() {
+ http.post(baseUrl+"/crn/operator/boot", 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 getCrnOutput() {
+ $.ajax({
+ url: baseUrl + "/crn/output/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ console.log(res)
+ if (res.code === 200) {
+ crnOutput(res.data);
+ } else if (res.code === 403) {
+ window.location.href = baseUrl + "/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ })
+ }
+
+ // ------------------------------------------------------------------------------------------------
+
+ // 鍫嗗灈鏈轰俊鎭〃鑾峰彇 ----- 琛ㄤ竴
+ function initCrnStateTable(row) {
+ var line;
+ if (row === undefined){
+ var one = $('#crn-state-table thead').height();
+ var total = $('.crn-state').height();
+ var count = total / one;
+ count = parseInt(count) - 1;
+ crnStateTableBlankRows = count;
+ line = count;
+ } else {
+ line = row;
+ }
+ var html = "";
+ for (var i = 0; i < line; i ++){
+ html += " <tr>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " </tr>\n";
+ }
+ $('#crn-state-table tbody').after(html);
+ }
+
+ // 鍫嗗灈鏈烘暟鎹〃鑾峰彇 ----- 琛ㄤ簩
+ function initCrnMsgTable(row) {
+ var line;
+ if (row === undefined){
+ var one = $('#crn-msg-table thead').height();
+ var total = $('.crn-msg').height();
+ var count = total / one;
+ count = parseInt(count) - 1;
+ crnMsgTableBlankRows = count;
+ line = count;
+ } else {
+ line = row;
+ }
+ var html = "";
+ for (var i = 0; i < line; i ++){
+ html += " <tr>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " </tr>\n";
+ }
+ $('#crn-msg-table tbody').after(html);
+ }
+
+ // 鏃ュ織杈撳嚭妗�
+ function crnOutput(content){
+ crnOutputDom.value += content;
+ crnOutputDom.scrollTop = crnOutputDom.scrollHeight;
+ }
+
+
+ var crnDemoData;
+ function initDemo() {
+ $.ajax({
+ url: baseUrl+"/crn/demo/status",
+ async: false,
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ crnDemoData = res.data;
+ crnDemoData.forEach(function (e) {
+ $("#demoBtn-"+e.crnNo).html(e.demo?'鍋滄':'婕旂ず');
+ })
+ } else if (res.code === 403){
+ parent.location.href = baseUrl+"/login";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ }
+
+ function demoSwitch(el) {
+ var crnId = el.split("-")[1];
+ var opt;
+ if (crnDemoData == null) {
+ initDemo();
+ }
+ for (var i = 0; i<crnDemoData.length; i++) {
+ if (Number(crnDemoData[i].crnNo) === Number(crnId)) {
+ opt = !crnDemoData[i].demo;
+ }
+ }
+ layer.confirm(crnId + ' 鍙峰爢鍨涙満纭畾'+ (opt?'寮�濮�':'鍋滄') + '婕旂ず鍚楋紵', function(){
+ doDemo(crnId, 'root', opt); // 鍋滄wcs绯荤粺
+ });
+ }
+
+ function doDemo(crnId, password, opt) {
+ // 鍔犺浇tips
+ var index = layer.load(1, {
+ shade: [0.1,'#fff']
+ });
+ $.ajax({
+ url: baseUrl+ "/crn/demo/switch",
+ headers: {'token': localStorage.getItem('token')},
+ // async: false,
+ data: {
+ crnId: Number(crnId),
+ password: password,
+ opt: opt
+ },
+ 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});
+ }
+ }
+ });
+
+ }
+
+</script>
+</html>
--
Gitblit v1.9.1