聚星Note08 - 角色维护3

  • 1 单条删除
  • 2 批量删除
  • 3 代码托管

1 单条删除

无论是单条删除, 还是批量删除, 后台处理代码一致

  1. my-js/my-role.js 的 fillTableBody 函数中在删除图标处添加 id
  2. 创建模态框 WEB-INF/modal-role-confirm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<div id="confirmModal" class="modal fade" tabindex="-1" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close"data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h4 class="modal-title">删除角色</h4></div><div class="modal-body"><h4>请确认是否要删除下列角色:</h4><div id="roleNameDiv" style="text-align: center;"></div></div><div class="modal-footer"><button id="removeRoleBtn" type="button"class="btn btn-primary">确认删除</button></div></div></div>
</div>
  1. WEB-INF/role-page.jsp引入模态框
<%@include file="/WEB-INF/modal-role-confirm.jsp" %>
  1. 删除图标,添加点击响应事件
$("#rolePageBody").on("click",".removeBtn",function(){// 获取角色名称var roleName = $(this).parent().prev().text();// 创建 role 对象存入数组var roleArray = [{roleId:this.id,roleName:roleName}];// 打开模态框showConfirmModal(roleArray);
});
  1. WEB-INF/role-page.jsp 添加 ajax 代码, 执行删除
$("#removeRoleBtn").click(function(){// 从全局变量范围获取 roleIdArray,转换为 JSON 字符串var requestBody = JSON.stringify(window.roleIdArray);$.ajax({"url":"role/remove/by/role/id/array.json","type":"post","data":requestBody,"contentType":"application/json;charset=UTF-8","dataType":"json","success":function(response){var result = response.operationResult;if(result == "SUCCESS") {layer.msg("删除成功!");// 重新加载分页数据generatePage();}if(result == "FAILED") {layer.msg("删除失败!" + response.operationMessage);}},"error":function(response){layer.msg(response.status + " " + response.statusText);}});// 关闭模态框$("#confirmModal").modal("hide");
});

2 批量删除

  1. 为多选框 checkbox 绑定点击响应函数
$("#summaryBox").click(function(){// 获取当前多选框自身的状态var currentStatus = this.checked;// 用当前多选框的状态设置其他多选框$(".itemBox").prop("checked", currentStatus);
});
  1. WEB-INF/role-page.jsp 添加 ajax 代码, 全选、全不选操作
$("#rolePageBody").on("click",".itemBox",function(){// 获取当前已经选中的.itemBox的数量var checkedBoxCount = $(".itemBox:checked").length;// 获取全部.itemBox的数量var totalBoxCount = $(".itemBox").length;// 使用二者的比较结果设置总的checkbox$("#summaryBox").prop("checked", checkedBoxCount == totalBoxCount);
});
  1. 批量删除按钮绑定点击响应事件
$("#batchRemoveBtn").click(function(){// 创建数组对象,存放获取到的角色对象var roleArray = [];// 遍历当前选中的多选框$(".itemBox:checked").each(function(){// 使用this引用当前遍历得到的多选框var roleId = this.id;// 通过 DOM 操作获取角色名称var roleName = $(this).parent().next().text();roleArray.push({"roleId":roleId,"roleName":roleName});});// 检查 roleArray 的长度是否为0if(roleArray.length == 0) {layer.msg("请至少选择一个执行删除");return ;}// 调用专门的函数打开模态框showConfirmModal(roleArray);
});
  1. my-js/my-role.js 添加
// 显示删除模态框
function showConfirmModal(roleArray) {// 打开模态框$("#confirmModal").modal("show");// 清除旧的数据$("#roleNameDiv").empty();// 在全局变量范围创建数组用来存放角色idwindow.roleIdArray = [];// 遍历 roleArray 数组for(var i = 0; i < roleArray.length; i++) {var role = roleArray[i];var roleName = role.roleName;$("#roleNameDiv").append(roleName+"<br/>");var roleId = role.roleId;// 调用数组对象的 push() 方法存入新元素window.roleIdArray.push(roleId);}
}
  1. com.turling.gatherStars.mvc.handler.RoleHandler 添加
@ResponseBody
@RequestMapping("/role/remove/by/role/id/array.json")
public ResultEntity<String> removeByRoleIdAarry(@RequestBody List<Integer> roleIdList) {roleService.removeRole(roleIdList);return ResultEntity.successWithoutData();
}
  1. com.turling.gatherStars.service.api.RoleService 添加
void removeRole(List<Integer> roleIdList);
  1. com.turling.gatherStars.service.impl.RoleServiceImpl 添加
public void removeRole(List<Integer> roleIdList) {RoleExample example = new RoleExample();RoleExample.Criteria criteria = example.createCriteria();// DELETE FROM t_role WHERE id IN (5,8,12);criteria.andIdIn(roleIdList);roleMapper.deleteByExample(example);
}

