二开-值更新事件原创
金蝶云社区-Zzzi
Zzzi
31人赞赏了该文章 1,143次浏览 未经作者许可,禁止转载编辑于2020年12月18日 16:35:58

本次记录的数值类型的更新包含:

  1. 单据头的值更新

  2. 单据体的值更新


单据头的值更新

$('#monthActual').change(function () {  //监听文本域,数值控件的值变化

//月实际产值(元)

var monthActual = $('#monthActual').shrNumberField("getValue");

//月实际人工成本合计

var monthActualCost = $('#monthActualCost').shrNumberField("getValue");

if (monthActual != 0) {

//工资含量控制率(%)=月实际人工成本合计/月实际产值

var salaryPercent = (parseFloat(monthActualCost) / parseFloat(monthActual) * 100).toFixed(2);

$('#salaryPercent').shrNumberField("setValue", salaryPercent);

}

});


单据体的值更新

单据体的值更新包括:

  1. 行更新

  2. 列更新


具体实现方法如下

valueChange: function () {

$("#entrys").jqGrid('option', {

// onCellSelect: function (rowid, iCol, cellcontent, e) {    //有值输入就会进入此方法,但是无法获取最终输入值

//  var id = rowid;

//  var index = iCol;

//  var data = cellcontent;

//  var event = e;

// },

 

// afterEditCell: function (id, name, val, iRow, iCol) {   //没有仔细验证过此方法

// if(name == 'amount') {

//      var taxval = jQuery("#celltbl").jqGrid('getCell',rowid,iCol+1);

//      jQuery("#celltbl").jqGrid('setRowData',rowid,{total:parseFloat(val)+parseFloat(taxval)});

//    }

//    if(name == 'tax') {

//      var amtval = jQuery("#celltbl").jqGrid('getCell',rowid,iCol-1);

//      jQuery("#celltbl").jqGrid('setRowData',rowid,{total:parseFloat(val)+parseFloat(amtval)});

//    }

// },


afterSaveCell: function (rowid, name, val, iRow, iCol) {

//参数解析:行id:rowid ,行名称:name ,此时的值:val, 行号:iRow,列号:iCol


计算行:

//获取此时点击单元格时的一整行数据

var selectedRowData = $('#entrys').jqGrid('getRowData', rowid);

//计划-月计划人数

var costPersonCount = selectedRowData.costPersonCount;  //costPersonCount为属性名

//计划-单位承担五险一金

var costSocial = selectedRowData.costSocial;


//计划-月计划人工成本合计

var costMonthTotal = parseFloat(costPersonCount) + parseFloat(costSocial) ;

$("#entrys").jqGrid('setRowData', rowid, { costMonthTotal: costMonthTotal });


计算列:

//申报金额=所有本月计划付款相加

var sum1 = 0;

//获取单据体的所有行id

var allIds = $("#entrys").jqGrid('getDataIDs');

 //遍历所有行

for (var i = 0; i < allIds.length; i++) {

var allRows = $('#entrys').jqGrid('getRowData', allIds[i]);   //获取一行元素的值

var personType = allRows.personType;

var rowData = $("#entrys").jqGrid('getRowData', allIds[i]);


var value1 = rowData[name];

if (value1 == null || value1 == "") {

value1 = 0.00;

}

sum1 = parseFloat(sum1) + parseFloat(value1);

//赋值

$("#entrys").jqGrid('setCell', allIds[allIds.length - 3], columnIndex, sum1);

}

})

}




赞 31