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
154 lines
5.1 KiB
<#import "../master.ftl" as master>
|
|
<@master.layout>
|
|
|
|
<div class="page-header">
|
|
<h3>Defective/QC</h3>
|
|
</div>
|
|
|
|
<div class="row" id="f1">
|
|
<div class="col-md-4">
|
|
<input id="inptOrder" type="text" class="form-control" placeholder="SO No" />
|
|
<p>
|
|
<table id="tblOrderInfo" class="table">
|
|
</table>
|
|
</p>
|
|
</div>
|
|
<div class="col-md-3" id="btns" style="display: none;">
|
|
<p>
|
|
<button class="btn btn-default" id="createRoll1" onclick="countBadSnNums()" >Create defective roll</button>
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<script>
|
|
let orderNo;//工单号
|
|
var ORDER_NO;
|
|
|
|
function scanOrderNo(){
|
|
var inptValue = $("#inptOrder").val();
|
|
var $tblOrderInfo = $("#tblOrderInfo");
|
|
|
|
$tblOrderInfo.html("");
|
|
$("#btns").hide();
|
|
|
|
if (inptValue.length == 0){
|
|
return false;
|
|
}
|
|
|
|
$.post("/scanning/getQcCount", {orderNo: inptValue}, function(data){
|
|
if (data.success && data.order){
|
|
ORDER_NO = data.order.orderNo;
|
|
orderNo = data.order.orderNo;
|
|
DATA = data;
|
|
$tblOrderInfo.append("<tr><td>SO No:</td><td>"+data.order.orderNo+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>Part No:</td><td>"+data.order.partNo+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>Part Description:</td><td>"+data.order.partDesc+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>Status:</td><td>"+data.order.status+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>Defective serial number:</td><td>"+data.count+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>Defect Product Qty:</td><td>"+data.goodCount+"</td></tr>");
|
|
|
|
if (data.sRolls){
|
|
$tblOrderInfo.append("<tr><td>Defective roll:</td><td>"+showRolls(data.sRolls)+"</td></tr>");
|
|
}
|
|
|
|
$("#btns").show();
|
|
checkWithWorkingOrder(ORDER_NO);
|
|
}
|
|
});
|
|
}
|
|
|
|
function showRolls(rolls){
|
|
var list = rolls || [];
|
|
var ret = [];
|
|
for(var i=0;i<list.length;i++){
|
|
ret.push("<a target='forprint' href='/print/finalroll/"+list[i].finalRollNo+"/'>"+list[i].finalRollNo+"</a>");
|
|
}
|
|
return ret.join("<br />");
|
|
}
|
|
|
|
$("#inptOrder").on("keydown", function(){
|
|
|
|
if(event.keyCode==13) {
|
|
scanOrderNo();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
//先判断有多少不良sn
|
|
function countBadSnNums(){
|
|
$.messager.confirm("Confirm","Create defective roll?", function(sr){
|
|
if (sr){
|
|
$.messager.confirm("Confirm", "Are you sure that all code readings for this order have been completed?", function(cr){
|
|
if (cr) {
|
|
$.post("/scanning/countBadSnNums", {"orderNo": orderNo}, function(result){
|
|
if (result.success) {
|
|
//判断是否数量超过500
|
|
let total = result.total;
|
|
if(total > 500){
|
|
$.messager.confirm("Confirm", "If the number of defects exceeds 500, should we continue?", function(cr){
|
|
//判断是否继续
|
|
if(cr){
|
|
createNg();
|
|
}
|
|
});
|
|
}else{
|
|
createNg();
|
|
}
|
|
} else {
|
|
$.messager.alert("Error", result.msg, "error");
|
|
}
|
|
}).fail(function(data) {
|
|
$.messager.alert("Error", "Data Error!", "error");
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
//创建不良的sn卷
|
|
function createNg() {
|
|
$.post("/scanning/createQcRoll/do", {"orderNo": ORDER_NO}, function(ret){
|
|
console.log(ret);
|
|
if (ret.success) {
|
|
$.messager.alert("info", "Create defective roll successfully", "info");
|
|
$("#ifmforprint").attr('src', "/print/finalroll/" + ret.finalRoll.finalRollNo + "/");
|
|
scanOrderNo();
|
|
} else {
|
|
$.messager.alert("Error", ret.errorMsg, "error");
|
|
}
|
|
}).fail(function(data) {
|
|
$.messager.alert("Error", "Fail to create roll", "error");
|
|
});
|
|
}
|
|
|
|
|
|
function checkWithWorkingOrder(orderNo) {
|
|
var workingOrder = $("#hdnWorkingOrder").val();
|
|
if (workingOrder != orderNo){
|
|
var msg = '';
|
|
if (workingOrder != "") {
|
|
msg = 'The order of this roll does not match with the current order '+workingOrder+'.';
|
|
}
|
|
|
|
$("#tblOrderInfo").html("");
|
|
$("#btns").hide();
|
|
$.messager.alert("Error", msg, "error", function(){
|
|
$("#inptOrder").val("").focus();
|
|
});
|
|
}
|
|
}
|
|
|
|
$(function () {
|
|
$("#inptOrder").focus();
|
|
})
|
|
|
|
</script>
|
|
|
|
<style>
|
|
button {min-width: 100px;}
|
|
</style>
|
|
</@master.layout>
|
|
|