批量处理主要是通过checkbox来选择,我们拿取每一个checkbox值来处理。
function editSupplierAuthentication(supplierAuthenticationID) {
var supplierAuthenticationIDs = "";
if (supplierAuthenticationID != null) {
supplierAuthenticationIDs = supplierAuthenticationID;
}else{
$('.checked > input[name="subBox"]').each(function () {
supplierAuthenticationIDs += $(this).val() + ",";
});
}
if (supplierAuthenticationIDs.length == 0) {
bootbox.alert("请选择至少一个选项");
return;
}
location.href = basePath + "pu/supplier_authentication/batch/detail?supplierAuthenticationIDs="+supplierAuthenticationIDs;
}
$('#allCheck').click(function () {
if (this.checked) {
$('input[name="subBox"],#allCheck').attr("checked", this.checked).parent("span").addClass("checked");
} else {
$('input[name="subBox"],#allCheck').attr("checked", this.checked).parent("span").removeClass("checked");
}
});
url传到后台controller:
@RequestMapping(value = "get_supplier_authentication/{supplierAuthenticationIDs}",method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> getSupplierAuthenticationListPage(@RequestParam(value = "supplierAuthenticationIDs")String supplierAuthenticationIDs){
Map<String,Object> map = new HashMap<>();
List<Integer> prs = new ArrayList<>();
String[] str = supplierAuthenticationIDs.split(",");
for(String list : str){
Integer i = Integer.parseInt(list);
prs.add(i);
}
try {
List<PageData> data = supplierAuthenticationService.getSupplierAuthenticationListBySupplierAuthenticationIDs(prs);
service层
List<PageData> getSupplierAuthenticationListBySupplierAuthenticationIDs(List<Integer> supplierAuthenticationIDs) throws Exception;
serviceImpl
@Override
public List<PageData> getSupplierAuthenticationListBySupplierAuthenticationIDs(List<Integer> supplierAuthenticationIDs) throws Exception {
PageData pd = new PageData();
pd.put("supplierAuthenticationIDs",supplierAuthenticationIDs);
return (List<PageData>) dao.findForList("SupplierAuthenticationMapper.getSupplierAuthenticationListBySupplierAuthenticationIDs",pd);
}
mapper文件:
<select id="getSupplierAuthenticationListBySupplierAuthenticationIDs" parameterType="pd" resultType="pd">
SELECT
sa.supplier_authentication_id,
sat.supplier_authentication_type_name,
sap.photo_path,
sat.supplier_authentication_type_id
FROM
supplier_authentication sa
LEFT JOIN supplier_authentication_photo sap ON sap.supplier_authentication_id = sa.supplier_authentication_id
AND sap.deleted = 0
LEFT JOIN supplier_authentication_type sat ON sat.supplier_authentication_type_id = sa.supplier_authentication_type_id
AND sat.deleted = 0
WHERE
sa.supplier_authentication_id IN
<foreach collection="supplierAuthenticationIDs" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
AND sa.deleted = 0
</select>