fix: 修复权限前端逻辑

This commit is contained in:
Ying
2022-08-29 10:55:15 +08:00
parent dba6f81dfc
commit 7ce0e91d96
9 changed files with 229 additions and 238 deletions

View File

@@ -122,7 +122,7 @@
<span class="layui-layout-right" style="margin-right: 10px;">Build {:release()}</span>
</div>
<!-- // 全局获取数据接口 -->
<authorize id="authorize" data-url="{:url('/system/Admin/getUserMenu')}"></authorize>
<authorize id="authorize" data-url="{:url('/system/Admin/getPermissions')}"></authorize>
</div>
<script src="__STATICADMIN__layui/layui.js?v={:release()}"></script>
<script src="__STATICADMIN__js/common.js?v={:release()}"></script>

View File

@@ -154,7 +154,7 @@
admin.callback.auth = function(clickthis,colletction,config) {
// 获取表格对象
var tableThis = colletction.tableThis,checkKeys = [];
var tableThis = colletction.tableThis, checkKeys = [];
// 勾选默认权限
if (typeof (tableThis.data.rules) !== undefined && tableThis.data.rules != null) {
@@ -164,49 +164,60 @@
}
}
// 渲染树列表
tree.render({
id: 'authTree'
,elem: '#authTree'
,data: _ajax('rules')
,showCheckbox: true
,checkids: checkKeys
,oncheck: function(obj){}
});
// 监听提交
form.on("submit(submitPage)",function(post){
// 获取提交地址
var pageThat = jquery(this), _form = pageThat.parents('form'),
_pageUrl = _form.attr("action") || pageThat.data('url');
pageThat.attr("disabled",true);
if (typeof(_pageUrl) === 'undefined') {
layer.msg('缺少URL属性','error');
return false;
}
jquery.ajax({
url:'{:url("/system/Admin/getPermissions")}',
type:'post',
dataType:'json',
data:{
type : 'rules',
group: true,
},
success(data) {
// 渲染树列表
tree.render({
id: 'authTree'
,elem: '#authTree'
,data: data
,showCheckbox: true
,oncheck: function(obj){}
});
tree.setChecked('authTree', checkKeys);
// 增加角色id
post.field.id = tableThis.data.id;
// 增加节点数据
post.field.rules = tree.getChecked('authTree',true);
// 开始POST提交数据
jquery.post(_pageUrl,
post.field, function(res){
if (res.code === 200) {
layer.msg(res.msg);
// 更新本地规则
tableThis.update({
rules: tree.getChecked('authTree',true).join(',')
});
// 关闭当前窗口
layer.close(colletction.index);
}else{
layer.error(res.msg);
// 监听提交
form.on("submit(submitPage)",function(post){
// 获取提交地址
var pageThat = jquery(this), _form = pageThat.parents('form'),
_pageUrl = _form.attr("action") || pageThat.data('url');
pageThat.attr("disabled",true);
if (typeof(_pageUrl) === 'undefined') {
layer.msg('缺少URL属性','error');
return false;
}
}, 'json');
return false;
// 增加角色id
post.field.id = tableThis.data.id;
// 增加节点数据
post.field.rules = tree.getChecked('authTree',true);
// 开始POST提交数据
jquery.post(_pageUrl,
post.field, function(res){
if (res.code === 200) {
layer.msg(res.msg);
// 更新本地规则
tableThis.update({
rules: tree.getChecked('authTree',true).join(',')
});
// 关闭当前窗口
layer.close(colletction.index);
}else{
layer.error(res.msg);
}
}, 'json');
return false;
})
}
})
}
@@ -225,64 +236,73 @@
}
}
var rules = _ajax('cates');
if (typeof rules.code != "undefined") {
return layer.msg(rules.msg,'info');
}
jquery.ajax({
url:'{:url("/system/Admin/getPermissions")}',
type:'post',
dataType:'json',
data:{
type : 'cates',
group: true,
},
success(data) {
// 渲染树列表
tree.render({
id: 'cateTree'
,elem: '#cateTree'
,data: rules
,showCheckbox: true
,checkids: checkKeys
,oncheck: function(obj){}
});
// 渲染树列表
tree.render({
id: 'cateTree'
,elem: '#cateTree'
,data: data
,showCheckbox: true
,oncheck: function(obj){}
});
// 监听提交
form.on("submit(submitPage)",function(post){
// 获取提交地址
var pageThat = jquery(this), _form = pageThat.parents('form'),
_pageUrl = _form.attr("action") || pageThat.data('url');
pageThat.attr("disabled",true);
if (typeof(_pageUrl) === 'undefined') {
layer.msg('缺少URL属性','error');
return false;
}
tree.setChecked('cateTree', checkKeys);
// 增加角色id
post.field.id = tableThis.data.id;
// 增加节点数据
post.field.cates = tree.getChecked('cateTree',true);
// 开始POST提交数据
jquery.post(_pageUrl,
post.field, function(res){
if (res.code === 200) {
layer.msg(res.msg);
// 更新栏目权限
tableThis.update({
cates: tree.getChecked('cateTree',true).join(',')
});
// 关闭当前窗口
layer.close(colletction.index);
}else{
layer.error(res.msg);
// 监听提交
form.on("submit(submitPage)",function(post){
// 获取提交地址
var pageThat = jquery(this), _form = pageThat.parents('form'),
_pageUrl = _form.attr("action") || pageThat.data('url');
pageThat.attr("disabled",true);
if (typeof(_pageUrl) === 'undefined') {
layer.msg('缺少URL属性','error');
return false;
}
}, 'json');
return false;
})
// 增加角色id
post.field.id = tableThis.data.id;
// 增加节点数据
post.field.cates = tree.getChecked('cateTree',true);
// 开始POST提交数据
jquery.post(_pageUrl,
post.field, function(res){
if (res.code === 200) {
layer.msg(res.msg);
// 更新栏目权限
tableThis.update({
cates: tree.getChecked('cateTree',true).join(',')
});
// 关闭当前窗口
layer.close(colletction.index);
}else{
layer.error(res.msg);
}
}, 'json');
return false;
})
}
})
// var rules = _ajax('cates');
// if (typeof rules.code != "undefined") {
// return layer.msg(rules.msg,'info');
// }
}
// 同步加载函数
var _ajax = function (type) {
var func = '{:url("/system/Admin/getRuleCateTree")}';
return admin.event.ajax(func,{
type : type,
},false)
}
});

