js处理
if(commons.checkRepeatClick()){
var successfulId = '${successfulId}';
var winnerCountModel = {};
winnerCountModel['winnerCounts'] = $("#winner").serializeTable();
winnerCountModel['finalistsCounts'] = $("#finalist").serializeTable();
$.post(
commons.getPath()+"/winner/saveWinner.do",
{"winnerCountModel":JSON.stringify(winnerCountModel),"successfulId":successfulId,"baseMessage":JSON.stringify($("#baseMessage").serializeDiv())},
function(data){
if(commons.checkResponse(data)){
location.href = commons.getPath() + "/winner/toWinner.do?taskId=" + data.taskId + "&bidProjectCode=" + data.projectCode;
}
}
);
}
jsp页面
<table id="winner" class="table table-bordered table-condensed">
<thead>
<tr>
<th rowspan="2" style="vertical-align:middle;">标的物</th>
<th>中标候选人</th>
<th class="col-sm-2">中标顺序</th>
<th>中标单价</th>
<th class="col-sm-2" <c:if test="${bidProject.purchaseMode == 2}">style="display:none;"</c:if>>中标数量</th>
<th <c:if test="${bidProject.purchaseMode == 2}">style="display:none;"</c:if>>中标总价</th>
</tr>
</thead>
<tbody>
<c:forEach items="${winnerModels}" var="wm">
<c:forEach items="${wm.winnerCounts}" var="wc" varStatus="count">
<tr>
<c:if test="${count.count == 1}">
<td rowspan="${fn:length(wm.winnerCounts)}">${wm.subjectMatterName}</td>
</c:if>
<input type="hidden" name="subjectMatterId" value="${wc.subjectMatterId}"/>
<input type="hidden" name="subjectMatterName" value="${wc.subjectMatterName}"/>
<input type="hidden" name="subjectMatterInstCode" value="${wc.subjectMatterInstCode}"/>
<input type="hidden" name="supplierId" value="${wc.supplierId}"/>
<input type="hidden" name="supplierName" value="${wc.supplierName}"/>
<input type="hidden" name="winnerPrice" value="${wc.winnerPrice}"/>
<input type="hidden" name="winnerType" value="1"/>
<td><label class="checkbox-inline"><input type="checkbox" name="submitSwitch" class="checkbox" />${wc.supplierName}</label></td>
<td><input type="text" class="form-control form-group-sm" name="winnerOrder" οnfοcus="removeError(this);" οnchange="judgeSelected(this);" /></td>
<td>${wc.winnerPrice}</td>
<td <c:if test="${bidProject.purchaseMode == 2}">style="display:none;"</c:if>><input type="text" class="form-control form-group-sm" name="winnerCount" value="${wc.winnerCount}" οnfοcus="removeError(this);" οnchange="countPrice(this),judgeSelected2(this);" /></td>
<td <c:if test="${bidProject.purchaseMode == 2}">style="display:none;"</c:if>>${wc.winnerTotalPrice}</td>
</tr>
</c:forEach>
</c:forEach>
</table>
后台处理
@RequestMapping("/saveWinner")
@ResponseBody
public ModelMap saveWinnerCount(String winnerCountModel,String baseMessage,Long successfulId, String taskId){
ModelMap map = new ModelMap();
ObjectMapper mapper = new ObjectMapper();
try {
mapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm"));
WinnerCountModel winnerModel = mapper.readValue(winnerCountModel, WinnerCountModel.class);
bidProjectTransactionService.saveWinner(successfulId, winnerModel, baseMessage);
String code = this.bidProjectService.querySuccessfulByObjectId(successfulId).getProjectCode();
map.put("taskId", taskId);
map.put("projectCode", code);
map.put(SysErrorCode.RESPONSE_CODE, SysErrorCode.SUCCESS_CODE);
} catch (Exception e) {
e.printStackTrace();
map.put(SysErrorCode.RESPONSE_CODE, SysErrorCode.DATA_ERROR);
map.put(SysErrorCode.RESPONSE_MESSAGE, e.getMessage());
}
return map;
}