Przeglądaj źródła

1.添加删除角色功能

1 1 miesiąc temu
rodzic
commit
f86a500626

+ 6 - 5
imwork-windows/imwork-silos/src/main/java/top/imwork/window/silos/controller/upms/SysRoleServiceController.java

@@ -54,9 +54,11 @@ public class SysRoleServiceController extends BaseController {
      * @param id id
      * @return true/false 成功/失败
      */
-    @DeleteMapping("/delete/{id}")
+    @GetMapping("/delete/{id}")
     public ResponseMsg delete(@PathVariable("id") Long id){
-        return sysRoleService.delete(id)? ResponseMsg.ok() : ResponseMsg.fail();
+        String[] idArr = new String[1];
+        idArr[0] = String.valueOf(id);
+        return sysRoleService.deleteByIds(idArr)? ResponseMsg.ok() : ResponseMsg.fail();
     }
 
     /**
@@ -65,10 +67,9 @@ public class SysRoleServiceController extends BaseController {
      * @param dto 删除条件
      * @return true/false 是否删除成功
      */
-    @DeleteMapping("/deleteByIds")
+    @PostMapping("/deleteByIds")
     public ResponseMsg deleteByIds(@RequestBody DeleteParams dto){
-        String[] idArr = dto.getIds().split(",");
-        return sysRoleService.deleteByIds(idArr)? ResponseMsg.ok() : ResponseMsg.fail();
+        return sysRoleService.deleteByIds(dto.getIdsArr())? ResponseMsg.ok() : ResponseMsg.fail();
     }
 
     @PostMapping("/queryPage")

+ 1 - 1
imwork-windows/imwork-silos/src/main/resources/mapper/upms/SysRoleDao.xml

@@ -71,6 +71,6 @@
     <select id="getRolesByUserId" resultMap="BaseResultMap" parameterType="long">
         select * from sys_role sr
         where sr.id in
-              (select sur.role_id from sys_user_role sur where sur.user_id = #{uid,jdbcType=BIGINT}) and sr.del_flag = '0'
+              (select sur.role_id from sys_user_role sur where sur.user_id = #{uid,jdbcType=BIGINT}) and sr.del_flag = 'N'
     </select>
 </mapper>

+ 59 - 11
imwork-windows/imwork-silos/src/main/resources/static/business/upms/role/js/list.js

@@ -169,22 +169,39 @@ layui.use(['form', 'layer', 'table', 'laytpl', 'jquery'], function () {
     // 批量删除处理
     function handleBatchDelete() {
         var checkStatus = table.checkStatus('listTable');
-        var data = checkStatus.data;
+        const { data } = checkStatus;
 
         if (data.length === 0) {
-            layer.msg("请选择需要删除的条目!");
+            layer.msg('请选择需要删除的角色');
             return;
         }
 
-        var ids = data.map(function (item) {
-            return item.id;
-        });
+        const idsArr = data.map(item => BigInt(item.id).toString());
 
-        layer.confirm('确定删除选中的' + data.length + '个条目?', {
+        layer.confirm('确定删除选中的角色?', {
             icon: 3,
             title: '提示信息'
         }, function (index) {
-            deleteRoles(ids, index);
+            $.ajax({
+                url: '/upms/sysrole/deleteByIds',
+                type: 'POST',
+                dataType: 'json',
+                contentType: 'application/json;charset=UTF-8',
+                data: JSON.stringify({ idsArr }),
+                success: function (res) {
+                    if (res.code === 200) {
+                        layer.msg('删除成功');
+                        tableIns.reload();
+                    } else {
+                        layer.msg(res.msg || '删除失败');
+                    }
+                    layer.close(index);
+                },
+                error: function () {
+                    layer.msg('请求失败,请稍后重试');
+                    layer.close(index);
+                }
+            });
         });
     }
 
@@ -215,7 +232,7 @@ layui.use(['form', 'layer', 'table', 'laytpl', 'jquery'], function () {
                 openDialog("编辑角色", "/upms/sysrole/update", data);
                 break;
             case 'del':
-                confirmDelete(data.id);
+                deleteRole(data.id);
                 break;
             case 'usable':
                 toggleUserStatus($(this), data.id);
@@ -223,6 +240,36 @@ layui.use(['form', 'layer', 'table', 'laytpl', 'jquery'], function () {
         }
     }
 
+    /**
+     * 单个删除用户
+     * @param {Object} id - 角色id
+     */
+    function deleteRole(id) {
+        layer.confirm('确定删除此用户?', {
+            icon: 3,
+            title: '提示信息'
+        }, function (index) {
+            $.ajax({
+                url: '/upms/sysrole/delete/'+id,
+                type: 'GET',
+                data: { id: id },
+                success: function (res) {
+                    if (res.code === 200) {
+                        layer.msg('删除成功');
+                        tableIns.reload();
+                    } else {
+                        layer.msg(res.msg || '删除失败');
+                    }
+                    layer.close(index);
+                },
+                error: function () {
+                    layer.msg('请求失败,请稍后重试');
+                    layer.close(index);
+                }
+            });
+        });
+    }
+
     // 通用弹窗函数
     function openDialog(title, url, data) {
         var index = layui.layer.open({
@@ -256,10 +303,11 @@ layui.use(['form', 'layer', 'table', 'laytpl', 'jquery'], function () {
     // 删除角色(支持批量)
     function deleteRoles(ids, layerIndex) {
         $.ajax({
-            url: "/upms/sysrole/deleteInfoByIds/" + (Array.isArray(ids) ? ids.join(',') : ids),
+            url: "/upms/sysrole/deleteByIds",
             type: "POST",
             dataType: "json",
-            contentType: 'application/json;charset=UTF-8'
+            contentType: 'application/json;charset=UTF-8',
+            data: JSON.stringify({ ids }),
         })
             .done(function (res) {
                 if (res.code === 200) {
@@ -344,7 +392,7 @@ layui.use(['form', 'layer', 'table', 'laytpl', 'jquery'], function () {
         bindEvents();
 
         // 添加搜索框回车事件
-        $searchVal.on('keypress', function (e) {
+        $roleName.on('keypress', function (e) {
             if (e.which === 13) {
                 handleSearch();
             }