SpringBoot + Vue 微人事(十二)

职位批量删除实现

编写后端接口

PositionController

 @DeleteMapping("/")
    public RespBean deletePositionByIds(Integer[] ids){
    
    
        if(positionsService.deletePositionsByIds(ids)==ids.length){
    
    
            return RespBean.ok("删除成功");
        }
        return RespBean.err("删除失败");
    }

PositionsService

    public int deletePositionsByIds(Integer[] ids) {
    
    
        return positionMapper.deletePositionsByIds(ids);
    }

PositionMapper

    int deletePositionsByIds(@Param("ids") Integer[] idsInteger[] ids);

PositionMapper.xml

  delete  from position where  id in
        <foreach collection="ids" item="id" separator="," open="(" close=")">
           #{id}
         </foreach>;

添加批量删除按钮
在这里插入图片描述

            <el-button type="danger" size="small" style="margin-top:10px" >批量删除</el-button>

没有选中肯定默认是禁用批量删除按钮的,添加一个
在这里插入图片描述
赋值就是当前选择的项
在这里插入图片描述
定义一个变量,空数组变量
在这里插入图片描述

   multipleSelection: []

添加一个点击事件,这个是一个点击多选框会触发的点击事件
在这里插入图片描述
赋值给这个空数组变量,保存着始终点击项
在这里插入图片描述
按钮禁用
在这里插入图片描述

            <el-button type="danger" size="small" style="margin-top:10px" :disabled="multipleSelection.length==0">批量删除</el-button>

给这个按钮添加一个点击事件,进行连接后端,批量删除
在这里插入图片描述

<el-button type="danger" size="small" style="margin-top:10px" :disabled="multipleSelection.length==0" @click="deleteMany">批量删除</el-button>

在这里插入图片描述

 deleteMany(){
    
    
                let ids ="?";
                this.multipleSelection.forEach(item=>{
    
    
                    ids += 'ids='+item.id+'&'   //ida = ?ids=  + id + &  ids=  + id + &
                })
                console.log(ids)
                this.deleteRequest("/system/basic/pos/"+ids).then(resp=>{
    
    
                    if (resp){
    
    
                        this.initPositions()
                    }
                })
            },

猜你喜欢

转载自blog.csdn.net/qq_45709416/article/details/132354103
今日推荐