zoukankan      html  css  js  c++  java
  • EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他


    原创 : EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他

    转载,请注明出处哦!谢谢!

    原创 : EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他
    
    转载,请注明出处哦!谢谢!
    
    
    
    /******************************************************** 主要用于 明细表格 字段间的计算  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);    // 给 单价  赋值
    
            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);    // 给 金额  赋值
    
            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;            // 折扣额 值
    
            
            $(discountEdt.target).numberbox("setValue",discountValue);    // 折扣额  赋值
        }
        
        /******************************************************** 主要用于 明细表格 字段间的计算  End ******************************************************/
  • 相关阅读:
    Faster R-CNN
    06.看板实践——限制在制品
    05.看板方法——在制品
    04.看板实践——工作项
    03.看板实战——工作可视化
    02.看板实践——理解看板
    01.看板实践——学习看板(笔记)
    00.看板实践——前言(笔记)
    00.Scrum指南
    02.有效的项目管理——什么是项目管理
  • 原文地址:https://www.cnblogs.com/wuyifu/p/3617768.html
Copyright © 2011-2022 走看看