springboot layuiAdmin 传递Json数组批量删除

ajax传递data:
data: JSON.stringify(checkData),

Controller接收加@RequestBody注解
public JsonResult batchDel(@RequestBody List batchDelCases) {}

前端


<div class="layui-fluid">
    <div class="layui-card">
      <div class="layui-card-body">
        <div style="padding-bottom: 10px;">
        <!--        头部工具栏-->
          <button class="layui-btn layuiadmin-btn-useradmin" data-type="batchdel">删除</button>
          <button class="layui-btn layuiadmin-btn-useradmin" data-type="add">添加</button>
        </div>
        
        <table id="LAY-user-manage" lay-filter="LAY-user-manage" class="layui-hide"></table>

      </div>
    </div>
  </div>
<script>
layui.config({
    base: '/layuiAdmin/src/layuiadmin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index', 'useradmin', 'table'], function(){
    var $ = layui.$
    ,form = layui.form
    ,table = layui.table
    ,laypage = layui.laypage;

    //table列表渲染
    table.render({
      elem:'#LAY-user-manage',
      height: 'full-200',
      url:'/admin/cases/list',
      title:'解决方案表',
      page: true,
      limit:5,
      limits: [3,5,10],
      cols:[[
          {type:'checkbox',fixed:'left'}//多选框
          ,{field:'id', width:80, sort: true,title:'ID'}
          ,{field:'title', width:200, title: '标题'}
          ,{field:'pic',width:250,title:'封面图片',templet:'#imgtmp'}
          ,{field:'content', minWidth:400, title: '内容' }
          ,{field:'sort', width:100, title: '分类' }
          ,{fixed: 'right', width: 165, align:'center', toolbar: '#table-useradmin-webuser'}
        ]]
    });

//头部监听事件
    var active = {
      //点击删除
      batchdel: function(){
        //多选
        var checkStatus = table.checkStatus('LAY-user-manage')
        ,checkData = checkStatus.data; //得到选中的数据

        if(checkData.length === 0){
          return layer.msg('请选择数据');
        } else if (checkData.length === 1) {
          //选择单行数据
          layer.prompt({
            formType: 1
            ,title: '敏感操作,请验证口令'
          }, function(value, index){
            layer.close(index);

            layer.confirm('确定删除吗?', function(index) {
              console.log(checkData);
              //执行 Ajax 后重载
              $.ajax({
                url: '/admin/cases/del',
                method:'post',
                datatype:'json',
                data:checkData[0],
                success:function (res) {
                  if (res.code === '0') {
                    layer.msg(res.msg);
                    table.reload('LAY-user-manage');
                  } else {
                    layer.msg(res.msg);
                  }
                }
                //,……
              });
            });
          });
        } else {
          //选择多行数据,传递json数组
          layer.prompt({
            formType: 1
            ,title: '敏感操作,请验证口令'
          },function (value, index) {
            layer.close(index);
            layer.confirm('确定删除吗?', function(index) {
              console.log(checkData);
              //执行 Ajax 后重载
              $.ajax({
                url: '/admin/cases/batchdel',
                method:'post',
                data: JSON.stringify(checkData),
                dataType: "JSON",
                contentType : 'application/json;charset=utf-8',
                success:function (res) {
                  if (res.code === '0') {
                    layer.msg(res.msg);
                    table.reload('LAY-user-manage');
                  } else {
                    layer.msg(res.msg);
                  }
                }
                //,……
              });
            });
          })
        }
      }
    };
   });
</script>

Controller

@Controller
@RequestMapping("/admin/cases")
public class CasesController {

    @Resource
    private CasesService casesService;

	@PostMapping("/batchdel")
    @ResponseBody
    //接收的参数必须加@RequestBody
    public JsonResult batchDel(@RequestBody List<Cases> batchDelCases) {
        int i = 0;//成功删除的数据条数
        List failed = new ArrayList();//删除失败的数据ID
        for (Cases batchDelCase : batchDelCases) {
            int j = casesService.delCase(batchDelCase);
            if (j > 0) {
                i = i + j;
            } else {
                failed.add(batchDelCase.getId());
            }
        }
        if (i == batchDelCases.size()) {
            return JsonResult.success();//返回删除成功的json,无data
        } else {
            return JsonResult.failed("1", "id为:" + failed.toString() + "删除失败");//返回删除失败的ID
        }
    }
}

Mapper

public interface CasesMapper {
	@Delete("delete from cases where id = #{id}")
    public int delCase(Cases cases);
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值