easyUI editor

  

var expenseAdjustGrid; // 定义全局变量datagrid
    var plateInfoEditRow = undefined; // 定义全局变量:当前编辑的行
    window.editIndex;
    expenseAdjustGrid = $('#expenseAdjustGrid').datagrid({
        toolbar : '#datagrid-toolbar',
        url : contextPath+ listOfItemFee,
        pagination : true,
        pageSize : 10,
        pageList : [10,20,50],
        rownumbers : false,
        height: 200,
        striped : true, //斑马线效果
        idField : 'id',//指明哪一个字段是标识字段。
        pagePosition : 'top',
        singleSelect : false,// 为 true 只能选择一行数据
        totalProperty : "itemTotal",
        rowsProperty : "itemData",
        ctrlSelect : true, //在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作  默认为false
        checkOnSelect : true,//如果为true,当用户点击行的时候该复选框就会被选中或取消选中。如果为false,当用户仅在点击该复选框的时候才会呗选中或取消。 默认为true
        method : 'post',// 该方法类型请求远程数据
        loadMsg : I18nGet('','数据加载中'), //在从远程站点加载数据的时候显示提示消息。
        frozenColumns : [ [ {
            field : 'ids_',
            title : $.i18n.get('')||"费用项调整",
            checkbox : true
        } ] ],
        columns : [ [ {
            field : 'serverCode',
            align : 'center',
            width : 100,
            height: 20,
            title : $.i18n.get('sendFareShCn.js.95')||"调整费用项"
        }, {
            field : 'taxCode',
            align : 'center',
            width : 100,
            height: 20,
            title : $.i18n.get('sendFareShCn.js.96') ||"税码"
        },  {
            field : 'totalCost',
            align : 'center',
            width : 100,
            height: 20,
            title : $.i18n.get('sendFareShCn.js.97') ||"费用项金额"
        },  {
            field : 'feeAdjust',
            align : 'center',
            width : 100,
            height: 20,
            title : $.i18n.get('') ||"调整金额",
            formatter:function(value){
                return value;
            },
            editor : {
                type : 'numberbox',
                options : {
                    editable : true,
                    precision : 2,
                    inputEvents : {
                        change:function(e){
                            
                            var oldData = e.data.target.value;
                            var newData = e.target.value;
                            if(air.isNullOrEmpty(oldData)){
                                oldData = 0;
                            } 
                            if(air.isNullOrEmpty(newData)){
                                newData = 0;
                            }
                            
                            var row =$('#expenseAdjustGrid').datagrid('getData').rows[window.editIndex];
                            newData = parseFloat(newData);
                            oldData = parseFloat(oldData);
                            console.info(row.totalCost);
                            
                            var totalCostData = parseFloat(row.totalCost) -oldData + newData;
                            console.info(totalCostData);
                            row.totalCost = totalCostData;
                            row.feeAdjust = newData;
                            $('#expenseAdjustGrid').datagrid('updateRow',{index:window.editIndex,row:row});//写入行数据
                        }
                    
                    }
                }
                
            }
        },  { 
            field : 'feeAdjustReason',
            align : 'center',
            width : 140,
            height: 20,
            title : $.i18n.get('sendFareShCn.js.98') ||"调整原因",
            formatter:function(value){
                for(var i=0; i<air.feeAdjustReasonData.length; i++){
                    if (air.feeAdjustReasonData[i].key == value) {
                        return  air.feeAdjustReasonData[i].value;
                    }
                }
              return "---";
            },
            editor : {
                type : 'combobox',
                options : {
                    valueField : 'key',
                    textField : 'value',
                    data : air.feeAdjustReasonData,
                    panelHeight : 'auto',
                    editable : false
                    
                }
            }
        },  {
            field : 'feeAdjustRmark',
            align : 'center',
            width : 140,
            height: 20,
            title : $.i18n.get('sendFareShCn.js.39') ||"调整说明",
            editor : {
                type: 'text',
                options:{
                     validType:['length[0,30]','textarea']
                }
            }
        },  {
            field : 'flightCnId',
            hidden : true     
        }]],  
        onBeforeLoad : function() {
            plateInfoEditRow = undefined;
            return true;
        },
        onAfterEdit : function() {
            // endEdit该方法触发此事件
            plateInfoEditRow = undefined;
        },
        onBeforeEdit : function(rowIndex) {
            // endEdit该方法触发此事件
            window.editIndex = rowIndex;
        },
        //点击其他行
        onClickRow: function(rowIndex){
            if(plateInfoEditRow != undefined && plateInfoEditRow != rowIndex){
                if (!expenseAdjustGrid.datagrid('validateRow', plateInfoEditRow)){
                    $.messager.alert($.i18n.get('prompt') || '提示',I18nGet('','数据填写错误,请检查数据是否填写正确!'), 'warning');
                    return;
                }
                expenseAdjustGrid.datagrid("endEdit", plateInfoEditRow);
            }
            
            if (plateInfoEditRow != undefined) {
                expenseAdjustGrid.datagrid("endEdit", plateInfoEditRow);
            }
            if (plateInfoEditRow == undefined) {
                plateInfoEditRow = rowIndex;
                expenseAdjustGrid.datagrid("beginEdit", rowIndex);
            }
        }
    });

 

posted @ 2017-09-30 09:42  luozhiyun  阅读(182)  评论(0)    收藏  举报