From 52a3d2b51c7ca58abcb0e31783671af98d526aef Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 22 十二月 2023 12:17:23 +0800
Subject: [PATCH] #检料盘点工作档更新
---
src/main/webapp/views/shuttle.html | 862 +++++++++++++++++++++++----------------------------------
1 files changed, 351 insertions(+), 511 deletions(-)
diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html
index f76e3fa..d11d3c5 100644
--- a/src/main/webapp/views/shuttle.html
+++ b/src/main/webapp/views/shuttle.html
@@ -13,368 +13,180 @@
<script type="text/javascript" src="../static/js/common.js"></script>
</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" id="commandLogId" style="width: 5%;">
-<!-- <div data-shuttleNo="1" class="shuttle-command-item">-->
-<!-- <label>1#</label>-->
-<!-- <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>-->
-<!-- <button id="mode-1" class="demoBtn mode-btn" >璁惧淇℃伅</button>-->
-<!-- </div>-->
- </div>
- <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
- <div class="shuttle-state" style="width: 95%;">
- <table id="shuttle-state-table">
- <thead>
- <tr>
- <th>鍥涘悜绌挎杞�</th>
- <th>浠诲姟鐘舵��</th>
- <th>灏忚溅鐘舵��</th>
- <th>褰撳墠浜岀淮鐮�</th>
- <th>鐢甸噺</th>
- <th>鐢垫睜娓╁害</th>
- <th>閿欒缂栧彿</th>
- <th>plc杈撳嚭鐘舵�両O-椤跺崌浣�</th>
- <th>plc杈撳嚭鐘舵�両O-鎹㈠悜浣�</th>
- <th>plc杈撳嚭鐘舵�両O-鎶遍椄浣�</th>
- <th>plc杈撳嚭鐘舵�両O-鍏呯數浣�</th>
- <th>閿欒淇℃伅鐮�</th>
- <th>plc杈撳叆鐘舵��</th>
- <th>褰撳墠鎴栦箣鍓嶄簩缁寸爜</th>
- <th>x鍋忕Щ閲�</th>
- <th>y鍋忕Щ閲�</th>
- <th>鐢靛帇</th>
- <th>妯℃嫙閲�</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <!-- 绌挎杞︾姸鎬� -->
- <div class="shuttle-msg">
- <table id="shuttle-msg-table">
+<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" id="commandLogId" style="width: 5%;">-->
+ <!--<!– <div data-shuttleNo="1" class="shuttle-command-item">–>-->
+ <!--<!– <label>1#</label>–>-->
+ <!--<!– <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>–>-->
+ <!--<!– <button id="mode-1" class="demoBtn mode-btn" >璁惧淇℃伅</button>–>-->
+ <!--<!– </div>–>-->
+ <!-- </div>-->
+ <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
+ <div class="shuttle-state" style="width: 100%;">
+ <table id="shuttle-state-table">
<thead>
- <tr>
- <th>鍥涘悜绌挎杞�</th>
- <th>宸ヤ綔鍙�</th>
- <th>鐘舵��</th>
- <th>婧愬簱浣�</th>
- <th>鐩爣搴撲綅</th>
- <th>鍗囬檷浼烘湇閫熷害</th>
- <th>琛岃蛋浼烘湇閫熷害</th>
- <th>鍗囬檷浼烘湇璐熻浇</th>
- <th>琛岃蛋浼烘湇璐熻浇</th>
- <th>浣滀笟鏍囪</th>
- <th>搴撲綅鍙�</th>
- <th>褰撳墠妤煎眰</th>
- </tr>
+ <tr>
+ <th>鍥涘悜绌挎杞�</th>
+ <th>浠诲姟鐘舵��</th>
+ <th>灏忚溅鐘舵��</th>
+ <th>宸ヤ綔妯″紡</th>
+ <th>瀹為檯搴撲綅</th>
+ <th>瀹為檯鍧愭爣</th>
+ <th>鐢甸噺</th>
+ <th>褰撳墠閫熷害</th>
+ <th>璐熻浇鐘舵��</th>
+ <th>椤跺崌浣嶇疆</th>
+ <th>杩愯鏂瑰悜</th>
+ <th>杩愯鏂瑰悜2</th>
+ <th>鍏呯數鐘舵��</th>
+ <th>鏁呴殰鐘舵��</th>
+ <th>鏁呴殰鐮�</th>
+ <th>绠″埗鐘舵��</th>
+ <th>浣庣數閲�</th>
+ </tr>
</thead>
<tbody>
</tbody>
</table>
</div>
- <!-- 鎵嬪姩鎿嶄綔 -->
- <div class="shuttle-operation">
- <!-- 閬僵灞� -->
- <div class="shuttle-operation-shade">
+ </div>
+ <!-- 绌挎杞︾姸鎬� -->
+ <div class="shuttle-msg">
+ <table id="shuttle-msg-table">
+ <thead>
+ <tr>
+ <th>鍥涘悜绌挎杞�</th>
+ <th>宸ヤ綔鍙�</th>
+ <th>婧愬簱浣�</th>
+ <th>鐩爣搴撲綅</th>
+ <th>鏈�楂樼數鑺數鍘�</th>
+ <th>鏈�浣庣數鑺數鍘�</th>
+ <th>鐢垫睜鐢靛帇</th>
+ <th>鍏呮斁鐢靛惊鐜鏁�</th>
+ <th>鍓╀綑鐢甸噺</th>
+ <th>鎬荤數閲�</th>
+ <th>鎬婚噷绋嬫暟</th>
+ <th>浣滀笟鏍囪</th>
+ <th>褰撳墠搴撲綅</th>
+ <th>浠ょ墝</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </div>
+ <!-- 鎵嬪姩鎿嶄綔 -->
+ <div class="shuttle-operation">
+ <!-- 閬僵灞� -->
+ <div class="shuttle-operation-shade">
<span class="shuttle-operation-shade-span">
WCS 绯荤粺杩愯涓紝璇峰仠姝㈠悗鎿嶄綔
</span>
- </div>
- <!-- 璁惧浠诲姟閫夋嫨 -->
- <div class="task-select">
- <!-- 閫夋嫨 -->
- <div id="shuttle-select" class="operator-item">
- <span class="select-title">鍥涘悜绌挎杞﹀彿</span>
- <div class="select-container" id="shuttleRadioBoxId">
-<!-- <label><input type="radio" name="shuttleSelect" value="1" checked> 1鍙风┛姊溅</label>-->
- </div>
+ </div>
+ <!-- 璁惧浠诲姟閫夋嫨 -->
+ <div class="task-select">
+ <!-- 閫夋嫨 -->
+ <div id="shuttle-select" class="operator-item" style="width: 100%;">
+ <span class="select-title">鍥涘悜绌挎杞﹀彿</span>
+ <div class="select-container" id="shuttleRadioBoxId" style="display: flex;flex-wrap: wrap;justify-content: center;align-items: center;">
+ <!-- <label><input type="radio" name="shuttleSelect" value="1" checked> 1鍙风┛姊溅</label>-->
</div>
</div>
+ </div>
- <!-- 璁惧浠诲姟鎿嶄綔 -->
- <div class="task-operator">
- <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 class="task-operator">
+ <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>
- </div>
-
- <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 class="select-container-item">
+ <span>鐩爣搴撲綅</span>
+ <label><input id="distLocNo" type="text" name="distLocNo" /></label>
</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 style="margin-top: 10px;">
+ <button class="item" onclick="shuttleOperator(18)">鎼繍璐х墿</button>
+ <button class="item" onclick="shuttleOperator(14)">绉诲姩鍒扮洰鏍囧簱浣�</button>
+ <button class="item" onclick="shuttleOperator(23)">绉诲姩鍒扮洰鏍囧簱浣�(浠诲姟)</button>
+ <!-- <button class="item" onclick="shuttleOperator(16)">绉诲姩鍒版彁鍗囨満</button>-->
</div>
</div>
</div>
</div>
- </fieldset>
- </div>
+ <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(15)">鍏呯數寮�鍏�</button>
+ <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
+ <button class="item" onclick="shuttleOperator(21)">绠″埗</button>
+ <button class="item" onclick="shuttleOperator(22)">鍙栨秷绠″埗</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </fieldset>
</div>
- <!-- 绌挎杞︽棩蹇楄緭鍑� -->
- <div class="shuttle-output-board">
- <textarea id="shuttle-output"></textarea>
- </div>
+
+ </div>
+ <!-- 绌挎杞︽棩蹇楄緭鍑� -->
+ <div class="shuttle-output-board">
+ <textarea id="shuttle-output"></textarea>
</div>
</div>
+</div>
- <div id="shuttle-detl" style="display: none">
- <div>
- <div class="form-item">
- <label class="form-label">鍥涘悜绌挎杞﹀彿:</label>
- <div class="form-input">
- <input id="shuttleNo" name="shuttleNo" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled">
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">宸ヤ綔鍙�:</label>
- <div class="form-input">
- <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鎺�:</label>
- <div class="form-input">
- <input id="row" name="row" type="number" class="layui-input" lay-verify="number" autocomplete="off">
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍒�:</label>
- <div class="form-input">
- <input id="bay" name="bay" type="number" class="layui-input" autocomplete="off">
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">灞�:</label>
- <div class="form-input">
- <input id="lev" name="lev" type="number" class="layui-input" autocomplete="off">
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">浣滀笟鏍囪:</label>
- <div class="form-input">
- <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
- </div>
- </div>
- <div class="form-item form-button-container">
- <button class="form-button" id="save">淇濆瓨</button>
- <button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
+<div id="shuttle-detl" style="display: none">
+ <div>
+ <div class="form-item">
+ <label class="form-label">绌挎杞﹀彿:</label>
+ <div class="form-input">
+ <input id="shuttleNo" name="shuttleNo" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled">
</div>
</div>
- </div>
- <div id="shuttle-detl2" style="display: none">
- <div style="width: 1400px">
- <div class="form-item" style="text-align: left">
- <spen style="margin: 20px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style:dotted;">
- 寮傚父锛�<spen style="color: #FD482C;">鉁�</spen>
- </spen>
- <spen style="margin: 20px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style: double;">
- 姝e父锛�<spen style="color: #00FF00;">鈥�</spen>
- </spen>
- </div>
- <div style="float:left;margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style:dotted;">
- <div class="form-item" style="text-align: center">
- <label>鍥涘悜绌挎杞﹀紓甯�</label>
- </div>
- <div class="form-item">
- <label class="form-label">鍥涘悜绌挎杞﹀彿:</label>
- <div class="form-input">
- <input id="shuttleNo1" name="shuttleNo" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled" readonly>
- </div>
- </div>
-
- </div>
- <div style="float:left;margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style:dotted">
- <div class="form-item" style="text-align: center">
- <label>鍥涘悜绌挎杞︽彁绀轰俊鎭�</label>
- </div>
-
- </div>
- <div style="float:left;margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style:dotted">
- <div class="form-item" style="text-align: center">
- <label>浠诲姟淇℃伅</label>
- </div>
- <div class="form-item">
- <label class="form-label">鍏ュ簱浠诲姟涓�:</label>
- <div class="form-input">
- <input id="pakInTask" name="pakInTask" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍑哄簱浠诲姟涓�:</label>
- <div class="form-input">
- <input id="pakOutTask" name="pakOutTask" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">绉诲簱浠诲姟涓�:</label>
- <div class="form-input">
- <input id="pakMoveTask" name="pakMoveTask" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍥炲師鐐逛换鍔′腑:</label>
- <div class="form-input">
- <input id="goHpTask" name="goHpTask" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲弽鍘熺偣浠诲姟涓�:</label>
- <div class="form-input">
- <input id="goOHpTask" name="goOHpTask" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲師鐐归伩璁╀綅:</label>
- <div class="form-input">
- <input id="goHpAvoid" name="goHpAvoid" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲弽鍘熺偣閬胯浣�:</label>
- <div class="form-input">
- <input id="goOHpAvoid" name="goOHpAvoid" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍏ュ簱鍙栫┖缁撴潫:</label>
- <div class="form-input">
- <input id="pakInEmpty" name="pakInEmpty" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍏ュ簱姝e父缁撴潫:</label>
- <div class="form-input">
- <input id="pakInFinish" name="pakInFinish" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍑哄簱鍙栫┖缁撴潫:</label>
- <div class="form-input">
- <input id="pakOutEmpty" name="pakOutEmpty" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍑哄簱姝e父缁撴潫:</label>
- <div class="form-input">
- <input id="pakOutFinish" name="pakOutFinish" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲師鐐归伩璁╁畬鎴�:</label>
- <div class="form-input">
- <input id="goHpAvoidFinish" name="goHpAvoidFinish" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲弽鍘熺偣閬胯瀹屾垚:</label>
- <div class="form-input">
- <input id="goOHpAvoidFinish" name="goOHpAvoidFinish" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲師鐐归伩璁╁畬鎴�:</label>
- <div class="form-input">
- <input id="goHpAvoidErr" name="goHpAvoidErr" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- <div class="form-item">
- <label class="form-label">鍘诲弽鍘熺偣閬胯瀹屾垚:</label>
- <div class="form-input">
- <input id="goOHpAvoidErr" name="goOHpAvoidErr" class="layui-input" autocomplete="off" readonly>
- </div>
- </div>
- </div>
- <div style="float:left;margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;border: black;border-width: 3px;border-style:dotted">
- <div class="form-item" style="text-align: center">
- <label>鐘舵�佷俊鎭�</label>
- </div>
-<!-- <div class="form-item">-->
-<!-- <label class="form-label">鑱旀満妯″紡:</label>-->
-<!-- <div class="form-input">-->
-<!-- <input id="autoMode" name="autoMode" class="layui-input" autocomplete="off" readonly>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <div class="form-item">-->
-<!-- <label class="form-label">鐢靛帇杩囦綆:</label>-->
-<!-- <div class="form-input">-->
-<!-- <input id="voltageLow" name="voltageLow" class="layui-input" autocomplete="off" readonly>-->
-<!-- </div>-->
-<!-- </div>-->
+ <div class="form-item">
+ <label class="form-label">宸ヤ綔鍙�:</label>
+ <div class="form-input">
+ <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
</div>
</div>
+ <div class="form-item">
+ <label class="form-label">浣滀笟鏍囪:</label>
+ <div class="form-input">
+ <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item">
+ <label class="form-label">浠ょ墝:</label>
+ <div class="form-input">
+ <input id="token" name="token" type="text" class="layui-input" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item form-button-container">
+ <button class="form-button" id="save">淇濆瓨</button>
+ <button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
+ </div>
</div>
+</div>
</body>
</html>
<script>
@@ -386,18 +198,46 @@
var shuttleMsgTableFullRows = 0;
// 鍒濆鍖�
var shuttleOutputDom = document.getElementById("shuttle-output");
+
+ var ws = new WebSocket("ws://" + window.location.host + baseUrl + "/shuttle/websocket");
+
+ //褰揥ebSocket鍒涘缓鎴愬姛鏃讹紝瑙﹀彂onopen浜嬩欢
+ ws.onopen = function(){
+ console.log("open");
+ }
+
+ //褰撳鎴风鏀跺埌鏈嶅姟绔彂鏉ョ殑娑堟伅鏃讹紝瑙﹀彂onmessage浜嬩欢
+ ws.onmessage = function(e){
+ const result = JSON.parse(e.data);
+ if (result.url == "/shuttle/table/shuttle/state") {
+ setShuttleStateInfo(JSON.parse(result.data))
+ setShuttleMsgInfo(JSON.parse(result.data))
+ }else if (result.url == "/shuttle/output/shuttle") {
+ setShuttleOutput(JSON.parse(result.data))
+ }
+ // console.log(e.data,result);
+ }
+
+ //褰撳鎴风鏀跺埌鏈嶅姟绔彂閫佺殑鍏抽棴杩炴帴璇锋眰鏃讹紝瑙﹀彂onclose浜嬩欢
+ ws.onclose = function(e){
+ console.log("close");
+ }
+
+ //濡傛灉鍑虹幇杩炴帴銆佸鐞嗐�佹帴鏀躲�佸彂閫佹暟鎹け璐ョ殑鏃跺�欒Е鍙憃nerror浜嬩欢
+ ws.onerror = function(e) {
+ console.log(e);
+ }
+
$(document).ready(function() {
initShuttleStateTable();
getShuttleStateInfo();
initShuttleMsgTable();
- getShuttleMsgInfo();
operatorBlockShow();
setShuttleRadio();
});
setInterval(function () {
- getShuttleStateInfo()
- getShuttleMsgInfo();
+ getShuttleStateInfo();
},1000)
setInterval(function () {
getShuttleOutput();
@@ -417,82 +257,6 @@
}
}
- var layerIdx;
- $(document).on('click ','.pos-btn', function () {
- let shuttleNo = Number($(this).parent().attr("data-shuttleNo"));
- layerIdx = layer.open({
- type: 1,
- title: false,
- shadeClose: true,
- offset: [$(this).offset().top + 30 + 'px', $(this).offset().left + 'px'],
- anim: 5,
- shade: [0],
- area: ['310px', '370px'],
- closeBtn: 0,
- content: $("#shuttle-detl"),
- success: function(layero, index){
- http.get(baseUrl+ "/shuttle/detl/"+shuttleNo, null, function (res) {
- $('#shuttleNo').val(shuttleNo);
- $('#workNo').val(res.data.workNo);
- $('#row').val(res.data.row);
- $('#bay').val(res.data.bay);
- $('#lev').val(res.data.lev);
- $('#crnNo').val(res.data.crnNo);
- $('#pakMk').val(res.data.pakMk);
- })
- },
- end: function () {
- $('#shuttleNo').val("");
- $('#workNo').val("");
- $('#row').val("");
- $('#bay').val("");
- $('#lev').val("");
- $('#crnNo').val("");
- $('#pakMk').val("");
- }
- })
- })
-
- var layerIdx0;
- $(document).on('click ','.mode-btn', function () {
- let shuttleNo = Number($(this).parent().attr("data-shuttleNo"));
- layerIdx0 = layer.open({
- type: 1,
- title: false,
- shadeClose: true,
- offset: [$(this).offset().top + 30 + 'px', $(this).offset().left + 'px'],
- anim: 5,
- shade: [0],
- area: ['70%', '85%'],
- closeBtn: 0,
- content: $("#shuttle-detl2"),
- success: function(layero, index){
- console.log(shuttleNo)
- http.get(baseUrl+ "/shuttle/sensor/detl/"+shuttleNo, null, function (res) {
- $('#shuttleNo1').val(res.data.shuttleNo);
- getColor(res.data.pakInTask,'#pakInTask');
- getColor(res.data.pakOutTask,'#pakOutTask');
- getColor(res.data.pakMoveTask,'#pakMoveTask');
- getColor(res.data.goHpTask,'#goHpTask');
- getColor(res.data.goOHpTask,'#goOHpTask');
- getColor(res.data.goHpAvoid,'#goHpAvoid');
- getColor(res.data.goOHpAvoid,'#goOHpAvoid');
- getColor(res.data.pakInEmpty,'#pakInEmpty');
- getColor(res.data.pakInFinish,'#pakInFinish');
- getColor(res.data.pakOutEmpty,'#pakOutEmpty');
- getColor(res.data.pakOutFinish,'#pakOutFinish');
- getColor(res.data.goHpAvoidFinish,'#goHpAvoidFinish');
- getColor(res.data.goOHpAvoidFinish,'#goOHpAvoidFinish');
- getColor(res.data.goHpAvoidErr,'#goHpAvoidErr');
- getColor(res.data.goOHpAvoidErr,'#goOHpAvoidErr');
- })
- },
- end: function () {
- $('#shuttleNo').val("");
- }
- })
- })
-
function getColor(res,e){
$(e).val(res?"鉁�":"鈥�");
if (res){
@@ -506,19 +270,12 @@
http.post(baseUrl+ "/shuttle/detl/update", {
shuttleNo: $('#shuttleNo').val(),
workNo: $('#workNo').val(),
- row: $('#row').val(),
- bay: $('#bay').val(),
- lev: $('#lev').val(),
- crnNo: $('#crnNo').val(),
pakMk: $('#pakMk').val(),
+ token: $('#token').val(),
}, function (res) {
layer.msg("淇敼鎴愬姛", {icon: 1,});
- layer.close(layerIdx);
+ layer.close(layerDetl);
})
- })
-
- $(document).on('click ','#cancel', function () {
- layer.close(layerIdx);
})
function setShuttleRadio() {
@@ -558,108 +315,102 @@
// 鍥涘悜绌挎杞︿俊鎭〃鑾峰彇 ---- 琛ㄤ竴
function getShuttleStateInfo() {
+ sendWs(JSON.stringify({
+ "url": "/shuttle/table/shuttle/state",
+ "data": {}
+ }))
+ }
+
+ // 鍥涘悜绌挎杞︿俊鎭〃璁剧疆 ---- 琛ㄤ竴
+ function setShuttleStateInfo(res) {
let tableEl = $('#shuttle-state-table');
- $.ajax({
- url: baseUrl+ "/shuttle/table/shuttle/state",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200){
- let table = res.data;
- if (table.length > shuttleStateTableBlankRows && table.length !== shuttleStateTableFullRows) {
- initShuttleStateTable(table.length-shuttleStateTableBlankRows);
- shuttleStateTableFullRows = table.length;
- }
- for (let i=1;i<=table.length;i++){
- // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
- let tr = tableEl.find("tr").eq(i);
- setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
- setVal(tr.children("td").eq(1), table[i-1].status$);
- setVal(tr.children("td").eq(2), table[i-1].busyStatus);
- setVal(tr.children("td").eq(3), table[i-1].currentCode);
- setVal(tr.children("td").eq(4), table[i-1].batteryPower);
- setVal(tr.children("td").eq(5), table[i-1].batteryTemp);
- setVal(tr.children("td").eq(6), table[i-1].errorCode);
- setVal(tr.children("td").eq(7), table[i-1].plcOutputLift$);//椤跺崌浣�
- setVal(tr.children("td").eq(8), table[i-1].plcOutputTransfer$);//鎹㈠悜浣�
- setVal(tr.children("td").eq(9), table[i-1].plcOutputBrake$);//鎶遍椄浣�
- setVal(tr.children("td").eq(10), table[i-1].plcOutputCharge$);//鍏呯數浣�
- setVal(tr.children("td").eq(11), table[i-1].statusErrorCode);
- setVal(tr.children("td").eq(12), table[i-1].plcInputStatus);
- setVal(tr.children("td").eq(13), table[i-1].currentOrBeforeCode);
- setVal(tr.children("td").eq(14), table[i-1].codeOffsetX);
- setVal(tr.children("td").eq(15), table[i-1].codeOffsetY);
- setVal(tr.children("td").eq(16), table[i-1].currentVoltage ? table[i-1].currentVoltage + "V" : "");
- setVal(tr.children("td").eq(17), table[i-1].currentAnalogValue);
- }
- } else if (res.code === 403){
- window.location.href = baseUrl+"/login";
- } else {
- console.log(res.msg);
- }
+ if (res.code === 200){
+ let table = res.data;
+ if (table.length > shuttleStateTableBlankRows && table.length !== shuttleStateTableFullRows) {
+ initShuttleStateTable(table.length-shuttleStateTableBlankRows);
+ shuttleStateTableFullRows = table.length;
}
- });
+ for (let i=1;i<=table.length;i++){
+ // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
+ let tr = tableEl.find("tr").eq(i);
+ setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
+ setVal(tr.children("td").eq(1), table[i-1].protocolStatus$);
+ setVal(tr.children("td").eq(2), table[i-1].free$);
+ setVal(tr.children("td").eq(3), table[i-1].workingMode$);
+ setVal(tr.children("td").eq(4), table[i-1].point$);
+ setVal(tr.children("td").eq(5), table[i-1].point$$);
+ setVal(tr.children("td").eq(6), table[i-1].powerPercent$);
+ setVal(tr.children("td").eq(7), table[i-1].speed);
+ setVal(tr.children("td").eq(8), table[i-1].loadState$);
+ setVal(tr.children("td").eq(9), table[i-1].liftPosition$);
+ setVal(tr.children("td").eq(10), table[i-1].runDir$);
+ setVal(tr.children("td").eq(11), table[i-1].runDir2$);
+ setVal(tr.children("td").eq(12), table[i-1].chargState$);
+ setVal(tr.children("td").eq(13), table[i-1].errState$);
+ setVal(tr.children("td").eq(14), table[i-1].errCode$);
+ setVal(tr.children("td").eq(15), table[i-1].suspendState$);
+ setVal(tr.children("td").eq(16), table[i-1].lowerPower);
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
}
// 鍥涘悜绌挎杞︽暟鎹〃鑾峰彇 ---- 琛ㄤ簩
- function getShuttleMsgInfo() {
+ function setShuttleMsgInfo(res) {
let tableEl = $('#shuttle-msg-table');
- $.ajax({
- url: baseUrl+ "/shuttle/table/shuttle/msg",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200){
- var table = res.data;
- if (table.length > shuttleMsgTableBlankRows && table.length !== shuttleMsgTableFullRows) {
- initShuttleMsgTable(table.length-shuttleMsgTableBlankRows);
- shuttleMsgTableFullRows = 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].shuttleNo);
- 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].sourceLocNo);
- setVal(tr.children("td").eq(4), table[i-1].distLocNo);
- setVal(tr.children("td").eq(5), table[i-1].currentLiftServoSpeed);
- setVal(tr.children("td").eq(6), table[i-1].currentMoveServoSpeed);
- setVal(tr.children("td").eq(7), table[i-1].currentLiftServoLoad);
- setVal(tr.children("td").eq(8), table[i-1].currentMoveServoLoad);
- 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";
- } else {
- console.log(res.msg);
+ if (res.code === 200){
+ var table = res.data;
+ if (table.length > shuttleMsgTableBlankRows && table.length !== shuttleMsgTableFullRows) {
+ initShuttleMsgTable(table.length-shuttleMsgTableBlankRows);
+ shuttleMsgTableFullRows = 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].shuttleNo);
+ setVal(tr.children("td").eq(1), table[i-1].taskNo);
+ setVal(tr.children("td").eq(2), table[i-1].sourceLocNo);
+ setVal(tr.children("td").eq(3), table[i-1].locNo);
+ setVal(tr.children("td").eq(4), table[i-1].maxCellVoltage$);
+ setVal(tr.children("td").eq(5), table[i-1].minCellVoltage$);
+ setVal(tr.children("td").eq(6), table[i-1].voltage$);
+ setVal(tr.children("td").eq(7), table[i-1].chargeCycleTimes);
+ setVal(tr.children("td").eq(8), table[i-1].surplusQuantity);
+ setVal(tr.children("td").eq(9), table[i-1].countQuantity);
+ setVal(tr.children("td").eq(10), table[i-1].statusSum ? table[i - 1].statusSum.mileage : '');
+ setVal(tr.children("td").eq(11), table[i-1].pakMk$);
+ setVal(tr.children("td").eq(12), table[i-1].currentLocNo);
+ setVal(tr.children("td").eq(13), table[i-1].token);
+ 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";
+ } else {
+ console.log(res.msg);
+ }
}
// 绌挎杞︽棩蹇楄緭鍑� -----------------------------------------------------------------------
function getShuttleOutput() {
- $.ajax({
- url: baseUrl + "/shuttle/output/shuttle",
- headers: {'token': localStorage.getItem('token')},
- method: 'POST',
- success: function (res) {
- if (res.code === 200) {
- shuttleOutput(res.data);
- } else if (res.code === 403) {
- window.location.href = baseUrl + "/login";
- } else {
- console.log(res.msg);
- }
- }
- })
+ sendWs(JSON.stringify({
+ "url": "/shuttle/output/shuttle",
+ "data": {}
+ }))
+ }
+
+ function setShuttleOutput(res) {
+ if (res.code === 200) {
+ shuttleOutput(res.data);
+ } else if (res.code === 403) {
+ window.location.href = baseUrl + "/login";
+ } else {
+ console.log(res.msg);
+ }
}
// 浠诲姟鎸囦护涓嬪彂
@@ -672,6 +423,32 @@
}, function (res) {
layer.msg(res.msg, {icon: 1});
});
+ }
+
+ // 璺戝簱
+ function moveLoc() {
+ $.ajax({
+ url: baseUrl + "/shuttle/moveLoc",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ data: {
+ shuttleNo: $('input[name="shuttleSelect"]:checked').val(),
+ xStart: $("#xStart").val(),
+ xTarget: $("#xTarget").val(),
+ yStart: $("#yStart").val(),
+ yTarget: $("#yTarget").val(),
+ moveType: $('input[name="moveType"]:checked').val()
+ },
+ success: function (res) {
+ if (res.code === 200) {
+ layer.msg(res.msg, {icon: 1});
+ } else if (res.code === 403) {
+ window.location.href = baseUrl + "/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ })
}
@@ -780,4 +557,67 @@
});
}
+ // 璇︽儏鎿嶄綔 -------------------------------------------------------------------------
+ var layerDetl;
+ $(document).on('dblclick ','#shuttle-msg-table tr', function () {
+ var shuttleNo = $(this).children("td").eq(0).html();
+ if (shuttleNo !== null && shuttleNo !== "") {
+ layerDetl = layer.open({
+ type: 1,
+ title: false,
+ shadeClose: true,
+ offset: 'rt',
+ anim: 5,
+ shade: [0],
+ area: ['340px', '255px'],
+ closeBtn: 0,
+ content: $("#shuttle-detl"),
+ success: function(layero, index){
+ $.ajax({
+ url: baseUrl+ "/shuttle/table/shuttle/state",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ var table = res.data;
+ for (var i=1;i<=table.length;i++){
+ if (shuttleNo == table[i-1].shuttleNo) {
+ $('#shuttleNo').val(shuttleNo);
+ $('#workNo').val(table[i-1].taskNo);
+ $('#pakMk').val(table[i-1].pakMk$);
+ $('#token').val(table[i-1].token);
+ }
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ },
+ end: function () {
+ $('#shuttleNo').val("");
+ $('#workNo').val("");
+ $('#pakMk').val("");
+ $('#token').val("");
+ }
+ })
+ }
+ });
+
+ $(document).on('click ','#cancel', function () {
+ $('#shuttleNo').val("");
+ $('#workNo').val("");
+ $('#pakMk').val("");
+ $('#token').val("");
+ layer.close(layerDetl);
+ })
+
+ function sendWs(message) {
+ if (ws.readyState == WebSocket.OPEN) {
+ ws.send(message)
+ }
+ }
+
</script>
--
Gitblit v1.9.1