|
|
@@ -1,5 +1,6 @@
|
|
|
<!DOCTYPE html>
|
|
|
<html>
|
|
|
+
|
|
|
<head>
|
|
|
<meta charset="utf-8">
|
|
|
<title>角色修改</title>
|
|
|
@@ -8,9 +9,11 @@
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
|
<script src="../../js/min-loader-next.js"></script>
|
|
|
</head>
|
|
|
-<body class="content">
|
|
|
+
|
|
|
+<body class="body-content">
|
|
|
+
|
|
|
<form class="layui-form" id = "formName" >
|
|
|
- <div style="margin-top: 20px;margin-left: 20px;margin-right: 120px;padding-bottom:60px;" >
|
|
|
+ <div style="margin-top: 20px;margin-left: 20px;margin-right: 120px;" >
|
|
|
<div class="layui-form-item">
|
|
|
<label class="layui-form-label">角色编号</label>
|
|
|
<div class="layui-input-block">
|
|
|
@@ -36,25 +39,28 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|
|
|
- <div style="margin-top: 20px;margin-left: 20px;margin-right: 120px;">
|
|
|
- <table class="layui-table" style="margin-top: 20px;margin-left: 20px;margin-right: 120px; margin-bottom: 80px;">
|
|
|
- <thead>
|
|
|
- <tr>
|
|
|
- <th id="selectTr"></th>
|
|
|
- <th>一级栏目</th>
|
|
|
- <th>二级栏目</th>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody id="tbody">
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item box-button">
|
|
|
+ <div style="margin-top: 20px;margin-left: 66px;margin-right: 120px;padding-bottom:80px;">
|
|
|
+ <table class="layui-table" style="margin-top: 20px;margin-left: 20px;margin-right: 120px;">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th id="selectTr"></th>
|
|
|
+ <th>系统名称</th>
|
|
|
+ <th>一级栏目</th>
|
|
|
+ <th>二级栏目</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="tbody">
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item box-button">
|
|
|
<div class="layui-input-block">
|
|
|
<button class="layui-btn" onclick = "updateRole()">提交</button>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <script src="../../js/min-loader-next.js"></script>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <script src="../../js/min-loader-next.js"></script>
|
|
|
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
|
|
|
<script>
|
|
|
var params = layui.sessionData("ROW_DATA").NOW_ROW.params;
|
|
|
@@ -67,14 +73,15 @@
|
|
|
$("#roleId").val(roleId);
|
|
|
$("#name").val(name);
|
|
|
$("#desc").val(desc);
|
|
|
+ var tabPageId = getQueryString("tabPageId");
|
|
|
layui.use('form', function(){
|
|
|
var form = layui.form;
|
|
|
initSelectb('roleMainPage', "MAIN_PAGE_URL", "roleMainPage", roleMainPage, true);
|
|
|
form.render();
|
|
|
- });
|
|
|
+ });
|
|
|
// checkbox 点击事件
|
|
|
function authChoose(t){
|
|
|
- var val = t.value;
|
|
|
+ /* var val = t.value;
|
|
|
var isChecked = t.checked;
|
|
|
var inputs = document.getElementsByName(t.name);
|
|
|
// 主菜单
|
|
|
@@ -98,6 +105,7 @@
|
|
|
inputs[0].checked = false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//处理全选框问题
|
|
|
var checkedAll = true;
|
|
|
$('#tbody').find(':checkbox').each(function(){
|
|
|
@@ -106,7 +114,60 @@
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
- $("#selectAll").prop('checked',checkedAll);
|
|
|
+ $("#selectAll").prop('checked',checkedAll); */
|
|
|
+ var checkType = $(t).attr("name");
|
|
|
+ var isCheck = $(t).prop('checked');
|
|
|
+ // 系统选项
|
|
|
+ if (checkType == "xitongCheck") {
|
|
|
+ var xitongId = $(t).attr("xitongId");
|
|
|
+ var xitongInp = $("#tbody").find("input[xitongId='"+ xitongId +"']");
|
|
|
+ for (var i = 0; i < xitongInp.length; i ++) {
|
|
|
+ $(xitongInp[i]).prop('checked',isCheck);
|
|
|
+ }
|
|
|
+ // 一级菜单
|
|
|
+ } else if (checkType == "yijiCheck") {
|
|
|
+ // 操作所属二级菜单
|
|
|
+ var yijiId = $(t).attr("yijiId");
|
|
|
+ var yijiInp = $("#tbody").find("input[yijiId='"+ yijiId +"']");
|
|
|
+ for (var i = 0; i < yijiInp.length; i ++) {
|
|
|
+ $(yijiInp[i]).prop('checked',isCheck);
|
|
|
+ }
|
|
|
+ // 判断系统是否需要选中
|
|
|
+ var xitongIsCheck = true;
|
|
|
+ var xitongId = $(t).attr("xitongId");
|
|
|
+ var xitongInp = $("#tbody").find("input[xitongId='"+ xitongId +"']");
|
|
|
+ for (var i = 1; i < xitongInp.length; i ++) {
|
|
|
+ if(!$(xitongInp[i]).prop('checked')){
|
|
|
+ xitongIsCheck = false;
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ }
|
|
|
+ $(xitongInp[0]).prop('checked',xitongIsCheck);
|
|
|
+ // 二级菜单
|
|
|
+ } else {
|
|
|
+ // 所属一级菜单是否需要选中
|
|
|
+ var yijiIsCheck = true;
|
|
|
+ var yijiId = $(t).attr("yijiId");
|
|
|
+ var yijiInp = $("#tbody").find("input[yijiId='"+ yijiId +"']");
|
|
|
+ for (var i = 1; i < yijiInp.length; i ++) {
|
|
|
+ if(!$(yijiInp[i]).prop('checked')){
|
|
|
+ yijiIsCheck = false;
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ }
|
|
|
+ $(yijiInp[0]).prop('checked',yijiIsCheck);
|
|
|
+ // 判断系统是否需要选中
|
|
|
+ var xitongIsCheck = true;
|
|
|
+ var xitongId = $(t).attr("xitongId");
|
|
|
+ var xitongInp = $("#tbody").find("input[xitongId='"+ xitongId +"']");
|
|
|
+ for (var i = 1; i < xitongInp.length; i ++) {
|
|
|
+ if(!$(xitongInp[i]).prop('checked')){
|
|
|
+ xitongIsCheck = false;
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ }
|
|
|
+ $(xitongInp[0]).prop('checked',xitongIsCheck);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 新增角色按钮
|
|
|
@@ -123,12 +184,17 @@
|
|
|
itemid += inputs[i].value + ",";
|
|
|
}
|
|
|
} */
|
|
|
+
|
|
|
+
|
|
|
var authCheck = false;
|
|
|
$('#tbody').find("tr").each(function(){
|
|
|
- if($(this).find("td:eq(0)").find(":checkbox").prop('checked')){
|
|
|
+
|
|
|
+ if($(this).find("td:eq(0)").find("input[name='erjiCheck']").prop('checked')){
|
|
|
//if($(this).find("input:checkbox").eq(0).val() != undefined && $(this).find("input:checkbox").eq(0).val() != 'undefined'){
|
|
|
itemid += $(this).find("input:checkbox").eq(0).val() + "," ;//拼接菜单信息
|
|
|
//}
|
|
|
+
|
|
|
+
|
|
|
var itemAuth = "";//菜单权限
|
|
|
var itmName = $(this).find("td:eq(2)").html();
|
|
|
|
|
|
@@ -152,10 +218,13 @@
|
|
|
}
|
|
|
authInputs += itemAuth;
|
|
|
}
|
|
|
+
|
|
|
});
|
|
|
if(authCheck){
|
|
|
return ;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
// 校验数据
|
|
|
if (isEmpty(name)) {
|
|
|
layui.use(['layer'], function(){
|
|
|
@@ -189,11 +258,13 @@
|
|
|
success : function(data){
|
|
|
if (data.MINStatus == 0) {
|
|
|
layui.use(['layer'], function(){
|
|
|
+// layer.alert('修改成功!', {icon: 1});
|
|
|
layer.msg('修改成功!', {
|
|
|
icon: 1,
|
|
|
time: 3000 //2秒关闭(如果不配置,默认是3秒)
|
|
|
}, function(){
|
|
|
- parent.location.reload();
|
|
|
+ // parent.location.reload();
|
|
|
+ deleteTabPageParent(tabPageId);
|
|
|
});
|
|
|
})
|
|
|
} else {
|
|
|
@@ -209,11 +280,13 @@
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
function checkAll(checked){
|
|
|
$('#tbody').find(':checkbox').each(function(){
|
|
|
$(this).prop('checked', checked);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
$(document).ready(function(){
|
|
|
$("#selectTr").html("<input type='checkbox' id='selectAll' onclick='checkAll(this.checked);'> ");
|
|
|
// 查询菜单
|
|
|
@@ -224,15 +297,66 @@
|
|
|
},
|
|
|
success : function(data){
|
|
|
var menu = data.MINQueryResult;
|
|
|
- var html = "";
|
|
|
- // 一级菜单临时html
|
|
|
+
|
|
|
+ /* // 一级菜单临时html
|
|
|
var onelevelHtmlPartOne = "";
|
|
|
var onelevelHtmlPartTwo = "";
|
|
|
// 二级菜单tml
|
|
|
var twolevelHtml = "";
|
|
|
// 一级菜单是否被选中
|
|
|
- var onelevelIsChecked = "";
|
|
|
+ var onelevelIsChecked = ""; */
|
|
|
for (var i = 0; i < menu.length; i ++) {
|
|
|
+ var html = "";
|
|
|
+ var xitongIsChecked = "checked";
|
|
|
+
|
|
|
+
|
|
|
+ var xitong = menu[i].xitong;
|
|
|
+
|
|
|
+ html += '<tr>' +
|
|
|
+ '<td><input onclick="authChoose(this)" type="checkbox" lay-skin="primary" xitongIsChecked name="xitongCheck" xitongId="'+xitong.id+'" value="'+xitong.id+'"></td>' +
|
|
|
+ '<td style="color:#D3D3D3;">'+xitong.name+'</td>'+
|
|
|
+ '<td></td>' +
|
|
|
+ '<td></td>' +
|
|
|
+ '</tr>';
|
|
|
+
|
|
|
+ var yijiMenuList = xitong.yijiMenu;
|
|
|
+ for (var j = 0; j < yijiMenuList.length; j ++) {
|
|
|
+ // 是否全部选中
|
|
|
+ var yijiMenuIsChecked = "checked";
|
|
|
+
|
|
|
+ var yijiMenu = yijiMenuList[j];
|
|
|
+ html += '<tr>' +
|
|
|
+ '<td><input onclick="authChoose(this)" type="checkbox" lay-skin="primary" yijiMenuIsChecked xitongId="'+xitong.id+'" yijiId="'+yijiMenu.id+'" name="yijiCheck" value='+yijiMenu.id+'></td>' +
|
|
|
+ '<td style="color:#D3D3D3;">'+xitong.name+'</td>'+
|
|
|
+ '<td>'+yijiMenu.name+'</td>' +
|
|
|
+ '<td></td>' +
|
|
|
+ '</tr>';
|
|
|
+
|
|
|
+ var erjiMenuList = yijiMenu.erjiMenu;
|
|
|
+ for (var k = 0; k < erjiMenuList.length; k ++) {
|
|
|
+ var erjiMenu = erjiMenuList[k];
|
|
|
+ var isChecked = "";
|
|
|
+ if (erjiMenu.checked) {
|
|
|
+ isChecked = "checked";
|
|
|
+ } else {
|
|
|
+ // 一级菜单未全部选中
|
|
|
+ yijiMenuIsChecked = "";
|
|
|
+ // 系统未全部选中
|
|
|
+ xitongIsChecked = "";
|
|
|
+ }
|
|
|
+ html += '<tr>' +
|
|
|
+ '<td><input onclick="authChoose(this)" type="checkbox" lay-skin="primary" xitongId="'+xitong.id+'" yijiId="'+yijiMenu.id+'" name="erjiCheck" value='+erjiMenu.id+' ' + isChecked + '></td>' +
|
|
|
+ '<td style="color:#D3D3D3;">'+xitong.name+'</td>'+
|
|
|
+ '<td>'+yijiMenu.name+'</td>' +
|
|
|
+ '<td>'+erjiMenu.name+'</td>' +
|
|
|
+ '</tr>';
|
|
|
+ }
|
|
|
+ html = html.replace("yijiMenuIsChecked", yijiMenuIsChecked);
|
|
|
+ }
|
|
|
+ html = html.replace("xitongIsChecked", xitongIsChecked);
|
|
|
+ /* if(isEmpty(menu[i].proDesc)){
|
|
|
+ menu[i].proDesc = "";
|
|
|
+ }
|
|
|
// 一级菜单
|
|
|
if (isEmpty(menu[i].lv2)) {
|
|
|
html += (onelevelHtmlPartOne + onelevelIsChecked + onelevelHtmlPartTwo + twolevelHtml);
|
|
|
@@ -240,8 +364,9 @@
|
|
|
onelevelIsChecked = "checked";
|
|
|
twolevelHtml = "";
|
|
|
onelevelHtmlPartOne = '<tr>' +
|
|
|
- '<td><input type="checkbox" lay-skin="primary" name='+menu[i].menuid+' value='+menu[i].itemid+' onclick="authChoose(this)" ';
|
|
|
+ '<td><input onclick="authChoose(this)" type="checkbox" lay-skin="primary" name='+menu[i].menuid+' value='+menu[i].itemid+' onclick="authChoose(this)" ';
|
|
|
onelevelHtmlPartTwo = '></td>' +
|
|
|
+ '<td style="color:#D3D3D3;">'+menu[i].proDesc+'</td>'+
|
|
|
'<td>'+menu[i].lv1+'</td>' +
|
|
|
'</tr>';
|
|
|
// 二级菜单
|
|
|
@@ -256,6 +381,7 @@
|
|
|
var authNames= menu[i].authNames;
|
|
|
var authDefaults = menu[i].authDefaults;
|
|
|
var roleAuthNos = menu[i].roleAuthNos;//角色已选的权限
|
|
|
+
|
|
|
var authHtml = "";
|
|
|
// 判断该菜单下是否存在权限
|
|
|
if( authNos != null && authNos != ''){
|
|
|
@@ -265,6 +391,7 @@
|
|
|
//组装所有的权限
|
|
|
for(var j = 0 ; j < authNos.split(",").length ; j ++){
|
|
|
var checked = "";
|
|
|
+
|
|
|
if(roleAuthNos != undefined && roleAuthNos!= 'undefined' && roleAuthNos.indexOf(authNos.split(',')[j]) != -1){//已选中该权限
|
|
|
checked = "checked";
|
|
|
}
|
|
|
@@ -282,11 +409,13 @@
|
|
|
authHtml += checkboxHtm;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
authTd = "<td>"+authHtml+"</td>"
|
|
|
twolevelHtml += '<tr>' +
|
|
|
- '<td><input type="checkbox" lay-skin="primary" name='+menu[i].menuid+' value='+menu[i].itemid+' onclick="authChoose(this)" '+isChecked+'></td>' +
|
|
|
+ '<td><input onclick="authChoose(this)" type="checkbox" lay-skin="primary" name='+menu[i].menuid+' value='+menu[i].itemid+' onclick="authChoose(this)" '+isChecked+'></td>' +
|
|
|
+ '<td style="color:#D3D3D3;">'+menu[i].proDesc+'</td>'+
|
|
|
'<td style="color:#D3D3D3;">'+menu[i].lv1+'</td>' +
|
|
|
'<td>' + menu[i].lv2 + '</td>' +
|
|
|
//添加权限问题
|
|
|
@@ -295,9 +424,10 @@
|
|
|
// 最后一个一级菜单
|
|
|
if (i == menu.length - 1) {
|
|
|
html += (onelevelHtmlPartOne + onelevelIsChecked + onelevelHtmlPartTwo + twolevelHtml);
|
|
|
- }
|
|
|
+ } */
|
|
|
+ $("#tbody").append(html);
|
|
|
}
|
|
|
- $("#tbody").append(html);
|
|
|
+
|
|
|
},
|
|
|
error : function(data) {
|
|
|
layui.use(['layer'], function(){
|
|
|
@@ -305,7 +435,12 @@
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
})
|
|
|
+
|
|
|
+
|
|
|
</script>
|
|
|
+
|
|
|
</body>
|
|
|
+
|
|
|
</html>
|