1
0

bindPacket.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. $(function(){
  2. var focusId;
  3. $("input").focus(function(){
  4. //记住焦点位置
  5. focusId = this.id;
  6. //this.scrollIntoView(true);//回到顶部
  7. //window.setTimeout("myScrollIntoView()",100);
  8. });
  9. setTimeout(function() {
  10. genPacketNo();
  11. }, 1000);
  12. //当失去焦点按回车时,焦点回到之前焦点位置
  13. $(window).keydown(function(event){
  14. if((event.keyCode==13)) {
  15. $(".messager-body").window('close');
  16. if(document.activeElement.id == null || document.activeElement.id ==''){
  17. //回到上次焦点地方
  18. //$("#"+focusId).focus();
  19. }
  20. }
  21. });
  22. //提交托盘号码
  23. $('#packetNo').keyup(function (event) {
  24. if (event.keyCode != "13") {return false;}
  25. $("#packetNo").val(trimStr($("#packetNo").val()));
  26. //播放扫描声音
  27. playSound('../raw/scan.wav');
  28. submitPacketNo();
  29. });
  30. //订单号
  31. $('#orderNo').keyup(function (event) {
  32. if (event.keyCode != "13") {return false;}
  33. $("#orderNo").val(trimStr($("#orderNo").val()));
  34. //播放扫描声音
  35. playSound('../raw/scan.wav');
  36. submitOrderNo();
  37. });
  38. //提交箱号
  39. $('#boxNo').keyup(function (event) {
  40. if (event.keyCode != "13") {return false;}
  41. $("#boxNo").val(trimStr($("#boxNo").val()));
  42. //播放扫描声音
  43. playSound('../raw/scan.wav');
  44. submitBoxNo();
  45. });
  46. });
  47. var isSubmitIng = false;//是否正在提交
  48. function submitPacketNo(){
  49. var packetNo = $('#packetNo').val();
  50. if(packetNo == null || packetNo == ''){
  51. return;
  52. }
  53. $("#orderNo").focus();
  54. }
  55. var totalBoxQty = 0;//每个订单的箱子个数
  56. function submitOrderNo(){
  57. if(isSubmitIng){return;}
  58. isSubmitIng = true;
  59. var orderNo = $('#orderNo').val();
  60. if(orderNo == ''){return;}
  61. var packetNo = $('#packetNo').val();
  62. var orderNo = $('#orderNo').val();
  63. if(packetNo=='' || packetNo==null){
  64. mui.toast('托盘号不能为空');
  65. isSubmitIng = false;
  66. return;
  67. }
  68. if(orderNo=='' || orderNo==null){
  69. mui.toast('订单号不能为空');
  70. isSubmitIng = false;
  71. return;
  72. }
  73. var formData = {packetNo:packetNo,orderNo:orderNo};
  74. var appRequest = $appRequest;//复制请求封装对象
  75. appRequest.opType = OP_TYPE_MENU.BIND_PACKET_SUBMIT_ORDER_NO;
  76. appRequest.msg = JSON.stringify(formData);//msg是消息内容主体
  77. $.ajax({
  78. type: 'POST',
  79. url: $appRequestUrl,
  80. contentType: "application/json; charset=utf-8",
  81. data: JSON.stringify(appRequest),
  82. success: function (appResponse) {
  83. isSubmitIng = false;
  84. if(!appResponse.success){
  85. playSound('../raw/error.wav');
  86. mui.alert(appResponse.msg, '警告', function() { setFocus('orderNo'); });
  87. return;
  88. }
  89. //List<OutBoxed> list =
  90. var boxlist = appResponse.extend;
  91. nextBox();
  92. var boxQty = 0;
  93. var boxedQty = 0;
  94. for(var i = 0; i< boxlist.length; i++){
  95. var box = boxlist[i];
  96. handleNullFiled(box);
  97. if(box.packetNo == null || box.packetNo == ''){
  98. boxQty ++;
  99. } else {
  100. boxedQty ++;
  101. }
  102. }
  103. mui.toast('该订单有'+boxQty+'个箱号待绑定托盘,'+boxedQty+'个箱号已绑定托盘');
  104. totalBoxQty = boxQty;
  105. if(boxlist.length == 1){
  106. var box = boxlist[0];
  107. $("#boxNo").val(box.boxNo);
  108. submitBoxNo();
  109. }
  110. },
  111. error: function () {
  112. isSubmitIng = false;
  113. mui.toast('网络断开或服务器发生异常');
  114. }
  115. });
  116. }
  117. //提交装箱
  118. function submitBoxNo(){
  119. if(isSubmitIng){return;}
  120. isSubmitIng = true;
  121. var packetNo = $('#packetNo').val();
  122. var orderNo = $('#orderNo').val();
  123. var boxNo = $('#boxNo').val();
  124. var addOrSub =$('input:radio[name="addOrSub"]:checked').val();//1表示加,2表示减
  125. if(packetNo=='' || packetNo==null){
  126. mui.toast('托盘号不能为空');
  127. isSubmitIng = false;
  128. return;
  129. }
  130. if(orderNo=='' || orderNo==null){
  131. mui.toast('订单号不能为空');
  132. isSubmitIng = false;
  133. return;
  134. }
  135. if(boxNo=='' || boxNo==null){
  136. mui.toast('箱号不能为空');
  137. isSubmitIng = false;
  138. return;
  139. }
  140. //绑定
  141. if(addOrSub == 1){
  142. binding();
  143. return;
  144. } else if(addOrSub == 2){
  145. unBinding();
  146. return;
  147. } else {
  148. isSubmitIng = false;
  149. }
  150. }
  151. function binding(){
  152. var packetNo = $('#packetNo').val();
  153. var orderNo = $('#orderNo').val();
  154. var boxNo = $('#boxNo').val();
  155. var formData = {packetNo:packetNo,orderNo:orderNo,boxNo:boxNo};
  156. var appRequest = $appRequest;//复制请求封装对象
  157. appRequest.opType = OP_TYPE_MENU.BIND_PACKET;
  158. appRequest.msg = JSON.stringify(formData);//msg是消息内容主体
  159. $.ajax({
  160. type: 'POST',
  161. url: $appRequestUrl,
  162. contentType: "application/json; charset=utf-8",
  163. data: JSON.stringify(appRequest),
  164. success: function (appResponse) {
  165. isSubmitIng = false;
  166. if(!appResponse.success){
  167. playSound('../raw/error.wav');
  168. mui.alert(appResponse.msg, '警告', function() { setFocus('boxNo'); });
  169. return;
  170. }
  171. //播放成功声音
  172. playSound('../raw/ok.wav');
  173. totalBoxQty = totalBoxQty - 1;
  174. if(totalBoxQty <= 0){
  175. //完成所有箱子则下一个订单
  176. nextOrder();
  177. return;
  178. }
  179. nextBox();
  180. },
  181. error: function () {
  182. isSubmitIng = false;
  183. mui.toast('网络断开或服务器发生异常');
  184. }
  185. });
  186. }
  187. function unBinding(){
  188. var packetNo = $('#packetNo').val();
  189. var orderNo = $('#orderNo').val();
  190. var boxNo = $('#boxNo').val();
  191. var formData = {packetNo:packetNo,orderNo:orderNo,boxNo:boxNo};
  192. var appRequest = $appRequest;//复制请求封装对象
  193. appRequest.opType = OP_TYPE_MENU.UN_BIND_PACKET;
  194. appRequest.msg = JSON.stringify(formData);//msg是消息内容主体
  195. $.ajax({
  196. type: 'POST',
  197. url: $appRequestUrl,
  198. contentType: "application/json; charset=utf-8",
  199. data: JSON.stringify(appRequest),
  200. success: function (appResponse) {
  201. isSubmitIng = false;
  202. if(!appResponse.success){
  203. playSound('../raw/error.wav');
  204. mui.alert(appResponse.msg, '警告', function() { setFocus('boxNo'); });
  205. return;
  206. }
  207. //播放成功声音
  208. playSound('../raw/ok.wav');
  209. totalBoxQty = totalBoxQty + 1;
  210. nextBox();
  211. },
  212. error: function () {
  213. isSubmitIng = false;
  214. mui.toast('网络断开或服务器发生异常');
  215. }
  216. });
  217. }
  218. function cleanAll(){
  219. isSubmitIng = false;
  220. $("#packetNo").val("");
  221. $("#orderNo").val("");
  222. $("#boxNo").val("");
  223. $('#packetNo').focus();
  224. }
  225. //下一个箱子
  226. function nextBox(){
  227. $("#boxNo").val('');
  228. $("#boxNo").focus();
  229. }
  230. function nextOrder(){
  231. $("#boxNo").val('');
  232. $("#orderNo").val('');
  233. $("#orderNo").focus();
  234. }
  235. function finishPacket(){
  236. cleanAll();
  237. genPacketNo();
  238. }
  239. function genPacketNo(){
  240. var appRequest = $appRequest;//复制请求封装对象
  241. appRequest.opType = OP_TYPE_MENU.GEN_PACKET_NO;
  242. appRequest.msg = '';//msg是消息内容主体
  243. $.ajax({
  244. type: 'POST',
  245. url: $appRequestUrl,
  246. contentType: "application/json; charset=utf-8",
  247. data: JSON.stringify(appRequest),
  248. success: function (appResponse) {
  249. if(!appResponse.success){
  250. mui.alert(appResponse.msg, '警告', function() { setFocus('packetNo'); });
  251. return;
  252. }
  253. var packetNo = appResponse.msg;
  254. $("#packetNo").val(packetNo);
  255. $('#packetNo').focus();
  256. },
  257. error: function () {
  258. mui.toast('网络断开或服务器发生异常');
  259. }
  260. });
  261. }