提交 fa5f667b 编写于 作者: Skyeye云's avatar Skyeye云

新增角色完成,编辑角色回显完成

上级 0755a3d7
......@@ -11,4 +11,15 @@ public interface SysEveRoleDao {
public List<Map<String, Object>> querySysRoleBandMenuList(Map<String, Object> map) throws Exception;
public Map<String, Object> querySysRoleNameByName(Map<String, Object> map) throws Exception;
public int insertSysRoleMation(Map<String, Object> map) throws Exception;
public int insertSysRoleMenuMation(List<Map<String, Object>> beans) throws Exception;
public Map<String, Object> querySysRoleMationByRoleId(Map<String, Object> map) throws Exception;
public List<Map<String, Object>> querySysRoleMenuIdByRoleId(Map<String, Object> map) throws Exception;
}
......@@ -9,4 +9,8 @@ public interface SysEveRoleService {
public void querySysRoleBandMenuList(InputObject inputObject, OutputObject outputObject) throws Exception;
public void insertSysRoleMation(InputObject inputObject, OutputObject outputObject) throws Exception;
public void querySysRoleMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception;
}
......@@ -55,6 +55,7 @@ public class SysEveMenuServiceImpl implements SysEveMenuService{
@Override
public void insertSysMenuMation(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
Map<String, Object> user = inputObject.getLogParams();
if(Constants.SYS_MENU_TYPE_IS_IFRAME.equals(map.get("menuType").toString())){//iframe
map.put("openType", Constants.SYS_MENU_OPEN_TYPE_IS_IFRAME);//1:打开iframe
}else if(Constants.SYS_MENU_TYPE_IS_HTML.equals(map.get("menuType").toString())){//html
......@@ -71,7 +72,7 @@ public class SysEveMenuServiceImpl implements SysEveMenuService{
}
map.put("id", ToolUtil.getSurFaceId());
map.put("createTime", ToolUtil.getTimeAndToString());
map.put("createId", "0dc9dd4cd4d446ae9455215fe753c44e");
map.put("createId", user.get("id"));
sysEveMenuDao.insertSysMenuMation(map);
}
......
package com.skyeye.authority.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -12,6 +14,7 @@ import com.skyeye.authority.dao.SysEveRoleDao;
import com.skyeye.authority.service.SysEveRoleService;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.common.util.ToolUtil;
@Service
public class SysEveRoleServiceImpl implements SysEveRoleService{
......@@ -60,5 +63,67 @@ public class SysEveRoleServiceImpl implements SysEveRoleService{
}
outputObject.setBeans(beans);
}
/**
*
* @Title: insertSysRoleMation
* @Description: 新增角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@Override
public void insertSysRoleMation(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
Map<String, Object> user = inputObject.getLogParams();
Map<String, Object> roleName = sysEveRoleDao.querySysRoleNameByName(map);
if(roleName == null){
String roleId = ToolUtil.getSurFaceId();
map.put("createId", user.get("id"));
map.put("createTime", ToolUtil.getTimeAndToString());
map.put("id", roleId);
List<Map<String,Object>> beans = new ArrayList<>();
String[] menuIds = map.get("menuIds").toString().split(",");
if(menuIds.length > 0){
for(String str : menuIds){
Map<String,Object> item = new HashMap<>();
item.put("id", ToolUtil.getSurFaceId());
item.put("roleId", roleId);
item.put("menuId", str);
item.put("createId", user.get("id"));
item.put("createTime", ToolUtil.getTimeAndToString());
beans.add(item);
}
sysEveRoleDao.insertSysRoleMation(map);
sysEveRoleDao.insertSysRoleMenuMation(beans);
}else{
outputObject.setreturnMessage("请选择该角色即将拥有的权限!");
}
}else{
outputObject.setreturnMessage("该角色名称已存在,请更换!");
}
}
/**
*
* @Title: querySysRoleMationToEditById
* @Description: 编辑角色时进行回显
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@Override
public void querySysRoleMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
Map<String, Object> roleMation = sysEveRoleDao.querySysRoleMationByRoleId(map);
List<Map<String, Object>> roleMenuId = sysEveRoleDao.querySysRoleMenuIdByRoleId(map);
outputObject.setBean(roleMation);
outputObject.setBeans(roleMenuId);
outputObject.settotal(roleMenuId.size());
}
}
......@@ -47,4 +47,36 @@ public class SysEveRoleController {
sysEveRoleService.querySysRoleBandMenuList(inputObject, outputObject);
}
/**
*
* @Title: insertSysRoleMation
* @Description: 新增角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@RequestMapping("/post/SysEveRoleController/insertSysRoleMation")
@ResponseBody
public void insertSysRoleMation(InputObject inputObject, OutputObject outputObject) throws Exception{
sysEveRoleService.insertSysRoleMation(inputObject, outputObject);
}
/**
*
* @Title: querySysRoleMationToEditById
* @Description: 编辑角色时进行回显
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@RequestMapping("/post/SysEveRoleController/querySysRoleMationToEditById")
@ResponseBody
public void querySysRoleMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception{
sysEveRoleService.querySysRoleMationToEditById(inputObject, outputObject);
}
}
......@@ -27,9 +27,56 @@
a.menu_name name,
a.menu_parent_id pId,
'true' isParent,
(a.menu_level + 1) type
(a.menu_level + 1) type,
'true' open
FROM
sys_eve_menu a
</select>
<select id="querySysRoleNameByName" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.role_name roleName
FROM
sys_eve_role a
WHERE
a.role_name = #{roleName}
</select>
<insert id="insertSysRoleMation" parameterType="java.util.Map">
insert into sys_eve_role
(id, role_name, role_desc, role_parent_id, creater, create_time)
values(#{id}, #{roleName}, #{roleDesc}, '', #{createId}, #{createTime})
</insert>
<insert id="insertSysRoleMenuMation" parameterType="java.util.Map">
insert into sys_eve_role_menu
(id, role_id, menu_id, creater, create_time)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id}, #{item.roleId}, #{item.menuId}, #{item.createId}, #{item.createTime})
</foreach>
</insert>
<select id="querySysRoleMationByRoleId" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.role_name roleName,
a.role_desc roleDesc
FROM
sys_eve_role a
WHERE
a.id = #{id}
</select>
<select id="querySysRoleMenuIdByRoleId" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.menu_id menuId
FROM
sys_eve_role_menu a
WHERE
a.role_id = #{id}
</select>
</mapper>
\ No newline at end of file
......@@ -77,5 +77,13 @@
</url>
<url id="sys014" path="/post/SysEveRoleController/querySysRoleBandMenuList" val="获取角色需要绑定的菜单列表">
</url>
<url id="sys015" path="/post/SysEveRoleController/insertSysRoleMation" val="新增角色">
<property id="roleName" name="roleName" ref="required" var="角色名称"/>
<property id="roleDesc" name="roleDesc" ref="" var="角色描述"/>
<property id="menuIds" name="menuIds" ref="required" var="菜单权限"/>
</url>
<url id="sys016" path="/post/SysEveRoleController/querySysRoleMationToEditById" val="编辑角色时的信息回显">
<property id="rowId" name="id" ref="required" var="角色ID"/>
</url>
</controller>
\ No newline at end of file
......@@ -12,7 +12,7 @@ layui.config({
showGrid({
id: "showForm",
url: reqBasePath + "sys008",
params: {rowId:parent.rowId},
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/sysevemenu/sysevemenueditTemplate.tpl'),
ajaxSendLoadBefore: function(hdb){
......
......@@ -16,23 +16,37 @@ layui.config({
form.on('submit(formAddMenu)', function (data) {
//表单验证
if (winui.verifyForm(data.elem)) {
var params = {
menuName: $("#menuName").val(),
titleName: $("#menuTitle").val(),
menuIcon: $("#menuIcon").val(),
menuUrl: $("#menuUrl").val(),
menuType: data.field.menuType
};
AjaxPostUtil.request({url:reqBasePath + "sys007", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
var tree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = tree.getCheckedNodes(true);
if(isNull($('#roleName').val())){
top.winui.window.msg('角色名称不能为空', {icon: 2,time: 2000});
return false;
}else if(isNull(nodes)){
top.winui.window.msg('请选择菜单权限权限', {icon: 2,time: 2000});
return false;
}else{
var menuIds = "";
for(var i = 0; i < nodes.length; i++){
if(i == nodes.length-1)
menuIds += nodes[i].id;
else
menuIds += nodes[i].id + ",";
}
var params = {
roleName: $("#roleName").val(),
roleDesc: $("#roleDesc").val(),
menuIds: menuIds
};
AjaxPostUtil.request({url:reqBasePath + "sys015", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
}
return false;
});
......
layui.config({
base: basePath,
version: skyeyeVersion
}).define(['table', 'jquery', 'winui', 'fsCommon', 'fsTree'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
var $ = layui.$,
form = layui.form,
fsTree = layui.fsTree,
fsCommon = layui.fsCommon;
form.render();
form.on('submit(formAddMenu)', function (data) {
//表单验证
if (winui.verifyForm(data.elem)) {
var tree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = tree.getCheckedNodes(true);
if(isNull($('#roleName').val())){
top.winui.window.msg('角色名称不能为空', {icon: 2,time: 2000});
return false;
}else if(isNull(nodes)){
top.winui.window.msg('请选择菜单权限权限', {icon: 2,time: 2000});
return false;
}else{
var menuIds = "";
for(var i = 0; i < nodes.length; i++){
if(i == nodes.length-1)
menuIds += nodes[i].id;
else
menuIds += nodes[i].id + ",";
}
var params = {
roleName: $("#roleName").val(),
roleDesc: $("#roleDesc").val(),
menuIds: menuIds
};
AjaxPostUtil.request({url:reqBasePath + "sys015", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
}
return false;
});
/********* tree 处理 start *************/
var trees = {};
var treeDoms = $("ul.fsTree");
if(treeDoms.length > 0) {
$(treeDoms).each(function(i) {
var treeId = $(this).attr("id");
var funcNo = $(this).attr("funcNo");
var url = $(this).attr("url");
var tree = fsTree.render({
id: treeId,
funcNo: funcNo,
url: url,
getTree: getTree,
checkEnable: true,
loadEnable: false
});
if(treeDoms.length == 1) {
trees[treeId] = tree;
} else {
//深度拷贝对象
trees[treeId] = $.extend(true, {}, tree);
}
});
//绑定按钮事件
fsCommon.buttonEvent("tree", getTree);
}
AjaxPostUtil.request({url:reqBasePath + "sys016", params:{rowId: parent.rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
$("#roleName").val(json.bean.roleName);
$("#roleDesc").val(json.bean.roleDesc);
var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
var zTree = zTreeObj.getCheckedNodes(false);
for (var i = 0; i < zTree.length; i++) {
for(var j = 0; j < json.rows.length; j++){
if(zTree[i].id == json.rows[j].menuId){
zTreeObj.checkNode(zTree[i], true);
json.rows.splice(j, 1);
}
}
}
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
function getTree(treeId) {
if($.isEmpty(trees)) {
fsCommon.warnMsg("未配置tree!");
return;
}
if($.isEmpty(treeId)) {
treeId = "treeDemo";
}
return trees[treeId];
}
/********* tree 处理 end *************/
//取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
......@@ -72,9 +72,9 @@ layui.config({
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/sysevemenu/sysevemenuedit.html",
url: "../../tpl/syseverole/syseveroleedit.html",
title: "编辑角色",
pageId: "sysevemenuedit",
pageId: "syseveroleedit",
callBack: function(refreshCode){
if (refreshCode == '0') {
top.winui.window.msg("操作成功", {icon: 1,time: 2000});
......@@ -95,7 +95,7 @@ layui.config({
_openNewWindows({
url: "../../tpl/syseverole/syseveroleadd.html",
title: "新增角色",
pageId: "sysevemenuadd",
pageId: "syseveroleadd",
callBack: function(refreshCode){
if (refreshCode == '0') {
top.winui.window.msg("操作成功", {icon: 1,time: 2000});
......
......@@ -15,13 +15,13 @@
<div class="layui-form-item">
<label class="layui-form-label">角色名称</label>
<div class="layui-input-block">
<input type="text" id="menuName" name="menuName" win-verify="required" placeholder="请输入角色名称" class="layui-input" />
<input type="text" id="roleName" name="roleName" win-verify="required" placeholder="请输入角色名称" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">角色描述</label>
<div class="layui-input-block">
<input type="text" id="menuTitle" name="menuTitle" win-verify="required" placeholder="请输入窗口标题" class="layui-input" />
<textarea id="roleDesc" name="menuTitle" class="layui-input"></textarea>
</div>
</div>
<div class="layui-form-item">
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/font-awesome-4.7.0/css/font-awesome.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/ztree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/contextMenu/jquery.contextMenu.min.css" rel="stylesheet" />
</head>
<body>
<div style="width:600px;margin:0 auto;padding-top:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item">
<label class="layui-form-label">角色名称</label>
<div class="layui-input-block">
<input type="text" id="roleName" name="roleName" win-verify="required" placeholder="请输入角色名称" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">角色描述</label>
<div class="layui-input-block">
<textarea id="roleDesc" name="menuTitle" class="layui-input"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">权限分配</label>
<div class="layui-input-block winui-radio">
<ul id="treeDemo" class="ztree fsTree" method="get" isRoot="1" url="sys014"
treeIdKey="id" inputs="parentId" treePIdKey="pId" clickCallbackInputs="parentId:$id" treeName="name"></ul>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="winui-btn" lay-submit lay-filter="formAddMenu">确定</button>
<button class="winui-btn" id="cancle">取消</button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/jquery.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/contextMenu/jquery.contextMenu.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.all.min.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/syseverole/'}).use('syseveroleedit');
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册