/*
盤點單,組織不同的list提交數據到action
*/
var stockCheck={
init:{
initEvent:function(){
stockCheck.pFunction.queryList();
//綁定檢測輸入框
$("input[name='ssqty']").die("blur");
$("input[name='ssqty']").live("blur",function(){
stockCheck.pFunction.estimate.call(this);
});
$("#subBtn").die("click");
$("#subBtn").live("click",function(){
var remark=$("#remark").val();
var date=stockCheck.pFunction.getDate();
stockCheck.data.otherInputItem.remark=remark;
stockCheck.data.otherInputItem.billDate=date;
stockCheck.data.otherOutItem.remark=remark;
stockCheck.data.otherOutItem.billDate=date;
$.post("stockCheckAction_generateBills.php",{otherInputInfo:JSON.stringify(stockCheck.data.otherInputItem),otherOutInfo:JSON.stringify(stockCheck.data.otherOutItem)},function(data){
if(data=="true"){
showDialog("alert", "生成單據成功!", "信息", 300);
var parameter = {
wareHouseId: stockCheck.data.product.warehouseId,
'category.id': stockCheck.data.product.categoryId,
isNull: stockCheck.data.product.isNull,
name: stockCheck.data.product.name
};
$("#tbContainer").load("stockCheckAction_dynamicQuery.php", parameter);
}else{
showDialog("alert", "生成單據失敗!", "信息", 300);
}
});
});
},
initData:function(){
var warehouseId=$('#warehouseId option:selected').val();
var categoryId=$("#categoryId").val();
var isNull=$("input[name='isNull']").is(':checked')?"1":"0";
var name=$("input[name='name']").val();
stockCheck.data.product.warehouseId=warehouseId;
stockCheck.data.product.categoryId=categoryId;
stockCheck.data.product.isNull=isNull;
stockCheck.data.product.name=name;
}
},
pFunction: {
queryList: function(){
var container = $("#tbContainer");
$("#No4 a").each(function(){
if ($(this).text() == "查詢") {
$(this).unbind("click");
$(this).bind("click", function(){
stockCheck.init.initData();
var parameter = {
wareHouseId: stockCheck.data.product.warehouseId,
'category.id': stockCheck.data.product.categoryId,
isNull: stockCheck.data.product.isNull,
name: stockCheck.data.product.name
};
container.load("stockCheckAction_dynamicQuery.php", parameter);
});
}
});
},
//輸入的庫存
estimate: function(){
var wareHouseId = $(this).parent().next().find("input[id='warehouseId']").val();
var productId = $(this).parent().next().find("input[id='productId']").val();
var identify = wareHouseId + productId;//鑑別列,倉庫id+商品id
var parax = $(this).val();
var qty = $(this).parent().next().find("input[name='qty']").val();
//輸入框爲空時,清空並刪除數組中的記錄
if ($.trim(parax) == "") {
//正數清除otherInputItem
if(qty<0){
for (var i = 0; i < stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['wareHouse.id'] + stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['product.id'] == identify) {
break;
}
}
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].splice(i, 1);
}else{
for (var i = 0; i < stockCheck.data.otherInputItem["otherInputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['wareHouse.id'] + stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['product.id'] == identify) {
break;
}
}
stockCheck.data.otherInputItem["otherInputWareHouseItemList"].splice(i, 1);
}
$(this).parent().next().find("input[name='qty']").removeAttr("style").val("");
return;
}
//輸入框爲非數字時
if (isNaN(parax)) {
showDialog("alert", "請輸入數字!", "信息", 300);
if(qty<0){
for (var i = 0; i < stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['wareHouse.id'] + stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['product.id'] == identify) {
break;
}
}
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].splice(i, 1);
}else{
for (var i = 0; i < stockCheck.data.otherInputItem["otherInputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['wareHouse.id'] + stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['product.id'] == identify) {
break;
}
}
stockCheck.data.otherInputItem["otherInputWareHouseItemList"].splice(i, 1);
}
$(this).val("");
$(this).parent().next().find("input[name='qty']").val("");
return;
}
var paray = $(this).parent().prev().text();
var paraz = parax - paray;
//平
if(paraz==0){
$(this).parent().next().find("input[name='qty']").val(paraz);
return false;
}
if ((paraz) > 0) {
//盤點多了,入庫TODO
$(this).parent().next().find("input[name='qty']").removeAttr("style").val(paraz);
stockCheck.pFunction.addInputItem.call(this);
}
else {
//盤點少了,出庫
$(this).parent().next().find("input[name='qty']").css("color", "red").val(paraz);
stockCheck.pFunction.addOutputItem.call(this);
}
},
//入庫list添加
addInputItem: function(){
var productId = $(this).parent().next().find("input[id='productId']").val();
var unit = $(this).parent().siblings().eq(5).text();
var qty = $(this).parent().next().find("input[name='qty']").val();
var unitprice = $(this).parent().next().find("input[id='avgCost']").val();
var wareHouseId = $(this).parent().next().find("input[id='warehouseId']").val();
var inputAmount = stockCheck.pFunction.floatMul(unitprice, qty);
var identify = wareHouseId + productId;//鑑別列,倉庫id+商品id
//校驗,重複離開焦點,修改並計算
for (var i = 0; i < stockCheck.data.otherInputItem["otherInputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['wareHouse']['id'] + stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['product']['id'] == identify) {
stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['qty']=qty;
stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['inputPrice']=unitprice;
stockCheck.data.otherInputItem["otherInputWareHouseItemList"][i]['inputAmount']=stockCheck.pFunction.floatMul(unitprice,qty);
// window.alert("這個類別已經填加!");
return false;
}
}
//組裝入庫單的item,提交時加入remark
var item = {
'id': "",
'product':{'id':productId,'unit':unit},
'qty': qty,
'inputPrice': unitprice,
'inputAmount': inputAmount,
'wareHouse':{'id':wareHouseId},
'billId': ""
}
stockCheck.data.otherInputItem["otherInputWareHouseItemList"].push(item);
},
//出庫list添加
addOutputItem:function(){
var productId = $(this).parent().next().find("input[id='productId']").val();
var unit = $(this).parent().siblings().eq(5).text();
var qty = Math.abs($(this).parent().next().find("input[name='qty']").val());
var unitprice = $(this).parent().next().find("input[id='avgCost']").val();
var wareHouseId = $(this).parent().next().find("input[id='warehouseId']").val();
var inputAmount = stockCheck.pFunction.floatMul(unitprice, qty);
var identify = wareHouseId + productId;//鑑別列,倉庫id+商品id
//校驗,重複離開焦點,修改並計算
for (var i = 0; i < stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].length; i++) {
if (stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['wareHouse']['id'] + stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['product']['id'] == identify) {
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['qty']=qty;
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['unitCost']=unitprice;
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"][i]['cost']=stockCheck.pFunction.floatMul(unitprice,qty);
// window.alert("這個類別已經填加!");
return false;
}
}
//組裝入庫單的item,提交時加入remark
var item = {
'id': "",
'product':{'id':productId,'unit':unit},
'qty': qty,
'unitCost': unitprice,
'cost': inputAmount,
'wareHouse':{'id':wareHouseId},
'billId': ""
}
stockCheck.data.otherOutItem["otherOutputWareHouseItemList"].push(item);
},
//浮點乘法
floatMul: function(arg1, arg2){
var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
try {
m += s1.split(".")[1].length
}
catch (e) {
}
try {
m += s2.split(".")[1].length
}
catch (e) {
}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
},
//浮點數加法運算
floatAdd: function(arg1, arg2){
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[1].length
}
catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split(".")[1].length
}
catch (e) {
r2 = 0
}
m = Math.pow(10, Math.max(r1, r2))
return (arg1 * m + arg2 * m) / m
},
//浮點數減法運算
floatSub: function(arg1, arg2){
var r1, r2, m, n;
try {
r1 = arg1.toString().split(".")[1].length
}
catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split(".")[1].length
}
catch (e) {
r2 = 0
}
m = Math.pow(10, Math.max(r1, r2));
//動態控制精度長度
n = (r1 >= r2) ? r1 : r2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
},
//浮點數除法運算
floatDiv: function(arg1, arg2){
var t1 = 0, t2 = 0, r1, r2;
try {
t1 = arg1.toString().split(".")[1].length
}
catch (e) {
}
try {
t2 = arg2.toString().split(".")[1].length
}
catch (e) {
}
with (Math) {
r1 = Number(arg1.toString().replace(".", ""))
r2 = Number(arg2.toString().replace(".", ""))
return (r1 / r2) * pow(10, t2 - t1);
}
},
getDate:function(){
var today = new Date();
var weekday=new Array(7)
weekday[0]="星期一"
weekday[1]="星期二"
weekday[2]="星期三"
weekday[3]="星期四"
weekday[4]="星期五"
weekday[5]="星期六"
weekday[6]="星期日"
var y=today.getFullYear()+"年";
var month=today.getMonth()+"月";
var td=today.getDate()+"日";
var d=weekday[today.getDay()];
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
return today;
}
},
data: {
product: {
warehouseId: '',
categoryId: '',
name: '',
isNull: ''
},
//入庫實體
otherInputItem: {
'id': "",
'provider':{id:''},
'billDate': "",
'billNo': "",
'bizType': "inventory_profit",
'otherInputWareHouseItemList': [],
'remark': "",
'totalAmount': "",
'creator': "",
'belongToBillNo': "",
'bizCategory': "inventory_profit"
},
//出庫實體
otherOutItem: {
'id': "",
'customer':{id:''},
'billDate': "",
'billNo': "",
'bizType': "inventory_losses",
'otherOutputWareHouseItemList': [],
'remark': "",
'totalAmount': "",
'creator': "",
'belongToBillNo': "",
'bizCategory': "inventory_losses"
}
}
};
$(function(){
stockCheck.init.initEvent();
});
盤點單組織js數據提交(json2)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.