二开-值更新事件
本次记录的数值类型的更新包含:
单据头的值更新
单据体的值更新
单据头的值更新
$('#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);
}
});
单据体的值更新
单据体的值更新包括:
行更新
列更新
具体实现方法如下
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);
}
})
}
怎么给基础资料赋值呢?
二开-值更新事件
本文2024-09-16 23:48:58发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56986.html