Files
old_fushimai_wms_1/tomcat/webapps/sm/script/zk.js
2025-09-12 15:53:10 +08:00

221 lines
4.9 KiB
JavaScript

function check(onstart)
{
var rkbjxx = document.forms[0];
if(rkbjxx.barcode)
{
var barcode = rkbjxx.barcode.value;
var jhs = rkbjxx.jhs.value;
if (onstart || (barcode.length == 0 && jhs.length == 0))
{
focusInput(rkbjxx.barcode);
if (onstart) rkbjxx.jhs.value = "";
return onstart;
}
if (barcode.length > 0 && isInvalidCode(barcode))
{
focusInput(rkbjxx.barcode);
return false;
}
//处理扫入到的条码。
var boxID = rkbjxx.BoxID.value;
if(isSalverCode(barcode))
{//扫入了托盘条码,结束扫描
zpwcqr(rkbjxx.zlbh.value, jhs, true, boxID, barcode);
}
else if (isBoxCode(barcode))
{
if (jhs.length > 2)
{
if (boxID.length == 0)
{
var err = confirm("之前扫入多块表计的前没有扫入箱号,已扫入表计是否放入刚扫描的箱子中?");
if (err)
{
boxID = barcode;
rkbjxx.BoxID.value = boxID;
}
}
zpwcqr(rkbjxx.zlbh.value, jhs, false, boxID);
return false;
}
else
{
rkbjxx.BoxID.value = barcode;
zpwcqr(rkbjxx.zlbh.value, "", false, barcode);
}
}
else if (barcode.length > 0 && jhs.indexOf("|" + barcode + "|") >= 0)
{
alert("重复扫入条码:" + barcode);
}
else
{
if (barcode.length > 0)
{
rkbjxx.jh.value = barcode;
rkbjxx.jhs.value = (jhs.length > 1?jhs:"|") + barcode + "|";
var countInfo = document.getElementById("count");
var oldCount = countInfo.getAttribute("total");
var newCount = parseInt(oldCount) + 1;
countInfo.setAttribute("total", newCount)
countInfo.innerHTML = newCount + removeLastButtonElement;
countInfo = document.getElementById("countInBox");
oldCount = countInfo.getAttribute("total");
newCount = parseInt(oldCount) + 1;
countInfo.setAttribute("total", newCount)
countInfo.innerHTML = newCount;
}
if (rkbjxx.jhs.value.length > 0)
{
zpwcqr(rkbjxx.zlbh.value, rkbjxx.jhs.value, false, rkbjxx.BoxID.value);
}
}
rkbjxx.barcode.value = "";
focusInput(rkbjxx.barcode);
return false;
}
var x = rkbjxx.kwbhAndTpbh;
if(x)
{
focusInput(x);
if (onstart) return true;
if (getFieldValue(x).length == 0)
{
return false;
}
return true;
}
x = rkbjxx.zlbh;
if(x)
{
focusInput(x);
if (onstart) return true;
if (getFieldValue(x).length == 0)
{
return false;
}
return true;
}
return false;
}
//取托盘操作
function qctp(ckkw, tpbh, statusField)
{
var rkbjxx = document.forms[0];
var zlbh = rkbjxx.zlbh.value;
var remark = "取" + ("zctpQczt" == statusField?"转出库位":"转入库位") + "上的托盘"
var argument = new Array("tpbh", tpbh, "ckkw", ckkw
, "zlbh", zlbh, "field", statusField, "table", "zkzl"
, "remark", remark);
postRequest("qtp.jsp", argument, successQctp);
}
//取托盘操作 回调函数
function successQctp(result)
{
finishProcess();
//alert("成功下发取托盘作业指令");
focusInput(rkbjxx.barcode);
var field = result.getAttribute("field");
var button;
if (field == "zctpQczt") button = document.getElementById("cmdQzctp");
else button = document.getElementById("cmdQzrtp");
if (button && button.style)
{
button.style.display = "none";
}
}
/**
* 装盘完成确认操作
* @param zlbh 指令编号
* @param jhs |表计条码1|表计条码2|....|表计条码n|
* @param xh 转入箱号
* @param tpbh 转入托盘号
*/
function zpwcqr(zlbh, jhs, end, xh, tpbh)
{
var rkbjxx = document.forms[0];
var qxsm = rkbjxx.qxsm.checked?"1":"0";
if (!tpbh) tpbh = "";
if (!xh) xh = "";
var argument = new Array("zlbh", zlbh, "jhs", jhs, "end", end?"1":"0", "xh", xh, "qxsm", qxsm, "tpbh", tpbh);
postRequest("zkqr.jsp", argument, successZpwcqr);
}
/**
* 表计扫描结束
*/
function end()
{
try
{
var rkbjxx = document.forms[0];
var jhs = rkbjxx.jhs.value;
zpwcqr(rkbjxx.zlbh.value, jhs, true, rkbjxx.BoxID.value);
}
catch(e)
{
alert("程序错误:" + e);
}
}
//装盘操作确认完成 回调函数
function successZpwcqr(result)
{
finishProcess();
var rkbjxx = document.forms[0];
rkbjxx.jhs.value = "";
var countInfo = document.getElementById("count");
var newCount = result.getAttribute("ysmsl");
countInfo.setAttribute("total", newCount);
countInfo.innerHTML = newCount;
countInfo = document.getElementById("countInBox");
newCount = "0";
countInfo.setAttribute("total", newCount);
countInfo.innerHTML = newCount;
var wsmsl = result.getAttribute("wsmsl");
if (parseInt(wsmsl) > 0)
{
var barcode = rkbjxx.barcode.value;
if (isBoxCode(barcode))
{
if (barcode == rkbjxx.BoxID.value)
{//最后扫入的箱号等于已经扫入的箱号,清空
if ("true" == result.getAttribute("boxOnStore"))
{//仅当扫描的箱号是转入库位上的箱号时,才行
rkbjxx.BoxID.value = "";
}
}
else
{
rkbjxx.BoxID.value = barcode;
}
}
rkbjxx.jh.value = "";
rkbjxx.barcode.value = "";
focusInput(rkbjxx.barcode);
//history.go(-1);
//window.location.href = ("zksm.jsp?zlbh=" + rkbjxx.zlbh.value);
}
else
{
rkbjxx.zlbh.value = "";
if (parseInt(wsmsl) == 0)
{
history.go(-2);
window.location.href = "zk.jsp";
}
else
{
history.go(-3);
}
}
}