在数据表格的div中添加 lay-filter=“roles”,以便监听
<div class="layui-inline" title="新增" lay-event="add"><i class="layui-icon layui-icon-add-1"></i></div>
<div class="layui-inline" title="批量删除" lay-event="delete"><i class="layui-icon layui-icon-delete"></i></div>
table.on('toolbar(roles)', function(obj) {
var data = obj.data;
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'add':
layer.open({
type : 2,
area : [ '400px', '300px' ],
//这里是跳转到弹出层页面,具体功能还需在add中完成
content : '[[@{/role/add}]]'
});
break;
//批量删除
case 'delete':
let data = checkStatus.data; //得到选中行数据
let ids = [];
for (let i in data) {
ids.push(data[i].id);
console.log(data[i].id);
}
layer.confirm(`是否进行批量删除:${ids}`, function() {
deleteByIds(ids, function() {
if (this.code == 0) {
reload();
}
layer.msg(this.msg);
layer.close(index);
});
})
break;
}
})
function deleteByIds(ids, callback) {
$.ajax({
url : '[[@{/role/del}]]',
data: {
ids: ids
},
traditional: true,
type : 'get',
dataType : 'json',
success : function(rs) {
if (typeof callback === 'function') {
callback.call(rs);
layer.msg(rs.msg);
}
}
});
}
``
批量删除对应的后端代码
@GetMapping("/del")
@ResponseBody
public AResult deleteByIds(Integer[] ids) {
try {
if(roleService.deleteById(ids)) {
return AResult.success().setCode(0).setMsg("批量删除成功");
}
} catch (Exception e) {
e.printStackTrace();
}
return AResult.error(500).setMsg("批量删除失败");
}
/**
* 批量删除
* @param ids
* @return
*/
boolean deleteById(Integer... ids);
//采用逻辑删除
<update id="deleteByIds">
update role set status= 1
where
<foreach item="id" separator="," close=")"
open="id in (" collection="ids">#{id} </foreach>
</update>