3 代码托管

将代码 push 到 git@gitee.com:turling/gather-stars.git

聚星Note08 - 角色维护(3)相关推荐

  1. 聚星Note06 - 角色维护(1)

    聚星Note06 - 角色维护1 1 创建实体 1.1 数据库建表 1.2 创建角色视图 2 分页 2.1 初始化数据, 引入自定义 js 文件 2.2 自定义 js 文件 2.3 实现后台业务逻辑 ...

  2. day04【后台】角色维护

    day04[后台]角色维护 1.权限控制 1.1.为什么需要权限控制 如果没有权限控制, 系统的功能完全不设防, 全部暴露在所有用户面前. 用户登录以后可以使用系统中的所有功能. 这是实际运行中不能接 ...

  3. 尚筹网 —— 5、角色维护

    目录 1.角色分页操作 1.1.目标 1.2.思路 1.3.代码 1.3.1.创建数据库表 1.3.2.逆向生成相关资源 1.3.3.准备查询的 SQL 语句 1.3.4.添加 mapper 方法 1 ...

  4. 众筹网角色维护【异步请求】

    思维导图 前端 controller 消息转换器@RespondBody 前端拼接数据 加上清空,不然数据会堆积在框里不是更新

  5. 聚星Note04 - 管理员登录

    聚星Note04 - 管理员登录 1 整合静态资源 1.1 关联登录请求地址和视图 1.2 维护项目所需常量类 1.3 小技巧 - idea 正常显示子包 1.4 修饰 system-error.js ...

  6. day05【后台】菜单维护

    day05[后台]菜单维护 1.数据库中存储树形结构 1.1.节点类型 1.2.创建菜单表 执行SQL语句创建数据库表 USE project_crowd CREATE TABLE t_menu (i ...

  7. iMatrix平台的权限管理系统是一个基于角色的访问控制系统

    iMatrix平台的权限管理系统(ACS)是一个基于角色的访问控制(Role-Based  Access Control)系统.熟悉RBAC的朋友应该知道,在RBAC中,权限和角色是相关的,用户通过成 ...

  8. 众筹网站项目第七天之用户角色分配(1)

    打开原教程视频 注:本人是渣渣,有错请谅解. 实现用户角色分配功能 1.数据准备 insert into `t_role` (`id`, `name`) values('1','PM - 项目经理') ...

  9. 后台管理系统中的CRUD【以用户维护为例】

    1.前端页面展示 后台管理主要具有三大功能,分别为权限管理.业务审核和业务管理,其中权限管理又分为用户维护.角色维护和菜单维护,这三个维护功能在后端实现上来说,大同小异,都是CRUD,因此这边以用户维 ...

最新文章

  1. Aquaculture:天津农科院谢凤行团队揭示菌群预测功能与实际代谢特性的相关性...
  2. 揭秘码云:全球第二大代码托管平台的核心架构
  3. Bootstrap3 栅格系统-简介
  4. ubuntu 安装opencl失败笔记
  5. 【转载】探寻C++最快的读取文件的方案
  6. Python的Crypto模块使用:自动输入Shell中的密码
  7. 国内互联网公司算法机器学习岗(阿里星)面试总结
  8. java如何获得wlan mac_Android M 如何获取 Wifi MAC地址
  9. 基于webpack模块加载,ts里对系统对象prototype的扩展
  10. 【Noip模拟 20161005】公约数
  11. dcp9020cdn硒鼓!错误_打印机硒鼓错误是什么意思?故障解决【详解】
  12. leetCode-458. Poor Pigs
  13. HRBUST 1212 乘积最大
  14. JVM(1.8)GC日志解析与分析
  15. RabbitMq 消息中间件介绍初体验
  16. 红米K30S至尊纪念版和红米K30至尊纪念版哪个好
  17. 特斯拉自动驾驶功能更新:将上线红绿灯识别自动停车
  18. 亿信华辰:怎样去断定一份数据的质量高低?数据质量如何评估?
  19. The development history and future trend of optical fiber communication technology
  20. html 5 触摸屏事件

热门文章

  1. 2021年电工(中级)模拟考试题库及电工(中级)模拟考试系统
  2. 安泰ATA-1372A宽带放大器技术参数
  3. ESP32-CAM 板载摄像头模块进行简单的图像采集和网络传输。
  4. mpc-hc播放器在更改桌面分辨率的情况下,只有声音没有图像
  5. 近世代数 笔记与题型连载 第十二章(同态与同构)
  6. [BZOJ1412][ZJOI2009]狼和羊的故事(最小割)
  7. [转].NET技术书籍推荐
  8. 优启梦域名防红公益版源码V2.7
  9. Java期末复习总结
  10. 四平战役(1946年)作战地图