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);
}
}
});