easyui datagrid 計算

轉載,至高吳上(Alfa.wu)算法

!謝謝!函數

 

/******************************************************** 主要用於 明細表格 字段間的計算 Start ******************************************************/
/**
* 將 bindGridEvent() 函數 放在 明細表格,新增行 或 編輯 行事件以後調用便可,因爲 每一個業務表單的字段名稱,及算法不一致,所以僅在單個模塊中實現,其餘模塊須要可複製此代碼進行修改
* @author WUYF
* @date 2014-03-22
*/


/**
* 綁定 表格 事件
* @author WUYF
*/
function bindGridEvent()
{
try
{
var objGrid = $("#customerStock"); // 表格對象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 數量
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 產品單價
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣額對象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率對象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金額對象

// 數量 綁定 離開事件
$(invQtyEdt.target).bind("blur",function(){
calcMoney(); // 根據 數量或單價變動後計算 金額
});

// 單價 綁定 離開事件
$(invSaleCostEdt.target).bind("blur",function(){
calcMoney(); // 根據 數量或單價變動後計算 金額
});

// 折扣額 綁定 離開事件
$(discountEdt.target).bind("blur",function(){
calcDiscount(); // 根據 折扣額變動後 計算 折扣率
});

// 折扣率 綁定離開事件
$(depositEdt.target).bind("blur",function(){
calcDeposit(); // 根據 折扣率變動後 計算 折扣額
});

// 金額 綁定離開事件
$(invMoneyEdt.target).bind("blur",function(){
calcMoneyChange(); // 金額變動 後 從新計算 單價,折扣額,折扣率
});

}
catch(e)
{
alert(e);
}
}

/**
* 金額變動 後 從新計算 單價,折扣額,折扣率
*/
function calcMoneyChange()
{
var objGrid = $("#customerStock"); // 表格對象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 數量對象
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 單價對象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金額對象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣額對象

var invQtyValue = $(invQtyEdt.target).val(); // 數量 值
var invMoneyValue = $(invMoneyEdt.target).val(); // 金額 值
var invSaleCostValue = invMoneyValue / (invQtyValue*1.0); // 單價 值
var discountValue = $(discountEdt.target).val(); // 折扣額 值

$(invSaleCostEdt.target).numberbox("setValue",invSaleCostValue); // 給 單價 賦值spa

if( discountValue == 0){
$(discountEdt.target).numberbox("setValue",invMoneyValue); // 給 折扣額 賦值
}
calcDiscount(); // 根據 折扣額 計算 折扣率對象

}

/**
* 根據 數量或單價變動後計算 金額
* @author WUYF
*/
function calcMoney()
{
var objGrid = $("#customerStock"); // 表格對象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 數量對象
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 單價對象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金額對象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣額對象

var invQtyValue = $(invQtyEdt.target).val(); // 數量 值
var invSaleCostValue = $(invSaleCostEdt.target).val(); // 單價 值
var invMoneyValue = invQtyValue * invSaleCostValue; // 金額 值
var discountValue = $(discountEdt.target).val(); // 折扣額 值

$(invMoneyEdt.target).numberbox("setValue",invMoneyValue); // 給 金額 賦值blog

if( discountValue == 0){
$(discountEdt.target).numberbox("setValue",invMoneyValue); // 給折扣額 賦值
calcDiscount();
}
else{
calcDiscount();
}

}事件

/**
* 根據 折扣額變動後 計算 折扣率
* @author WUYF
*/
function calcDiscount(){
var objGrid = $("#customerStock"); // 表格對象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invMoney'}); // 金額對象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣額對象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率對象

var invMoneyValue = $(invMoneyEdt.target).val(); // 金額值
var discountValue = $(discountEdt.target).val(); // 折扣額 值
var depositValue = discountValue / (invMoneyValue * 1.0); // 折扣率 值

$(depositEdt.target).numberbox("setValue",depositValue); // 給折扣率 賦值
}

/**
* 根據 折扣率變動後 計算 折扣額
* @author WUYF
*/
function calcDeposit(){
var objGrid = $("#customerStock"); // 表格對象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invMoney'}); // 金額對象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣額對象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率對象

var invMoneyValue = $(invMoneyEdt.target).val(); // 金額值
var depositValue = $(depositEdt.target).val(); // 折扣率 值
var discountValue = invMoneyValue * depositValue; // 折扣額 值get


$(discountEdt.target).numberbox("setValue",discountValue); // 折扣額 賦值
}

/******************************************************** 主要用於 明細表格 字段間的計算 End ******************************************************/產品

相關文章
相關標籤/搜索