laravel框架实现联动 使用layui

 

//前台页面

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="/layui/css/layui.css">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
@include('common.head');

<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
@include('common.left')
</div>
</div>

<div class="layui-body">
<!-- 内容主体区域 -->
<form class="layui-form" action="" method="get">
<label class="layui-form-label">控制器</label>
<div class="layui-input-block">
<select name="controller" lay-filter="role">
<option value="">请选择控制器</option>
@foreach ($data as $k=>$v)
<option value="{{$v}}"> {{ $v }}</option>
@endforeach
</select>
</div>
<label class="layui-form-label">方法</label>
<div class="layui-input-block">
<select name="fun" id="fun">
<option value="">请选择方法</option>
</select>
</div>
<label class="layui-form-label">选择权限</label>
<div class="layui-input-block">
<select name="power" id="fun">
@foreach ($arr as $k=>$v)
<option value="{{$v['id']}}"> {{ $v['power'] }}</option>
@endforeach
</select>
</div>


</form>
</div>


@include('common.foot')
<script src="/layui/layui.js"></script>
<script src="/js/jquery-3.3.1.js"></script>
<script>
layui.use(['form', 'layedit', 'laydate'], function(){
var form = layui.form;
form.on('select(role)',function (data) {
var controller=data.value;
$.ajax({
url:"/fun",
type:"get",
dataType:"json",
data:{
controller:controller
},success:function (data) {
console.log(data);
var str='<option>请选择方法</option>'
$.each(data,function (k,v) {
str+='<option value='+v+'>'+v+'</option>'
})
$('#fun').append($('#fun').html(str));

form.render('select')
}
})
})
});
</script>
</div>
</body>
</html>
//控制器代码
public function admin_node_add()
{
$res=dirname(__FILE__);
$arr=scandir($res);
$newarr=[];
foreach ($arr as $key=>$v)
{
$newarr[]=pathinfo($v,PATHINFO_FILENAME);
}
unset($newarr[0],$newarr[1],$newarr[2]);
$arr=new Power();

$arr=Power::get();
$arr= json_encode($arr);
$arr= json_decode($arr,1);
$arr=$this->gettree($arr,0);
return view('pra.nodeadd',['data'=>$newarr,'arr'=>$arr]);
}
public function fun(Request $request)
{
$class_name=$request->get('controller');
$class_name="App\Http\Controllers\\".$class_name;
$c= new $class_name();
$arr1=get_class_methods($c);
if ($parent_class=get_parent_class($c))
{
$arr2=get_class_methods($parent_class);
$arr3=array_diff($arr1,$arr2);
}
else
{
$arr3=$arr1;
}
echo json_encode($arr3);
}

猜你喜欢

转载自www.cnblogs.com/ding999/p/11331004.html