摘要:Menu.php菜单控制器代码:<?php
namespace app\admins\controller;
use app\admins\controller\Base;
use Util\SysDb;
class Menu extends Base
{
public function index()
Menu.php菜单控制器代码:<?php
namespace app\admins\controller;
use app\admins\controller\Base;
use Util\SysDb;
class Menu extends Base
{
public function index()
{
$pid = (int)input('get.pid');
$where['pid'] = $pid;
//加载菜单列表
$data['lists'] = $this->db->table('admin_menu')->where($where)->order('ord asc')->lists();
$data['pid'] = $pid;
//子菜单
if($pid>0){
$parent = $this->db->table('admin_menu')->where(['mid'=>$pid])->item();
$data['backid'] = $parent['pid'];
}
return $this->fetch('',$data);
}
public function add()
{
$pid = (int)input('get.pid');
$mid = (int)input('get.mid');
$data['parent_menu'] = $this->db->table('admin_menu')->where(['mid'=>$pid])->item();
$data['menu'] = $this->db->table('admin_menu')->where(['mid'=>$mid])->item();
return $this->fetch('',$data);
}
public function edit()
{
$pid = (int)input('get.pid');
$mid = (int)input('get.mid');
$data['parent_menu'] = $this->db->table('admin_menu')->where(['mid'=>$pid])->item();
$data['menu'] = $this->db->table('admin_menu')->where(['mid'=>$mid])->item();
return $this->fetch('',$data);
}
public function save()
{
$mid = (int)input('post.mid');
$data['pid'] = (int)input('post.pid');
$data['title'] = trim(input('post.title'));
$data['controller'] = trim(input('post.controller'));
$data['method'] = trim(input('post.method'));
$daat['ord'] = (int)input('post.ord');
$data['ishidden'] = (int)input('post.ishidden');
$data['status'] = (int)input('post.status');
if($data['title']==''){
exit(json_encode(['code'=>1,'msg'=>'菜单名称不能为空']));
}
if($data['controller']==''){
exit(json_encode(['code'=>1,'msg'=>'控制器不能为空']));
}
if($data['method']==''){
exit(json_encode(['code'=>1,'msg'=>'控制器不能为空']));
}
$res = $this->db->table('admin_menu')->insert($data);
if(!$res){
exit(json_encode(['code'=>1,'msg'=>'保存失败']));
}
exit(json_encode(['code'=>0,'msg'=>'保存成功']));
}
public function doedit()
{
$data['mid'] = (int)input('post.mid');
$data['pid'] = (int)input('post.pid') ? (int)input('post.pid') : 0;
$data['title'] = trim(input('post.title'));
$data['controller'] = trim(input('post.controller'));
$data['method'] = trim(input('post.method'));
$data['ord'] = (int)input('post.ord');
$data['ishidden'] = (int)input('post.ishidden');
$data['status'] = (int)input('post.status');
if($data['title']==''){
exit(json_encode(['code'=>1,'msg'=>'菜单名称不能为空']));
}
if($data['controller']==''){
exit(json_encode(['code'=>1,'msg'=>'控制器不能为空']));
}
if($data['method']==''){
exit(json_encode(['code'=>1,'msg'=>'控制器不能为空']));
}
$res = $this->db->table('admin_menu')->where(['mid'=>$data['mid']])->update($data);
if(!$res){
exit(json_encode(['code'=>1,'msg'=>'保存失败']));
}
exit(json_encode(['code'=>0,'msg'=>'保存成功']));
}
public function del()
{
$mid = (int)input('post.mid');
$res = $this->db->table('admin_menu')->where(['mid'=>$mid])->delete();
if(!$res){
exit(json_encode(['code'=>1,'msg'=>'删除失败']));
}
exit(json_encode(['code'=>0,'msg'=>'删除成功']));
}
}
菜单列表index.html模板代码:html>
Document.header span{
background: #009688;
margin-left: 30px;
padding: 10px;
color: #ffffff;
}
.header button{
float: right;
margin-top: -5px;
}
.header div{
border-bottom: 2px solid #009688;
margin-top: 8px;
}
菜单列表
添加
<?php if($pid>0){?>
返回上级菜单
ID排序菜单名称控制器方法是否隐藏状态操作
{volist name='$lists' id="vo"}
{$vo.mid}{$vo.ord}{$vo.title}{$vo.controller}{$vo.method}{$vo.ishidden==1?'隐藏':'显示'}{$vo.status==0?'正常':' 禁用'}子菜单
编辑
删除
{/volist}
layui.use('layer',function(){
var layer = layui.layer;
$ = layui.jquery;
});
//添加
function add(){
var pid = $('#pid').val();
layer.open({
type:2,
title:'添加菜单',
shade:0.3,
area:['480px','420px'],
content:'/index.php/admins/menu/add?pid='+pid
});
}
//编辑
function edit(mid){
var pid = $('#pid').val();
layer.open({
type:2,
title:'编辑菜单',
shade:0.3,
area:['480px','420px'],
content:'/index.php/admins/menu/edit?pid='+pid+'&mid='+mid
});
}
//删除
function del(mid)
{
layer.confirm('确认要删除吗?',{
icon:3,
btn:['确定','取消']
},function(){
$.post('/index.php/admins/menu/del',{'mid':mid},function(res){
if(res.code>0){
layer.alert(res.msg,{'icon':2});
}else{
layer.msg(res.msg,{'icon':1});
setTimeout(function(){
window.location.reload();
},1000)
}
},'json');
});
}
//子菜单
function childs(mid){
window.location.href = '?pid='+mid;
}
//返回上级菜单
function backs(pid){
window.location.href = '?pid='+pid;
}
添加菜单add.html模板代码:html>
Document上级菜单
菜单名称
排序
控制器
方法
状态
保存
layui.use(['layer','form'],function(){
layer = layui.layer;
form = layui.form;
$ = layui.jquery;
});
function save(){
var title = $.trim($('input[name="title"]').val());
var controller = $.trim($('input[name="controller"]').val());
var method = $.trim($('input[name="method"]').val());
if(title==''){
layer.alert('请输入菜单名称',{'icon':2});
return;
}
if(controller==''){
layer.alert('请输入控制器',{'icon':2});
return;
}
if(method==''){
layer.alert('请输入方法',{'icon':2});
}
$.post('/index.php/admins/menu/save',$('form').serialize(),function(res){
if(res.code>0){
layer.alert(res.msg,{'icon':2});
}else{
layer.msg(res.msg,{'icon':1});
setTimeout(function(){
parent.window.location.reload();
},1000)
}
},'json');
}
编辑菜单edit.html模板代码:html>
Document上级菜单
菜单名称
排序
控制器
方法
状态
保存
layui.use(['layer','form'],function(){
layer = layui.layer;
form = layui.form;
$ = layui.jquery;
});
function doedit(){
var title = $.trim($('input[name="title"]').val());
var controller = $.trim($('input[name="controller"]').val());
var method = $.trim($('input[name="method"]').val());
if(title==''){
layer.alert('请输入菜单名称',{'icon':2});
return;
}
if(controller==''){
layer.alert('请输入控制器',{'icon':2});
return;
}
if(method==''){
layer.alert('请输入方法',{'icon':2});
}
$.post('/index.php/admins/menu/doedit',$('form').serialize(),function(res){
if(res.code>0){
layer.alert(res.msg,{'icon':2});
}else{
layer.msg(res.msg,{'icon':1});
setTimeout(function(){
parent.window.location.reload();
},1000)
}
},'json');
}
批改老师:欧阳批改时间:2019-03-22 17:29:39
老师总结:完成的不错。下次代码复制不完,可以截图上传图片。继续加油。