View File

@@ -333,7 +333,7 @@
// 开始POST提交数据
layui.$.post(_pageUrl,
post.field, function(res){
if (res.code == 200) {
if (res.code === 200) {
layer.msg(res.msg);
// 关闭当前窗口
table.reload('lay-tableList');
@@ -351,58 +351,55 @@
// 编辑用户权限/栏目权限回调函数
admin.callback.rulecates = function(clickthis,colletction,config) {
var tableThis = colletction.tableThis,
event = tableThis.event;
var tableThis = colletction.tableThis, event = tableThis.event;
layui.$.ajax({
url:'{:url("/system/Admin/getPermissions")}',
type:'post',
dataType:'json',
data:{
type : event,
},
success(data) {
tree.render({
id: 'authTree',
elem: '#authTree',
data: data,
showCheckbox: true,
})
var rules = _ajax(event);
if (typeof rules.code != "undefined") {
return layer.msg(rules.msg,'info');
}
tree.setChecked('authTree', tableThis.data[event].length ? tableThis.data[event].map(Number): []);
// 创建实例
tree.render({
id: 'authTree',
elem: '#authTree',
data: rules,
showCheckbox: true,
checkids: tableThis.data[event].map(Number)
// 监听权限提交
form.on("submit(submitPage)", function (post) {
// 获取用户id
post.field.admin_id = tableThis.data.id;
// 增加节点数据
post.field[event] = tree.getChecked('authTree', true);
// 开始POST提交数据
clickthis.attr("disabled", true);
layui.$.post("{:url('/system/admin/edit" + event + "')}",
post.field, function (res) {
if (res.code === 200) {
// 更新本地规则
tableThis.update({
[event]: post.field[event]
});
// 关闭当前窗口
layer.msg(res.msg);
layer.close(colletction.index);
} else {
layer.error(res.msg);
}
}, 'json');
return false;
})
}
})
// 监听权限提交
form.on("submit(submitPage)", function (post) {
// 获取用户id
post.field.admin_id = tableThis.data.id;
// 增加节点数据
post.field[event] = tree.getChecked('authTree', true);
// 开始POST提交数据
clickthis.attr("disabled", true);
layui.$.post("{:url('/system/admin/edit" + event + "')}",
post.field, function (res) {
if (res.code === 200) {
// 更新本地规则
tableThis.update({
[event]: post.field[event]
});
// 关闭当前窗口
layer.msg(res.msg);
layer.close(colletction.index);
} else {
layer.error(res.msg);
}
}, 'json');
return false;
})
}
// 同步加载函数
var _ajax = function (type) {
var func = '{:url("/system/Admin/getRuleCateTree")}';
return admin.event.ajax(func,{
type : type,
},false)
}
});
</script>

View File

@@ -301,7 +301,7 @@
return layui.layer.error('路由必须以/符号开始');
}
router = router.substring(1);
jquery('.alias').val(router.replace('/',':'));
jquery('.alias').val(router.replaceAll('/',':'));
})
}

View File

@@ -140,7 +140,7 @@
{field: 'email', align: 'center',title: '{:__("邮箱")}'},
{field: 'address', width: 220,title: '{:__("部门地址")}'},
{field: 'sort', width: 80, align: 'center',title: '{:__("排序")}'},
{field: 'create_time', align: 'center',width: 160,title: '{:__("创建时间")}'},
{field: 'create_time', align: 'center',width: 180,title: '{:__("创建时间")}'},
{align: 'center', toolbar: '#tableBar', width: 160,title: '{:__("操作")}'},
]]
});