向后台传递集合
function yanzheng(){
var ids = $('#timesheetentryReportDataGrid').dataGrid('getDataIDs');//获取表单汇报记录的id
var tempList =[];
for(var i in ids){
var fsrcentry =$("#"+ids[i]+"_fsrcentryid").val();
var Qty =$("#"+ids[i]+"_fworkload").val();
var obj={
id:ids[i],
fsrcentry : fsrcentry,//实体中的值:前端变量
Qty : Qty
};
tempList.push(obj);
}
log(tempList)
var url = "${ctx}/produce/timesheetreport/calculation?tempList="+js.encodeUrl(JSON.stringify(tempList));//json格式
$.ajax({
url : url,
async : false,
success: function(datas) {
if(datas==1){
js.confirm('${text('确认要保存吗?实际工作量大于理论工作量')}',submitForm);return false;//做弹出窗体 点击确定走submitForm方法 反之返回false
}else if(datas==0){
submitForm()
}else{
js.showErrorMessage("检查失败!");
return;
}
}
});
}
跳转页面
window.location = (url);
var map = {}, //临时记录根据某字段分组的临时键值对变量,用来记录是否已经存在该fmaterialid
dest = []; //最终输出数组
for(var i = 0; i < data.length; i++){ //遍历list数据
var ai = data[i]; //ai代表list中的某一项
if(!map[ai.fmaterialid]){ //临时键值对变量中不存在此键
dest.push({ //将此数据以json对象格式放到数组中{key1:value1,key2:value2},key1是分组的字段,key2是list中的某一条数据
fmaterialid: ai.fmaterialid,
data: [ai]
});
map[ai.fmaterialid] = ai; //将未加入map的key放入,这样下次map[ai.fmaterialid]就会返回true,map用处到此为止。
}else{ //临时键值对中有此键
for(var j = 0; j < dest.length; j++){ //遍历list
var dj = dest[j]; //结果数组中某一项数据
if(dj.fmaterialid == ai.fmaterialid){ //结果数据中此dest[key1]的值和该list[i].fmaterialid的值相等时
dj.data.push(ai); //把list[i]也放入该dest[key1].data中去
break;
}
}
}
}