You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
5.1 KiB

3 days ago
  1. <#import "../master.ftl" as master>
  2. <@master.layout>
  3. <div class="page-header">
  4. <h3>Defective/QC</h3>
  5. </div>
  6. <div class="row" id="f1">
  7. <div class="col-md-4">
  8. <input id="inptOrder" type="text" class="form-control" placeholder="SO No" />
  9. <p>
  10. <table id="tblOrderInfo" class="table">
  11. </table>
  12. </p>
  13. </div>
  14. <div class="col-md-3" id="btns" style="display: none;">
  15. <p>
  16. <button class="btn btn-default" id="createRoll1" onclick="countBadSnNums()" >Create defective roll</button>
  17. </p>
  18. </div>
  19. <script>
  20. let orderNo;//工单号
  21. var ORDER_NO;
  22. function scanOrderNo(){
  23. var inptValue = $("#inptOrder").val();
  24. var $tblOrderInfo = $("#tblOrderInfo");
  25. $tblOrderInfo.html("");
  26. $("#btns").hide();
  27. if (inptValue.length == 0){
  28. return false;
  29. }
  30. $.post("/scanning/getQcCount", {orderNo: inptValue}, function(data){
  31. if (data.success && data.order){
  32. ORDER_NO = data.order.orderNo;
  33. orderNo = data.order.orderNo;
  34. DATA = data;
  35. $tblOrderInfo.append("<tr><td>SO No:</td><td>"+data.order.orderNo+"</td></tr>");
  36. $tblOrderInfo.append("<tr><td>Part No:</td><td>"+data.order.partNo+"</td></tr>");
  37. $tblOrderInfo.append("<tr><td>Part Description:</td><td>"+data.order.partDesc+"</td></tr>");
  38. $tblOrderInfo.append("<tr><td>Status:</td><td>"+data.order.status+"</td></tr>");
  39. $tblOrderInfo.append("<tr><td>Defective serial number:</td><td>"+data.count+"</td></tr>");
  40. $tblOrderInfo.append("<tr><td>Defect Product Qty:</td><td>"+data.goodCount+"</td></tr>");
  41. if (data.sRolls){
  42. $tblOrderInfo.append("<tr><td>Defective roll:</td><td>"+showRolls(data.sRolls)+"</td></tr>");
  43. }
  44. $("#btns").show();
  45. checkWithWorkingOrder(ORDER_NO);
  46. }
  47. });
  48. }
  49. function showRolls(rolls){
  50. var list = rolls || [];
  51. var ret = [];
  52. for(var i=0;i<list.length;i++){
  53. ret.push("<a target='forprint' href='/print/finalroll/"+list[i].finalRollNo+"/'>"+list[i].finalRollNo+"</a>");
  54. }
  55. return ret.join("<br />");
  56. }
  57. $("#inptOrder").on("keydown", function(){
  58. if(event.keyCode==13) {
  59. scanOrderNo();
  60. return false;
  61. }
  62. return true;
  63. });
  64. //先判断有多少不良sn
  65. function countBadSnNums(){
  66. $.messager.confirm("Confirm","Create defective roll?", function(sr){
  67. if (sr){
  68. $.messager.confirm("Confirm", "Are you sure that all code readings for this order have been completed?", function(cr){
  69. if (cr) {
  70. $.post("/scanning/countBadSnNums", {"orderNo": orderNo}, function(result){
  71. if (result.success) {
  72. //判断是否数量超过500
  73. let total = result.total;
  74. if(total > 500){
  75. $.messager.confirm("Confirm", "If the number of defects exceeds 500, should we continue?", function(cr){
  76. //判断是否继续
  77. if(cr){
  78. createNg();
  79. }
  80. });
  81. }else{
  82. createNg();
  83. }
  84. } else {
  85. $.messager.alert("Error", result.msg, "error");
  86. }
  87. }).fail(function(data) {
  88. $.messager.alert("Error", "Data Error!", "error");
  89. });
  90. }
  91. });
  92. }
  93. });
  94. }
  95. //创建不良的sn卷
  96. function createNg() {
  97. $.post("/scanning/createQcRoll/do", {"orderNo": ORDER_NO}, function(ret){
  98. console.log(ret);
  99. if (ret.success) {
  100. $.messager.alert("info", "Create defective roll successfully", "info");
  101. $("#ifmforprint").attr('src', "/print/finalroll/" + ret.finalRoll.finalRollNo + "/");
  102. scanOrderNo();
  103. } else {
  104. $.messager.alert("Error", ret.errorMsg, "error");
  105. }
  106. }).fail(function(data) {
  107. $.messager.alert("Error", "Fail to create roll", "error");
  108. });
  109. }
  110. function checkWithWorkingOrder(orderNo) {
  111. var workingOrder = $("#hdnWorkingOrder").val();
  112. if (workingOrder != orderNo){
  113. var msg = '';
  114. if (workingOrder != "") {
  115. msg = 'The order of this roll does not match with the current order '+workingOrder+'.';
  116. }
  117. $("#tblOrderInfo").html("");
  118. $("#btns").hide();
  119. $.messager.alert("Error", msg, "error", function(){
  120. $("#inptOrder").val("").focus();
  121. });
  122. }
  123. }
  124. $(function () {
  125. $("#inptOrder").focus();
  126. })
  127. </script>
  128. <style>
  129. button {min-width: 100px;}
  130. </style>
  131. </@master.layout>