|

楼主 |
发表于 2019-4-26 15:26:01
|
显示全部楼层
以下为自己的代码,想实现的功能就是 通过添加物品数量,自动计算物品的金额,如果领用的数量大于库存的数量要弹出窗口提示,、
但是现在,如果领用的数量大于了库存数量,那么就会卡死,你说的死循环,我下面的代码该如何修改??
Model.prototype.detailDataValueChanged = function(event){
debugger;
var detail = this.comp("detailData");
var sl = this.comp("detailData").getValue("SL");// 领用数量
var sl2 = this.comp("bizData1").getValue("SL");// 库存数量
// 之前内容
if(sl!=undefined && sl!=""){
if(parseInt(sl) > parseInt(sl2)){// 领用数量大于库存数量,进行弹框提示
this.comp("input14").clear();
this.comp("messageDialog1").show({
"message":"该物品库存不足,请重新输入"
});
}else{// 如果 ,领用数量小于等于库存数量,那么根据物品的名称,去查询物品的单价
var mc=this.comp("detailData").val("MC");
if(mc != undefined && mc != ""){
var param = new biz.Request.ActionParam();
param.setString('MC', mc);
biz.Request.sendBizRequest({
"context" : this.getContext(),
"action" : "getJDYPCGJBWPB",
"parameters" : param,
"callback" : function(data) {
data.ignoreError = false;
if (data.state) {
detail.setValue("DW", data.response.DW);//物品的单位
detail.setValue("MCID", data.response.MCID);// 物品的ID
detail.setValue("danjia", data.response.danjia);// 物品的单价
} else {
}
}
});
}
// 添加计算金额内容
var yjdj=this.comp("detailData").val("danjia");
if(yjdj != undefined && yjdj != ""){
if(sl != undefined && sl != ""){
var jine = parseInt(yjdj)*parseInt(sl);// 单价 乘以 数量
detail.setValue("jine", jine);
}
}
}
}
};
|
-
|