<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<title>分配权限</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1,charset=utf-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
<!-- <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> -->
|
<link rel="stylesheet" type="text/css" href="../../../layui-2.6.8/dist/css/layui.css"/>
|
</head>
|
<style type="text/css">
|
.divflex{
|
display: flex;
|
justify-content: space-between;
|
}
|
</style>
|
<body>
|
|
<div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 30px;">
|
|
<!-- 树结构 -->
|
<div class="divflex">
|
<div id="" style=" width: 380px;">
|
<p>菜单权限</p>
|
<div id="">
|
<div id="test1"></div>
|
</div>
|
</div>
|
<div style="width: 280px">
|
<p>仓库权限</p>
|
<div id="">
|
<div id="test2"></div>
|
</div>
|
</div>
|
</div>
|
|
<div style="padding-bottom: 5px; position: fixed; right:30px; bottom: 10px;" >
|
<button class="layui-btn layui-btn-sm " lay-submit lay-filter="save">保存</button>
|
<button class="layui-btn layui-btn-sm " lay-submit lay-filter="close">取消</button>
|
</div>
|
<!-- <div class="layui-form-item layui-hide">
|
<input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="确认添加">
|
<input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit" value="确认编辑">
|
</div> -->
|
</div>
|
|
<!-- <script src="../../layuiadmin/layui/layui.js"></script> -->
|
<script src="../../../layui-2.6.8/dist/layui.js"></script>
|
<script src="../../../js/public.js"></script>
|
<script src="../../../js/jquery-3.5.1.min.js"></script>
|
<script src="../../../js/jquery.cookie.js"></script>
|
<script>
|
layui.config({
|
base: '../../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index','tree', 'form', 'layer'], function() {
|
var $ = layui.$,
|
form = layui.form,
|
layer = layui.layer;
|
var tree = layui.tree
|
var laneWayData=[];
|
|
function init(datas){
|
var inst1 = tree.render({
|
id:'demoId',
|
elem: '#test1', //绑定元素
|
showCheckbox: true, //是否显示复选框
|
data :datas
|
});
|
|
}
|
|
function init2(datas){
|
tree.render({
|
id:'demoId2',
|
elem: '#test2', //绑定元素
|
showCheckbox: true, //是否显示复选框
|
data :datas,
|
oncheck:function(obj){
|
console.log(obj.data); //得到当前点击的节点数据
|
console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
|
check(obj.data.id,obj.checked);
|
}
|
});
|
}
|
function check(id, ischeck){
|
|
if(id ==-1){
|
if(ischeck){
|
console.log("选中点击了")
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='1'] .layui-unselect").attr('class'," layui-unselect layui-form-checkbox layui-disabled layui-form-checked");
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='2'] .layui-unselect").attr('class'," layui-unselect layui-form-checkbox layui-disabled layui-form-checked");
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='3'] .layui-unselect").attr('class'," layui-unselect layui-form-checkbox layui-disabled layui-form-checked");
|
for (let item of laneWayData){
|
if(item.id == "-1"){
|
item.checked = true;
|
}
|
}
|
}else{
|
console.log("取消点击了")
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='1'] .layui-unselect").attr('class'," layui-unselect layui-disabled layui-form-checkbox");
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='2'] .layui-unselect").attr('class'," layui-unselect layui-disabled layui-form-checkbox");
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='3'] .layui-unselect").attr('class'," layui-unselect layui-disabled layui-form-checkbox");
|
for (let item of laneWayData){
|
if(item.id == "-1"){
|
item.checked = false;
|
}
|
}
|
}
|
}else{
|
for (let item of laneWayData) {
|
|
if(item.checked){
|
for (let s of item.children) {
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='"+s.id+"'] .layui-unselect").attr('class'," layui-unselect layui-disabled layui-form-checkbox layui-form-checked");
|
}
|
}
|
}
|
}
|
}
|
|
|
var ids = getQueryString('id');
|
var param = {
|
msg: ids,
|
};
|
sendData(IP + "/Role/GetRolesd", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
//页面赋值
|
var text1 = res.data;
|
init(text1);
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
});
|
sendData(IP + "/Role/GetLanewayByRoleId", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
//页面赋值
|
var text2 = res.data;
|
laneWayData = res.data;
|
console.log(text2)
|
console.log(laneWayData)
|
init2(text2);
|
// 获取结果赋值默认选中选中
|
for (let item of text2) {
|
if(item.checked){
|
for (let s of item.children) {
|
$("#test2 .layui-tree-pack .layui-tree-set[data-id='"+s.id+"'] .layui-unselect").attr('class'," layui-unselect layui-disabled layui-form-checkbox layui-form-checked");
|
}
|
}
|
}
|
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
});
|
|
//关闭弹窗事件
|
form.on('submit(close)', function(data){
|
var index = parent.layer.getFrameIndex(window.name)
|
parent.layer.close(index);
|
return false;
|
});
|
|
|
form.on('submit(save)', function(data){
|
var menu = getChecked_list(tree.getChecked('demoId'));
|
var laneway = getChecked_list(tree.getChecked('demoId2'));
|
console.log(menu)
|
console.log(laneway)
|
if (!$.cookie('userId')) {
|
layer.msg('登陆失效,请重新登陆', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
window.parent.location.href = "../Login.html";
|
});
|
}
|
var param = {
|
Id: ids,
|
MenuIds:menu,
|
LanewayIds:laneway,
|
UserId: $.cookie('userId') //当前登录人
|
};
|
sendData(IP + "/Role/SaveAuth", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
var index = parent.layer.getFrameIndex(window.name)
|
parent.layer.close(index); //关闭弹层
|
});
|
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
});
|
|
|
return false;
|
});
|
|
function getChecked_list(data) {
|
var id = "";
|
$.each(data, function (index, item) {
|
if (id != "") {
|
id = id + "," + item.id;
|
}
|
else {
|
id = item.id;
|
}
|
var i = getChecked_list(item.children);
|
if (i != "") {
|
id = id + "," + i;
|
}
|
});
|
return id;
|
}
|
|
|
//获取浏览器参数
|
function getQueryString(name) {
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
var r = window.location.search.substr(1).match(reg);
|
if (r != null) return unescape(r[2]);
|
return null;
|
}
|
})
|
</script>
|
</body>
|
</html>
|