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.
242 lines
8.6 KiB
242 lines
8.6 KiB
<#import "../master.ftl" as master>
|
|
<@master.layout>
|
|
|
|
<div class="page-header" style="margin-top: 70px; ">
|
|
<h3>Defective/QC</h3>
|
|
</div>
|
|
|
|
<div class="row" id="f1">
|
|
<div class="col-md-5">
|
|
<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="createNgModal()" >Create defective roll</button>
|
|
</p>
|
|
<#-- <p>-->
|
|
<#-- <button class="btn btn-default" id="createRoll2" onclick="createQcModal()" >Create QC roll</button>-->
|
|
<#-- </p>-->
|
|
</div>
|
|
|
|
<!-- 扫描序列号modal -->
|
|
<div id="bad_roll_dlg" class="easyui-dialog" style="width: 320px; display: none;" closed="true"
|
|
data-options="modal:true" buttons='#tb_bad_roll'>
|
|
<div style="margin-left: 10px; margin-top: 10px; margin-bottom: 10px;">
|
|
<label>Roll No:</label>
|
|
<input id="bad_roll_no" name="rollNo" style="margin-left: 20px; width: 180px;">
|
|
</div>
|
|
</div>
|
|
<div id="tb_bad_roll" style="display: none; text-align: center;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveBadRoll()" style="width:90px">Save</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#bad_roll_dlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
|
|
<!-- 扫描序列号modal -->
|
|
<div id="qc_roll_dlg" class="easyui-dialog" style="width: 320px; display: none;" closed="true"
|
|
data-options="modal:true" buttons='#tb_qc_roll'>
|
|
<div style="margin-left: 10px; margin-top: 10px; margin-bottom: 10px;">
|
|
<label>Roll No:</label>
|
|
<input id="qc_roll_no" name="rollNo" style="margin-left: 20px; width: 180px;">
|
|
</div>
|
|
</div>
|
|
<div id="tb_qc_roll" style="display: none; text-align: center;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveQcRoll()" style="width:90px">Save</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#qc_roll_dlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</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("/rollop/${func}/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>Setup & NG:</td><td>"+data.setupAndNc+"</td></tr>");
|
|
$tblOrderInfo.append("<tr><td>First off & Last Off:</td><td>"+data.faiAndEai+"</td></tr>");
|
|
if (data.goodCount && data.goodCount >= 0) {
|
|
$tblOrderInfo.append("<tr><td>Defect Product Qty:</td><td>"+data.goodCount+"</td></tr>");
|
|
}
|
|
|
|
if (data.sRolls){
|
|
$tblOrderInfo.append("<tr><td>Defective roll:</td><td>"+showBadRolls(data.sRolls)+"</td></tr>");
|
|
}
|
|
|
|
if (data.qRolls){
|
|
$tblOrderInfo.append("<tr><td>QC roll:</td><td>"+showRolls(data.qRolls)+"</td></tr>");
|
|
}
|
|
|
|
$("#btns").show();
|
|
checkWithWorkingOrder(ORDER_NO);
|
|
}
|
|
});
|
|
}
|
|
|
|
//展示不良卷的方法
|
|
function showBadRolls(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+"/'>Roll No: "+list[i].finalRollNo+
|
|
" Defective quantity: "+(list[i].qty - list[i].tuningQty)+" Setup quantity:"+list[i].tuningQty+"</a>");
|
|
}
|
|
return ret.join("<br />");
|
|
}
|
|
|
|
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+"/'>Roll No: "+list[i].finalRollNo+
|
|
" Quantity: "+list[i].qty+"</a>");
|
|
}
|
|
return ret.join("<br />");
|
|
}
|
|
|
|
$("#inptOrder").on("keydown", function(){
|
|
|
|
if(event.keyCode==13) {
|
|
scanOrderNo();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
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();
|
|
});
|
|
|
|
// alert(msg);
|
|
// window.location.href=window.location.href.replace(/\?.*$/,"");
|
|
}
|
|
}
|
|
|
|
$(function () {
|
|
$("#inptOrder").focus();
|
|
})
|
|
|
|
//打开不良卷录入的modal
|
|
function createNgModal(){
|
|
//刷新箱号的页面数据
|
|
$('#bad_roll_dlg').dialog('open').dialog('center').dialog('setTitle', 'Create defective roll!');
|
|
}
|
|
|
|
//打开Qc的modal
|
|
function createQcModal(){
|
|
//刷新箱号的页面数据
|
|
$('#qc_roll_dlg').dialog('open').dialog('center').dialog('setTitle', 'Create QC roll!');
|
|
}
|
|
|
|
//页面打开 获取焦点
|
|
$("#bad_roll_dlg").dialog({
|
|
onClose: function () {
|
|
//刷新箱的数据
|
|
},
|
|
onOpen: function(){
|
|
//清空数据获取焦点
|
|
$('#bad_roll_no').val('');
|
|
$('#bad_roll_no').focus();
|
|
}
|
|
});
|
|
|
|
//页面打开 获取焦点
|
|
$("#qc_roll_dlg").dialog({
|
|
onClose: function () {
|
|
//刷新箱的数据
|
|
},
|
|
onOpen: function(){
|
|
//清空数据获取焦点
|
|
$('#qc_roll_no').val('');
|
|
$('#qc_roll_no').focus();
|
|
}
|
|
});
|
|
|
|
//创建不良品卷
|
|
function saveBadRoll(){
|
|
let rollNo = $.trim($('#bad_roll_no').val());
|
|
let func = '${func}';
|
|
//判断是否存在
|
|
if(null == rollNo || '' == rollNo){
|
|
$.messager.alert("Error", 'Please type roll number first!', "error");
|
|
return false;
|
|
}
|
|
//创建卷
|
|
let badRoll = {'orderNo': orderNo, 'rollNo': rollNo, 'username': username, 'func': func};
|
|
$.post("/cut/createBadRoll", badRoll, function(result){
|
|
if (result.success) {
|
|
$.messager.alert("info", "Create defective roll successfully!", "info");
|
|
let printData = JSON.parse(result.printData);//解析
|
|
$("#ifmforprint").attr('src', "/print/finalroll/" + printData.finalRollNo + "/");
|
|
scanOrderNo();
|
|
$('#bad_roll_dlg').dialog('close');
|
|
} else {
|
|
$.messager.alert("Error", result.msg, "error");
|
|
}
|
|
}).fail(function(data) {
|
|
$.messager.alert("Error", "Fail to create roll:"+data.errorMsg, "error");
|
|
});
|
|
}
|
|
|
|
//创建QC品卷
|
|
function saveQcRoll(){
|
|
let rollNo = $.trim($('#qc_roll_no').val());
|
|
let func = '${func}';
|
|
//判断是否存在
|
|
if(null == rollNo || '' == rollNo){
|
|
$.messager.alert("Error", 'Please type roll number first!', "error");
|
|
return false;
|
|
}
|
|
//创建卷
|
|
let qcRoll = {'orderNo': orderNo, 'rollNo': rollNo, 'username': username, 'func': func};
|
|
$.post("/cut/createQcRoll", qcRoll, function(result){
|
|
if (result.success) {
|
|
$.messager.alert("info", "Create QC roll successfully", "info");
|
|
let printData = JSON.parse(result.printData);//解析
|
|
$("#ifmforprint").attr('src', "/print/finalroll/" + printData.finalRollNo + "/");
|
|
scanOrderNo();
|
|
$('#qc_roll_dlg').dialog('close');
|
|
} else {
|
|
$.messager.alert("Error", ret.errorMsg, "error");
|
|
}
|
|
}).fail(function(data) {
|
|
$.messager.alert("Error", "Fail to create roll:"+data.errorMsg, "error");
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
button {min-width: 100px;}
|
|
</style>
|
|
</@master.layout>
|
|
|