$(function() {
var focusId;
$("input").focus(function() {});
setTimeout(function() {
$('#orderNo').focus();
}, 1000);
$('#number').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
$("#number").val(trimStr($("#number").val()));
if($('#number').val() != '') {
//播放扫描声音
playSound('../raw/scan.wav');
submitNumber();
}
});
$('#barcode').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
$("#barcode").val(trimStr($("#barcode").val()));
if($("#barcode").val() != '') {
//播放扫描声音
playSound('../raw/scan.wav');
submitBarcode();
}
});
$('#productionDate').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
if($("#productionDate").val() != '') {
//计算效期/批次
var productionDate = $("#productionDate").val()
if(isNaN(productionDate)) {
//mui.alert("生产日期只能输入数字;现输入值为:" + productionDate, '警告', function() {setFocus('productionDate');});
$("#productionDate").val("");//不合法直接清空
return;
}
//验证是否时间是否合法 时间范围必须小于当前时间 不能小于当前时间10年/ 月份范围必须为:1到12 /该月日期必须合法
var checkResult = checkDate8(productionDate);
if(checkResult != "1") {
mui.alert(checkResult, '警告', function() {setFocus('productionDate');});
return;
}
//不能大于当前时间
var isGt = compareCurrentForDate8(productionDate, true)
if(isGt) {
mui.alert("生产日期不能大于当前时间", '警告', function() {setFocus('productionDate');});
return
}
var inOrderItemEnt = inOrderItemMap[inOrderItemId];
//生成效期
var expDate = getExpDate(productionDate, inOrderItemEnt.shelfLifeDays);
if(expDate != null) {
$("#expiryDate").val(expDate)
//生成批次
var batchNo = genBatchNo(inOrderItemEnt.batchRuleCode, expDate);
if(batchNo != null) {
$("#batchNo").val(batchNo);
setFocus("productQty");
} else {
setFocus("batchNo")
}
return
}
}
setFocus("expiryDate")
});
$('#expiryDate').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
var inOrderItemEnt = inOrderItemMap[inOrderItemId];
if($("#expiryDate").val() != '') {
//校验效期 并且 生成批次
var expiryDate = $("#expiryDate").val();
if(isNaN(expiryDate)) {
//mui.alert("有效日期只能输入数字;现输入值为:" + expiryDate, '警告', function() {setFocus('expiryDate');});
$("#expiryDate").val("");//不合法直接清空
return
}
//验证是否时间是否合法 时间范围必须小于当前时间 不能小于当前时间10年/ 月份范围必须为:1到12 /该月日期必须合法
var checkResult = checkDate8(expiryDate);
if(checkResult != "1") {
mui.alert(checkResult, '警告', function() {setFocus('expiryDate');});
return
}
}
//生成批次
var batchNo = genBatchNo(inOrderItemEnt.batchRuleCode, expiryDate);
console.log('batchNo:' + batchNo)
if(batchNo != null) {
$("#batchNo").val(batchNo);
setFocus("productQty");
} else {
setFocus("batchNo");
}
});
//batchNo
$('#batchNo').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
setFocus("productQty");
});
$('#productQty').keyup(function(event) {
if(event.keyCode != "13") {
return false;
}
if($("#productQty").val() != '') {
checkAndSubmit();
}
});
});
var inOrderMap = {};
var inOrderId = -1;
//提交入库单号
function submitNumber() {
var number = $('#number').val();
var numberType = $('#numberType').val();
var formData = {
number: number,
numberType: numberType
};
var appRequest = $appRequest; //复制请求封装对象
appRequest.opType = OP_TYPE_MENU.RECEIPT_1;
appRequest.msg = JSON.stringify(formData); //msg是消息内容主体;//msg是消息内容主体
console.log("$appRequestUrl:" + $appRequestUrl)
$.ajax({
type: 'POST',
url: $appRequestUrl,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(appRequest),
success: function(appResponse) {
console.log(JSON.stringify(appResponse))
if(!appResponse.success) {
playSound('../raw/error.wav');
mui.alert(appResponse.msg, '警告', function() {
setFocus('orderNo');
});
return;
}
//mui.toast(appResponse.msg);
var orderList = appResponse.extend;
if(orderList.length == 1) {
//如果有一条 直接查询预报-收货数据
fillOrderDetail(orderList[0]);
return;
}
//如果有多条 弹框选择
if(orderList.length > 1) { //出现多条记录时选择
var listLi = [];
for(var i = 0; i < orderList.length; i++) {
var orderSingle = orderList[i];
inOrderMap[orderSingle.id] = orderSingle;
listLi.push('
货主:' + orderSingle.customerCode + '; 仓库:' + orderSingle.warehouseCode + '; 创建时间:' + fmtDateTime(orderSingle.createdTime) + ' ');
}
var listLiStr = listLi.join('')
$("#inOrderListDetail").html(listLiStr);
mui("#inOrderListShow").popover('show'); //show hide toggle
return
}
},
error: function() {
console.log('网络断开或服务器发生异常')
playSound('../raw/error.wav');
mui.toast('网络断开或服务器发生异常');
}
});
}
var inOrderItemMap = {};
var inOrderItemId = -1;
//提交商品条码
function submitBarcode() {
var orderNo = $("#number").val();
var barcode = $('#barcode').val();
var formData = {
inOrderId: inOrderId,
barcode: barcode,
orderNo: orderNo
};
var appRequest = $appRequest; //复制请求封装对象
appRequest.opType = OP_TYPE_MENU.RECEIPT_2;
appRequest.msg = JSON.stringify(formData); //msg是消息内容主体
$.ajax({
type: 'POST',
url: $appRequestUrl,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(appRequest),
success: function(appResponse) {
console.log("appResponse:" + JSON.stringify(appResponse))
if(!appResponse.success) {
playSound('../raw/error.wav');
mui.alert(appResponse.msg, '警告', function() {setFocus('barcode');});
return;
}
mui.toast(appResponse.msg);
//返回预报收货记录 可能是多条
var list = appResponse.extend;
if(list.length > 1) { //出现多条记录时选择
var listLi = [];
for(var i = 0; i < list.length; i++) {
var singleItem = list[i];
inOrderItemMap[singleItem.id] = singleItem;
if(singleItem.receiptTotal == null) {
singleItem.receiptTotal = 0;
}
listLi.push('批次:' + singleItem.batchNo + '; 商品品质:' + singleItem.qualityName + '; 预报数量:' + singleItem.quantity + '; 已收数量:' + singleItem.receiptTotal + ' ');
}
var listLiStr = listLi.join('')
$("#barcodeListDetail").html(listLiStr);
mui("#barcodeListShow").popover('show'); //show hide toggle
return
}
//只有1条时
inOrderItemMap[list[0].id] = list[0];
fillOrderItem(list[0]);
},
error: function() {
playSound('../raw/error.wav');
mui.toast('网络断开或服务器发生异常');
}
});
}
//下一个条码
function next() {
$("#barcode").val("");
$("#inReceiptId").val("");
$("#batchNo").val(""); //批次号码
$("#receiptQuantity").val(""); //收货数量
$("#toReceivingQty").val("");//待收数量
$("#locationCode").val("");
$("#barcode").focus();
}
/**
* 填充明细
*/
function fillOrderDetail(orderSingle) {
$("#warehouseCode").val(orderSingle.warehouseCode);
$("#customerCode").val(orderSingle.customerCode);
//inOrderId
inOrderId = orderSingle.id
setFocus("barcode")
}
/**
* 选择其中一单
* @param {Object} id
*/
function selectSingleOrder(inOrderId) {
var orderSingle = inOrderMap[inOrderId]
fillOrderDetail(orderSingle)
mui('#inOrderListShow').popover('toggle');
}
/**
* 选择其中一个条码
* @param {Object} inOrderItemId
*/
function selectBarcode(inOrderItemId) {
var orderItemSingle = inOrderItemMap[inOrderItemId]
fillOrderItem(orderItemSingle)
mui('#barcodeListShow').popover('toggle');
setFocus('productionDate')
}
function fillOrderItem(orderItemSingle) {
console.log("orderItemSingle:" + JSON.stringify(orderItemSingle))
inOrderItemId = orderItemSingle.id;
//在条码下显示该inorderitem的部分预报信息
$("#preSku").text(orderItemSingle.sku);
$("#preBatchNo").text(orderItemSingle.batchNo);
$("#preQty").text(orderItemSingle.quantity);
$("#preQuality").text(orderItemSingle.qualityName);
var expiryDateStr = fmtDate8(orderItemSingle.expiryDate);
$("#expiryDate").val(expiryDateStr)
var batchNo = orderItemSingle.batchNo;
$("#batchNo").val(batchNo);
var receiptTotal = orderItemSingle.receiptTotal
if(isNaN(receiptTotal) || receiptTotal == null) {
receiptTotal = 0;
orderItemSingle.receiptTotal = receiptTotal;
}
//待收数量
var toReceivingQty = orderItemSingle.quantity - receiptTotal;
$("#toReceivingQty").val(toReceivingQty)
}
/**
* 提交收货
*/
function checkAndSubmit() {
var inOrderItemEntity = inOrderItemMap[inOrderItemId];
var quantity = $('#productQty').val(); //本次收货数量
var qtyTotal = inOrderItemEntity.quantity; // 预报总数
qtyTotal = qtyTotal != null ? qtyTotal : 0;
var receiptTotal = inOrderItemEntity.receiptTotal; // 已收货总数 - 不完全准
receiptTotal = receiptTotal != null ? receiptTotal : 0;
var waitReceipt = qtyTotal - receiptTotal; //待收货数
if(quantity > waitReceipt) {
var btnArray = ['否', '是'];
mui.confirm("收货数量大于预报数量,您确定要执行操作吗?建议检查是否重复收货", '警告', btnArray, function(e) {
if(e.index == 1) {
submitReceipt();
}
})
} else {
submitReceipt();
}
}
var isSubmintIng = false; //是否正在提交. 防止按回车太快
//提交收货明细
function submitReceipt() {
if(isSubmintIng) {
return;
}
isSubmintIng = true;
var inOrderItemEntity = inOrderItemMap[inOrderItemId];
var inOrderEntity = inOrderMap[inOrderId]
var orderId = inOrderId;
var barcode = inOrderItemEntity.barcode; //$("#barcode").val();
var itemId = inOrderItemId; //$("#itemId").val();
var sku = inOrderItemEntity.sku; //$("#itemSku").val();
var batchRuleCode = inOrderItemEntity.batchRuleCode; //$("#batchRuleCode").val();
var batchNo = $("#batchNo").val();
var qualityCode = $('#qualityCode').val();
var quantity = $('#productQty').val(); //本次收货数量
//如果保质期跟有效期不为空 dateType取效期
// var dateType = $("#dateType").val();
var productionDate = $("#productionDate").val();
var expiryDate = $("#expiryDate").val();
var shelfLifeDays = $("#shelfLifeDays").val();
var msgBody = {
orderId: orderId,
barcode: barcode,
itemId: itemId,
sku: sku,
batchRuleCode: batchRuleCode,
batchNo: batchNo,
qualityCode: qualityCode,
quantity: quantity,
productionDateStr: productionDate,
expiryDateStr: expiryDate,
shelfLifeDays: shelfLifeDays
};
//序列化成字符串
var msgBodyStr = JSON.stringify(msgBody)
var appRequest = $appRequest; //复制请求封装对象
appRequest.opType = OP_TYPE_MENU.RECEIPT_3;
appRequest.msg = msgBodyStr; //msg是消息内容主体
var nwaiting = plus.nativeUI.showWaiting('正在提交中...');
$.ajax({
type: 'POST',
url: $appRequestUrl, //标准收货方法
contentType: "application/json; charset=utf-8",
data: JSON.stringify(appRequest),
success: function(result) {
isSubmintIng = false;
nwaiting.close();
if(!result.success) {
mui.alert(result.msg, '警告', function() {});
return;
}
inOrderItemMap = {};
inOrderItemId = -1;
var clearClass = $(".allowClear");
$(".allowClear").each(function() {
$(this).val("")
})
//继续操作. 光标移至条码
setFocus('barcode');
mui.toast(result.msg);
},
error: function() {
isSubmintIng = false;
nwaiting.close();
mui.alert('网络断开或服务器发生异常', '注意', function() {});
}
});
}
var isShowDetails = false;
function showDetails() {
alert(isShowDetails)
if(!isShowDetails) {
$("#showDetails").show();
isShowDetails = true;
$("#showIco").attr("class", "fa fa-angle-double-up");
//显示明细
} else {
$("#showDetails").hide();
isShowDetails = false;
$("#showIco").attr("class", "fa fa-angle-double-down");
}
}
//下一个订单
function cleanAll() {
$("input").each(function() {
$(this).val('')
})
// /number
setFocus('number');
}