1.8.7
This commit is contained in:
parent
6740f501d1
commit
53939e8fed
@ -60,7 +60,7 @@ class AuthGroup extends AdminController
|
||||
return json($res);
|
||||
}
|
||||
|
||||
$menus = $this->getMenus();
|
||||
$menus = $this->getMenus(1);
|
||||
View::assign('menus',$menus);
|
||||
|
||||
return View::fetch('roleadd');
|
||||
@ -88,14 +88,15 @@ class AuthGroup extends AdminController
|
||||
return json($res);
|
||||
}
|
||||
|
||||
$menus = $this->getMenus();
|
||||
$menus = $this->getMenus(1);
|
||||
View::assign('menus',$menus);
|
||||
|
||||
$authGroup = AuthGroupModel::select();
|
||||
$auth = AuthGroupModel::find(input('id'));
|
||||
$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');
|
||||
}
|
||||
|
||||
|
@ -109,6 +109,7 @@ class Index extends AdminController
|
||||
->join('user u','a.user_id = u.id')
|
||||
->join('cate c','a.cate_id = c.id')
|
||||
->field('a.id as aid,title,name,catename,pv')
|
||||
->where('a.delete_time',0)
|
||||
->whereWeek('a.create_time')
|
||||
->order('a.create_time', 'desc')
|
||||
->paginate(10);
|
||||
@ -138,6 +139,7 @@ class Index extends AdminController
|
||||
->join('user u','a.user_id = u.id')
|
||||
->join('article c','a.article_id = c.id')
|
||||
->field('a.content as content,title,c.id as cid,name')
|
||||
->where('c.delete_time',0)
|
||||
->whereWeek('a.create_time')
|
||||
->order('a.create_time', 'desc')
|
||||
->paginate(10);
|
||||
|
@ -15,19 +15,22 @@
|
||||
{volist name="menus" id="vo1"}
|
||||
<ul class="layui-input-block" style="margin-top: 10px ;">
|
||||
<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>
|
||||
{if condition="isset($vo1['children'])"}
|
||||
{volist name="vo1['children']" id="vo2"}
|
||||
{if condition="isset($vo2['children'])"}
|
||||
<input type="checkbox" name="rules" lay-skin="primary" value="{$vo2.id}" title="{$vo2.title}:">
|
||||
<li>
|
||||
{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"}
|
||||
<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}
|
||||
|
||||
{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}
|
||||
</li>
|
||||
{/volist}
|
||||
{/if}
|
||||
</ul>
|
||||
@ -59,40 +62,80 @@
|
||||
,form = layui.form ;
|
||||
|
||||
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(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(){
|
||||
var e = $(this);
|
||||
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{
|
||||
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{
|
||||
$(data.elem).parent().prev().removeClass("layui-form-checked");
|
||||
}
|
||||
}
|
||||
if(level === '0'){
|
||||
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"}
|
||||
<ul class="layui-input-block" style="margin-top: 10px ;">
|
||||
<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>
|
||||
{if condition="isset($vo1['children'])"}
|
||||
{volist name="vo1['children']" id="vo2"}
|
||||
<li>
|
||||
{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"}
|
||||
<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}
|
||||
|
||||
{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}
|
||||
</li>
|
||||
{/volist}
|
||||
{/if}
|
||||
</ul>
|
||||
@ -59,20 +62,6 @@
|
||||
{/block}
|
||||
{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>
|
||||
layui.config({
|
||||
@ -84,41 +73,92 @@
|
||||
,form = layui.form
|
||||
,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){
|
||||
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(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(){
|
||||
var e = $(this);
|
||||
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{
|
||||
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{
|
||||
$(data.elem).parent().prev().removeClass("layui-form-checked");
|
||||
}
|
||||
}
|
||||
if(level === '0'){
|
||||
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 = [];
|
||||
$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);
|
||||
|
||||
foreach ($auth_rule_list as $value) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user