<!DOCTYPE html>
|
<html style="background-color: white;">
|
<head>
|
<meta charset="utf-8">
|
<title>分配权限</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<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" href="../../layuiadmin/style/admin.css" media="all">
|
</head>
|
<body style="height: 98%;">
|
<div class="layui-tab">
|
<div class="layui-tab-content" >
|
<!-- 业务 -->
|
<div class="layui-tab-item layui-show">
|
<div class="layui-card">
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto" style="padding: 0;">
|
<div class="layui-form-item" >
|
<div class="layui-inline">
|
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="btn" style="width: 60px;">保存</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-card-body" >
|
<div style="margin-bottom: 15px;">
|
<table id="Layappcontentlist" lay-filter="Layappcontentlist"></table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<script src="../../layuiadmin/layui/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>
|
var uid = $.cookie('userId');
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'table', 'laypage', 'layer'], function() {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
var ids = getQueryString("id");
|
var pno2="";//当前页面表格点击行的值
|
var rightListStr="";//已有权限菜单MenuNo集合json
|
|
getHaveRight();
|
//获取初始权限
|
function getHaveRight(){
|
sendData(IP + "/Basis/GetRoleWareHouseOneListById?id="+ids,{},'get',function(res){
|
for (var i=0;i<res.data.length;i++) {
|
rightListStr += res.data[i].WareHouseNo + ',';
|
}
|
//渲染页面模块table数据
|
refreshTablePage();
|
console.log('rightListStr:'+rightListStr)
|
});
|
}
|
//监听页面模块表格单击事件
|
table.on('row(Layappcontentlist)', function(obj){
|
pno2=obj.data.WareHouseNo;
|
});
|
//监听页面模块表格复选框单击事件
|
table.on('checkbox(Layappcontentlist)', function(obj){
|
console.log(pno2);
|
|
//全选
|
if(String(obj.type) == "all")
|
{
|
//选中
|
if(obj.checked == true)
|
{
|
|
//添加父级选中状态
|
var menu = layui.table.cache.Layappcontentlist;
|
for(var i =0;i<menu.length;i++)
|
{
|
if(rightListStr.indexOf(menu[i].WareHouseNo)<=-1)
|
{
|
rightListStr=rightListStr+','+menu[i].WareHouseNo
|
}
|
}
|
}
|
//取消选中
|
if(obj.checked == false){
|
|
//取消父级选中状态
|
var menu = layui.table.cache.Layappcontentlist;
|
for(var i =0;i<menu.length;i++)
|
{
|
rightListStr=rightListStr.replace(menu[i].WareHouseNo,'');
|
}
|
|
}
|
}
|
else if(String(obj.type) == "one")//单选
|
{
|
//选中
|
if(obj.checked == true)
|
{
|
//添加选中状态
|
rightListStr=rightListStr+','+pno2
|
}
|
//取消选中
|
if(obj.checked == false)
|
{
|
//判断取消后还有没有选中的
|
var menuCheck=false;
|
var menu = layui.table.cache.Layappcontentlist;
|
for(var i=0;i<menu.length;i++)
|
{
|
if(menu[i].LAY_CHECKED == true)
|
{
|
menuCheck=true;
|
continue;
|
}
|
}
|
//取消父级选中状态
|
rightListStr=rightListStr.replace(pno2,'');
|
}
|
}
|
console.log(rightListStr);
|
|
});
|
|
var infoOptions = {
|
elem: '#Layappcontentlist',
|
height: 550,
|
id: 'Layappcontentlist',
|
page: false,
|
limit: Number.MAX_VALUE,
|
cols:
|
[[
|
{
|
title: '复选框', field: 'Lay_Checked', fixed: 'left', type: 'checkbox', width:65
|
},
|
{
|
field: 'WareHouseNo', title: '仓库号', align: 'center'
|
},
|
{
|
field: 'WareHouseName', title: '仓库名称', align: 'center'
|
}
|
]]
|
};
|
//渲染页面模块table数据
|
function refreshTablePage(){
|
sendData(IP + "/Basis/GetHouseList",{},'get',function(res){
|
|
//将权限进行勾选
|
var arr = rightListStr.split(',');
|
for(var a=0;a<arr.length;a++)
|
{
|
for(var i=0;i<res.data.length;i++)
|
{
|
if(arr[a] == res.data[i].WareHouseNo)
|
{
|
res.data[i].LAY_CHECKED = true;
|
continue;
|
}
|
}
|
}
|
$.extend(infoOptions, {
|
data: res.data,
|
});
|
table.render(infoOptions);
|
|
})
|
}
|
|
//监听保存
|
form.on('submit(btn)', function(){
|
//去重
|
var arr = rightListStr.split(',')
|
var formArr = arr.sort()
|
var newArr=[formArr[0]]
|
for (let i = 1; i < formArr.length; i++)
|
{
|
if (formArr[i]!=formArr[i-1])
|
{
|
newArr.push(formArr[i])
|
}
|
}
|
//去重后重新赋值
|
rightListStr = "";
|
for(var c=0;c<newArr.length;c++)
|
{
|
if (rightListStr == "")
|
{
|
rightListStr = newArr[c];
|
}
|
else
|
{
|
rightListStr = rightListStr + ',' + newArr[c];
|
}
|
}
|
synData(IP +"/basis/InsertRoleWareHouse?WareHouseNo="+rightListStr+"&&Id="+ids+"",{},"post",function (res) {
|
if (res.code == 0)
|
{
|
//成功
|
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秒)
|
},function () {
|
this.doing = true;
|
}
|
);
|
}
|
});
|
|
});
|
|
//获取浏览器参数
|
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>
|