当前位置: 首页 > article >正文

vue post删除 兼容批量删除和单个删除

核心 

const idsTemp = row.personId ? [row.personId] : this.ids

完整代码

    // 删除
    handleDelete(row) {
      const idsTemp = row.personId ? [row.personId] : this.ids
      this.$confirm('删除后无法恢复, 确定吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        this.loading = true
        api.deleteByIds(idsTemp).then(res => {
          this.loading = false
          if (res.code !== 200) {
            this.$message.error(res.msg)
            return
          }
          this.$message.success(res.msg)
          this.getByPage()
        })
      }).catch(() => {
        this.msgError('删除已取消')
        this.loading = false
      })
    },
  // 删除
  deleteByIds(ids) {
    return request({
      url: `/${groupName}/deleteByIds`,
      method: 'post',
      data: { ids }
    })
  },
    /**
     * 删除
     *
     * @param dto
     * @return
     */
    @PostMapping("deleteByIds")
    @PreAuthorize("hasAuthority('sys:delete')")
    @ApiOperation("删除员工")
    @Log(title = "删除员工", businessType = BusinessType.DELETE)
    public Result<?> deleteByIds(@RequestBody IdsDto dto) {
        return service.deleteByIds(dto.getIds());
    }
    /**
     * 删除
     *
     * @param ids
     * @return
     */
    Result<?> deleteByIds(List<Long> ids);
    /**
     * 删除
     *
     * @param ids
     * @return
     */
    @Override
    public Result<?> deleteByIds(List<Long> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return Result.fail("传入ids为空");
        }

        // 验证并删除
        String currentName = CurrentUserUtil.getCurrentUserInfo().getName() + "-删";
        int rows = 0;
        Person person;
        for(Long id: ids){
            // 查询数据
            person = mapper.selectById(id);
            if (ObjectUtils.isEmpty(person)) {
                return Result.fail("未查询到有效的数据信息");
            }

            // 记录删除人
            person.setUpdateBy(currentName);
            person.setUpdateTime(new Date());
            mapper.updateById(person);
            // 删除
            rows += mapper.deleteById(id);
        }
        return Result.toAjax(rows);
    }


http://www.kler.cn/a/515475.html

相关文章:

  • 数据结构——算法基础
  • 计算机组成原理——数据表示(二)
  • ES6 简单练习笔记--变量申明
  • 在 vscode + cmake + GNU 工具链的基础上配置 JLINK
  • 代码随想录——串
  • 【Red Hat8】:搭建FTP服务器
  • 实现 iOS 自定义高斯模糊文字效果的 UILabel(文末有Demo)
  • 设计模式的艺术-开闭原则
  • MySQL-日志与主从复制(包含如何中途加入从节点)
  • Java 和 JWT(JSON Web Tokens)实现 token 鉴权
  • 【面试常见问题】
  • vue3+elementPlus之后台管理系统(从0到1)(day3-管理员管理)
  • STM32项目分享:智能厨房安全检测系统
  • docker 安装 mysql 详解
  • thinkphp8在使用apidoc时, 4层的接口会有问题 解决办法
  • Kafka-常见的问题解答
  • java提取系统应用的日志中的sql获取表之间的关系
  • html、js、css实现爱心效果
  • 消息队列篇--原理篇--Pulsar(Namespace,BookKeeper,类似Kafka甚至更好的消息队列)
  • I2S是什么通信协议?它如何传输音频数据?它和I2C是什么关系?
  • flutter_学习记录_00_环境搭建
  • 华为OD机试真题---战场索敌
  • 【MySQL】C# 连接MySQL
  • 面向对象编程——类的描述与项目文档
  • AIGC大模型详解(ChatGPT,Cursor,豆包,文心一格)
  • 【Hadoop面试题2025】