From 18a187dcd3c62adce765fbe3679edeb8a2053d6f Mon Sep 17 00:00:00 2001 From: laker <935009066@qq.com> Date: Wed, 2 Apr 2025 17:32:20 +0800 Subject: [PATCH] bugfix: support role and menu batchdelete --- .../sys/controller/SysMenuController.java | 8 ++++ .../sys/controller/SysRoleController.java | 14 +++++-- web/admin/view/system/power.html | 40 +++++++++++++++++-- web/admin/view/system/role.html | 5 ++- 4 files changed, 59 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/laker/admin/module/sys/controller/SysMenuController.java b/src/main/java/com/laker/admin/module/sys/controller/SysMenuController.java index a988b39..aa3ae2f 100644 --- a/src/main/java/com/laker/admin/module/sys/controller/SysMenuController.java +++ b/src/main/java/com/laker/admin/module/sys/controller/SysMenuController.java @@ -1,6 +1,7 @@ package com.laker.admin.module.sys.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -86,4 +87,11 @@ public class SysMenuController { public Response delete(@PathVariable Long id) { return Response.ok(sysMenuService.removeById(id)); } + + @DeleteMapping("/batch/{ids}") + @ApiOperation(value = "批量删除系统菜单表") + @SaCheckPermission("menu.delete") + public Response deleteBatch(@PathVariable Long[] ids) { + return Response.ok(sysMenuService.removeByIds(CollUtil.toList(ids))); + } } diff --git a/src/main/java/com/laker/admin/module/sys/controller/SysRoleController.java b/src/main/java/com/laker/admin/module/sys/controller/SysRoleController.java index 39adb4d..effd3fd 100644 --- a/src/main/java/com/laker/admin/module/sys/controller/SysRoleController.java +++ b/src/main/java/com/laker/admin/module/sys/controller/SysRoleController.java @@ -1,6 +1,7 @@ package com.laker.admin.module.sys.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -63,7 +64,7 @@ public class SysRoleController { @GetMapping("/{id}") @ApiOperation(value = "根据id查询") - public Response get(@PathVariable Long id) { + public Response get(@PathVariable Long id) { return Response.ok(sysRoleService.getById(id)); } @@ -108,7 +109,7 @@ public class SysRoleController { @PutMapping("/saveRolePower") @ApiOperation(value = "保存角色权限数据") @SaCheckPermission("role.update.power") - public Response saveRolePower(Long roleId, String powerIds) { + public Response saveRolePower(Long roleId, String powerIds) { return Response.ok(sysRolePowerService.saveRolePower(roleId, powerIds)); } @@ -116,7 +117,14 @@ public class SysRoleController { @DeleteMapping("/{id}") @ApiOperation(value = "根据id删除") @SaCheckPermission("role.delete") - public Response delete(@PathVariable Long id) { + public Response delete(@PathVariable Long id) { return Response.ok(sysRoleService.removeById(id)); } + + @DeleteMapping("/batch/{ids}") + @ApiOperation(value = "根据批量删除ids删除") + @SaCheckPermission("role.delete") + public Response batchRemove(@PathVariable Long[] ids) { + return Response.ok(sysRoleService.removeByIds(CollUtil.toList(ids))); + } } diff --git a/web/admin/view/system/power.html b/web/admin/view/system/power.html index 47143e8..e105b2e 100644 --- a/web/admin/view/system/power.html +++ b/web/admin/view/system/power.html @@ -51,7 +51,8 @@ @@ -62,12 +63,14 @@ diff --git a/web/admin/view/system/role.html b/web/admin/view/system/role.html index cc5d45e..f1f95d9 100644 --- a/web/admin/view/system/role.html +++ b/web/admin/view/system/role.html @@ -95,6 +95,7 @@ skin: 'line', toolbar: '#role-toolbar', defaultToolbar: [{ + title: '刷新', layEvent: 'refresh', icon: 'layui-icon-refresh', }, 'filter', 'print', 'exports'] @@ -230,7 +231,7 @@ window.batchRemove = function (obj) { let ids = common.checkField(obj, 'roleId'); - if (common.isEmpty(ids)) { + if (ids === "") { popup.warning("未选中数据"); return false; } @@ -238,7 +239,7 @@ layer.close(index); let loading = layer.load(); $.ajax({ - url: MODULE_PATH + "batchRemove/" + ids, + url: "/sys/role/" + "batch/" + ids, dataType: 'json', type: 'delete', success: function (result) {