1.8.7
This commit is contained in:
parent
6740f501d1
commit
53939e8fed
@ -60,7 +60,7 @@ class AuthGroup extends AdminController
|
|||||||
return json($res);
|
return json($res);
|
||||||
}
|
}
|
||||||
|
|
||||||
$menus = $this->getMenus();
|
$menus = $this->getMenus(1);
|
||||||
View::assign('menus',$menus);
|
View::assign('menus',$menus);
|
||||||
|
|
||||||
return View::fetch('roleadd');
|
return View::fetch('roleadd');
|
||||||
@ -88,14 +88,15 @@ class AuthGroup extends AdminController
|
|||||||
return json($res);
|
return json($res);
|
||||||
}
|
}
|
||||||
|
|
||||||
$menus = $this->getMenus();
|
$menus = $this->getMenus(1);
|
||||||
View::assign('menus',$menus);
|
View::assign('menus',$menus);
|
||||||
|
|
||||||
$authGroup = AuthGroupModel::select();
|
$authGroup = AuthGroupModel::select();
|
||||||
$auth = AuthGroupModel::find(input('id'));
|
$auth = AuthGroupModel::find(input('id'));
|
||||||
$ru = $auth->rules;
|
$ru = $auth->rules;
|
||||||
|
$rus = explode(',',$ru);
|
||||||
|
|
||||||
View::assign(['authGroup'=>$authGroup,'auth'=>$auth,'ru'=>$ru]);
|
View::assign(['authGroup'=>$authGroup,'auth'=>$auth,'ru'=>$ru,'rus'=>$rus]);
|
||||||
return View::fetch('roleedit');
|
return View::fetch('roleedit');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,6 +109,7 @@ class Index extends AdminController
|
|||||||
->join('user u','a.user_id = u.id')
|
->join('user u','a.user_id = u.id')
|
||||||
->join('cate c','a.cate_id = c.id')
|
->join('cate c','a.cate_id = c.id')
|
||||||
->field('a.id as aid,title,name,catename,pv')
|
->field('a.id as aid,title,name,catename,pv')
|
||||||
|
->where('a.delete_time',0)
|
||||||
->whereWeek('a.create_time')
|
->whereWeek('a.create_time')
|
||||||
->order('a.create_time', 'desc')
|
->order('a.create_time', 'desc')
|
||||||
->paginate(10);
|
->paginate(10);
|
||||||
@ -138,6 +139,7 @@ class Index extends AdminController
|
|||||||
->join('user u','a.user_id = u.id')
|
->join('user u','a.user_id = u.id')
|
||||||
->join('article c','a.article_id = c.id')
|
->join('article c','a.article_id = c.id')
|
||||||
->field('a.content as content,title,c.id as cid,name')
|
->field('a.content as content,title,c.id as cid,name')
|
||||||
|
->where('c.delete_time',0)
|
||||||
->whereWeek('a.create_time')
|
->whereWeek('a.create_time')
|
||||||
->order('a.create_time', 'desc')
|
->order('a.create_time', 'desc')
|
||||||
->paginate(10);
|
->paginate(10);
|
||||||
|
@ -15,19 +15,22 @@
|
|||||||
{volist name="menus" id="vo1"}
|
{volist name="menus" id="vo1"}
|
||||||
<ul class="layui-input-block" style="margin-top: 10px ;">
|
<ul class="layui-input-block" style="margin-top: 10px ;">
|
||||||
<li>
|
<li>
|
||||||
<input type="checkbox" name="rules" class="parent" lay-skin="primary" value="{$vo1.id}" title="{$vo1.title}:">
|
<input type="checkbox" name="rules" class="parent" lay-skin="primary" data-level="{$vo1.level}" value="{$vo1.id}" title="{$vo1.title}------|">
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
{if condition="isset($vo1['children'])"}
|
{if condition="isset($vo1['children'])"}
|
||||||
{volist name="vo1['children']" id="vo2"}
|
{volist name="vo1['children']" id="vo2"}
|
||||||
{if condition="isset($vo2['children'])"}
|
<li>
|
||||||
<input type="checkbox" name="rules" lay-skin="primary" value="{$vo2.id}" title="{$vo2.title}:">
|
{if condition="isset($vo2['children'])"}
|
||||||
|
<input type="checkbox" name="rules" class="parent" lay-skin="primary" data-level="{$vo2.level}" value="{$vo2.id}" title="{$vo2.title}:">
|
||||||
|
|
||||||
{volist name="vo2['children']" id="vo3"}
|
{volist name="vo2['children']" id="vo3"}
|
||||||
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo3.id}" value="{$vo3.id}" title="{$vo3.title}">
|
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo3.id}" data-level="{$vo3.level}" value="{$vo3.id}" title="{$vo3.title}">
|
||||||
{/volist}
|
{/volist}
|
||||||
|
|
||||||
{else /}
|
{else /}
|
||||||
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo2.id}" value="{$vo2.id}" title="{$vo2.title}">
|
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo2.id}" data-level="{$vo2.level}" value="{$vo2.id}" title="{$vo2.title}:">
|
||||||
{/if}
|
{/if}
|
||||||
|
</li>
|
||||||
{/volist}
|
{/volist}
|
||||||
{/if}
|
{/if}
|
||||||
</ul>
|
</ul>
|
||||||
@ -59,40 +62,80 @@
|
|||||||
,form = layui.form ;
|
,form = layui.form ;
|
||||||
|
|
||||||
form.on('checkbox()', function(data){
|
form.on('checkbox()', function(data){
|
||||||
var pc = data.elem.classList; //获取选中的checkbox的class属性
|
//var pc = data.elem.classList; //获取选中的checkbox的class属性
|
||||||
|
var othis = $(data.elem);
|
||||||
|
var level = $(data.elem).attr('data-level');
|
||||||
|
|
||||||
|
|
||||||
|
//选择
|
||||||
if(data.elem.checked==true){
|
if(data.elem.checked==true){
|
||||||
if(pc=="parent"){
|
|
||||||
var c =$(data.elem).siblings().children("input[type='checkbox']");
|
//主菜单
|
||||||
|
if(level === '0'){
|
||||||
|
var c =$(data.elem).siblings().find("input[type='checkbox']");
|
||||||
c.each(function(){
|
c.each(function(){
|
||||||
var e = $(this);
|
var e = $(this);
|
||||||
e.next().addClass("layui-form-checked");
|
e.next().addClass("layui-form-checked");
|
||||||
});
|
});
|
||||||
}else{
|
|
||||||
$(data.elem).parent().prev().addClass("layui-form-checked");
|
}
|
||||||
}
|
//子菜单及子项
|
||||||
|
if(level === '1'){
|
||||||
|
var c = $(data.elem).siblings("input[type='checkbox']");
|
||||||
|
c.each(function(){
|
||||||
|
var e = $(this);
|
||||||
|
e.next().addClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
|
||||||
|
$(data.elem).parent().parent().prev().addClass("layui-form-checked");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//子项
|
||||||
|
if(level === '2'){
|
||||||
|
|
||||||
|
$(data.elem).siblings('div:first').addClass("layui-form-checked");
|
||||||
|
$(data.elem).parent().parent().prev().addClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(pc=="parent"){
|
//取消
|
||||||
var c =$(data.elem).siblings().children("input[type='checkbox']");
|
|
||||||
c.each(function(){
|
|
||||||
var e = $(this);
|
|
||||||
e.next().removeClass("layui-form-checked");
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
var c = $(data.elem).siblings("div");
|
|
||||||
var count =0;
|
|
||||||
c.each(function(){
|
|
||||||
var is = $(this).get(0).classList;
|
|
||||||
if(is.length==3){
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if(count>0){
|
|
||||||
|
|
||||||
}else{
|
if(level === '0'){
|
||||||
$(data.elem).parent().prev().removeClass("layui-form-checked");
|
var c =$(data.elem).siblings().find("input[type='checkbox']");
|
||||||
}
|
c.each(function(){
|
||||||
}
|
var e = $(this);
|
||||||
|
e.next().removeClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(level === '1'){
|
||||||
|
var c = $(data.elem).siblings("input[type='checkbox']");
|
||||||
|
c.each(function(){
|
||||||
|
var e = $(this);
|
||||||
|
e.next().removeClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
//子项为0,菜单取消选择
|
||||||
|
var s = $(data.elem).parent().parent().children('li').children('div:first-of-type .layui-form-checked');
|
||||||
|
if(s.length === 0){
|
||||||
|
$(data.elem).parent().parent().prev().removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//子项
|
||||||
|
if(level === '2'){
|
||||||
|
var t = othis.siblings('div .layui-form-checked');
|
||||||
|
if(t.length == 1){
|
||||||
|
$(data.elem).siblings('div:first').removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
//子项为0,菜单取消选择
|
||||||
|
var s = $(data.elem).parent().parent().children('li').children('div:first-of-type .layui-form-checked');
|
||||||
|
if(s.length === 0){
|
||||||
|
$(data.elem).parent().parent().prev().removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -23,19 +23,22 @@
|
|||||||
{volist name="menus" id="vo1"}
|
{volist name="menus" id="vo1"}
|
||||||
<ul class="layui-input-block" style="margin-top: 10px ;">
|
<ul class="layui-input-block" style="margin-top: 10px ;">
|
||||||
<li>
|
<li>
|
||||||
<input type="checkbox" name="rules" class="parent" lay-skin="primary" value="{$vo1.id}" title="{$vo1.title}:">
|
<input type="checkbox" name="rules" class="parent" lay-skin="primary" data-level="{$vo1.level}" value="{$vo1.id}" title="{$vo1.title}------|" {if (in_array($vo1.id,$rus))} checked {/if}>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
{if condition="isset($vo1['children'])"}
|
{if condition="isset($vo1['children'])"}
|
||||||
{volist name="vo1['children']" id="vo2"}
|
{volist name="vo1['children']" id="vo2"}
|
||||||
|
<li>
|
||||||
{if condition="isset($vo2['children'])"}
|
{if condition="isset($vo2['children'])"}
|
||||||
<input type="checkbox" name="rules" class="parent" lay-skin="primary" value="{$vo2.id}" title="{$vo2.title}:">
|
<input type="checkbox" name="rules" class="parent" lay-skin="primary" data-level="{$vo2.level}" value="{$vo2.id}" title="{$vo2.title}:" {if (in_array($vo2.id,$rus))} checked {/if}>
|
||||||
|
|
||||||
{volist name="vo2['children']" id="vo3"}
|
{volist name="vo2['children']" id="vo3"}
|
||||||
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo3.id}" value="{$vo3.id}" title="{$vo3.title}">
|
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo3.id}" data-level="{$vo3.level}" value="{$vo3.id}" title="{$vo3.title}" {if (in_array($vo3.id,$rus))} checked {/if}>
|
||||||
{/volist}
|
{/volist}
|
||||||
|
|
||||||
{else /}
|
{else /}
|
||||||
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo2.id}" value="{$vo2.id}" title="{$vo2.title}">
|
<input type="checkbox" name="rules" lay-skin="primary" id="{$vo2.id}" data-level="{$vo2.level}" value="{$vo2.id}" title="{$vo2.title}:" {if (in_array($vo2.id,$rus))} checked {/if}>
|
||||||
{/if}
|
{/if}
|
||||||
|
</li>
|
||||||
{/volist}
|
{/volist}
|
||||||
{/if}
|
{/if}
|
||||||
</ul>
|
</ul>
|
||||||
@ -59,20 +62,6 @@
|
|||||||
{/block}
|
{/block}
|
||||||
{block name="js"}
|
{block name="js"}
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function(){
|
|
||||||
var name = "{$ru}";
|
|
||||||
var names = name.split(",");
|
|
||||||
var inputs = $('input[name=rules]');
|
|
||||||
for (var i =0;i<inputs.length;i++) {
|
|
||||||
for (var n =0;n<names.length;n++) {
|
|
||||||
if (names[n]===inputs[i].value) {
|
|
||||||
inputs[i].checked = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
layui.config({
|
layui.config({
|
||||||
@ -84,41 +73,92 @@
|
|||||||
,form = layui.form
|
,form = layui.form
|
||||||
,table = layui.table;
|
,table = layui.table;
|
||||||
|
|
||||||
|
// var name = "{$ru}";
|
||||||
|
// var names = name.split(",");
|
||||||
|
// var inputs = $('input[name=rules]');
|
||||||
|
// for (var i =0;i<inputs.length;i++) {
|
||||||
|
// for (var n =0;n<names.length;n++) {
|
||||||
|
// if (names[n]===inputs[i].value) {
|
||||||
|
// inputs[i].checked = true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
form.on('checkbox()', function(data){
|
form.on('checkbox()', function(data){
|
||||||
var pc = data.elem.classList; //获取选中的checkbox的class属性
|
//var pc = data.elem.classList; //获取选中的checkbox的class属性
|
||||||
|
var othis = $(data.elem);
|
||||||
|
var level = $(data.elem).attr('data-level');
|
||||||
|
|
||||||
|
|
||||||
|
//选择
|
||||||
if(data.elem.checked==true){
|
if(data.elem.checked==true){
|
||||||
if(pc=="parent"){
|
|
||||||
var c =$(data.elem).siblings().children("input[type='checkbox']");
|
//主菜单
|
||||||
|
if(level === '0'){
|
||||||
|
var c =$(data.elem).siblings().find("input[type='checkbox']");
|
||||||
c.each(function(){
|
c.each(function(){
|
||||||
var e = $(this);
|
var e = $(this);
|
||||||
e.next().addClass("layui-form-checked");
|
e.next().addClass("layui-form-checked");
|
||||||
});
|
});
|
||||||
}else{
|
|
||||||
$(data.elem).parent().prev().addClass("layui-form-checked");
|
}
|
||||||
}
|
//子菜单及子项
|
||||||
|
if(level === '1'){
|
||||||
|
var c = $(data.elem).siblings("input[type='checkbox']");
|
||||||
|
c.each(function(){
|
||||||
|
var e = $(this);
|
||||||
|
e.next().addClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
|
||||||
|
$(data.elem).parent().parent().prev().addClass("layui-form-checked");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//子项
|
||||||
|
if(level === '2'){
|
||||||
|
|
||||||
|
$(data.elem).siblings('div:first').addClass("layui-form-checked");
|
||||||
|
$(data.elem).parent().parent().prev().addClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(pc=="parent"){
|
//取消
|
||||||
var c =$(data.elem).siblings().children("input[type='checkbox']");
|
|
||||||
c.each(function(){
|
|
||||||
var e = $(this);
|
|
||||||
e.next().removeClass("layui-form-checked");
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
var c = $(data.elem).siblings("div");
|
|
||||||
var count =0;
|
|
||||||
c.each(function(){
|
|
||||||
var is = $(this).get(0).classList;
|
|
||||||
if(is.length==3){
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if(count>0){
|
|
||||||
|
|
||||||
}else{
|
if(level === '0'){
|
||||||
$(data.elem).parent().prev().removeClass("layui-form-checked");
|
var c =$(data.elem).siblings().find("input[type='checkbox']");
|
||||||
}
|
c.each(function(){
|
||||||
}
|
var e = $(this);
|
||||||
|
e.next().removeClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(level === '1'){
|
||||||
|
var c = $(data.elem).siblings("input[type='checkbox']");
|
||||||
|
c.each(function(){
|
||||||
|
var e = $(this);
|
||||||
|
e.next().removeClass("layui-form-checked");
|
||||||
|
});
|
||||||
|
//子项为0,菜单取消选择
|
||||||
|
var s = $(data.elem).parent().parent().children('li').children('div:first-of-type .layui-form-checked');
|
||||||
|
if(s.length === 0){
|
||||||
|
$(data.elem).parent().parent().prev().removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//子项
|
||||||
|
if(level === '2'){
|
||||||
|
var t = othis.siblings('div .layui-form-checked');
|
||||||
|
if(t.length == 1){
|
||||||
|
$(data.elem).siblings('div:first').removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
//子项为0,菜单取消选择
|
||||||
|
var s = $(data.elem).parent().parent().children('li').children('div:first-of-type .layui-form-checked');
|
||||||
|
if(s.length === 0){
|
||||||
|
$(data.elem).parent().parent().prev().removeClass("layui-form-checked");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -53,10 +53,10 @@ class AdminController extends \app\BaseController
|
|||||||
/**
|
/**
|
||||||
* 获取角色菜单
|
* 获取角色菜单
|
||||||
*/
|
*/
|
||||||
protected function getMenus()
|
protected function getMenus($type)
|
||||||
{
|
{
|
||||||
$menu = [];
|
$menu = [];
|
||||||
$auth_rule_list = Db::name('auth_rule')->where(['status'=> 1])->order(['sort' => 'ASC', 'id' => 'ASC'])->select();
|
$auth_rule_list = Db::name('auth_rule')->where(['status'=> 1])->where('type',$type)->order(['sort' => 'ASC', 'id' => 'ASC'])->select();
|
||||||
//var_export($auth_rule_list);
|
//var_export($auth_rule_list);
|
||||||
|
|
||||||
foreach ($auth_rule_list as $value) {
|
foreach ($auth_rule_list as $value) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user