亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

菜單的編輯、刪除功能

原創(chuàng) 2019-06-10 00:12:46 314
摘要:1.控制器類代碼<?phpnamespace app\admins\controller;use think\Controller;use Util\SysDb;class Menu extends Base{   public function index(){      $pid = (int)input('get.pid'); &

1.控制器類代碼

<?php
namespace app\admins\controller;
use think\Controller;
use Util\SysDb;

class Menu extends Base{
  public function index(){
     $pid = (int)input('get.pid');
     $where['pid'] = $pid;
     // 加載菜單列表
     $data['lists'] = $this->db->table('admin_menus')->where($where)->order('ord asc')->lists();
     $data['pid'] = $pid;
     // 子菜單
     if($pid>0){
        $parent = $this->db->table('admin_menus')->where(array('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_menus')->where(array('mid'=>$pid))->item();
     $data['menu'] = $this->db->table('admin_menus')->where(array('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'));
     $data['ord'] = (int)input('post.ord');
     $data['ishidden'] = (int)input('post.ishidden');
     $data['status'] = (int)input('post.status');
     if($data['title'] == ''){
        exit(json_encode(array('code'=>1,'msg'=>'菜單名稱不能為空')));
     }
     if($data['pid']>0 && $data['controller'] == ''){
        exit(json_encode(array('code'=>1,'msg'=>'控制器名稱不能為空')));
     }
     if($data['pid']>0 && $data['method'] == ''){
        exit(json_encode(array('code'=>1,'msg'=>'方法名稱不能為空')));
     }
     if($mid){
        $res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->update($data);
     }else{
        $res = $this->db->table('admin_menus')->insert($data);
     }
     if(!$res){
        exit(json_encode(array('code'=>1,'msg'=>'保存失敗')));
     }else{
           exit(json_encode(array('code'=>0,'msg'=>'保存成功')));
       }
  }
  // 刪除菜單
  public function delete(){
     $mid = (int)input('post.mid');
     $res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->delete();
     if(!$res){
        exit(json_encode(array('code'=>1,'msg'=>'刪除失敗')));
     }
     exit(json_encode(array('code'=>0,'msg'=>'刪除成功')));
  }
}

2.視圖類代碼

(1)菜單主頁面index.html

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css">
  <script type="text/javascript" src="/static/plugins/layui/layui.js"></script>
  <style type="text/css">
     .header span{background: #009688;margin-left: 30px;padding: 10px;color: #ffffff;}
     .header button{float: right;margin-top: -5px;}
     .header div{border-bottom: solid 2px #009688;margin-top: 8px;}
  </style>
</head>
<body style="padding: 10px;">
  <input type="hidden" id="pid" value="{$pid}">
  <div class="header">
     <span>菜單列表</span>
     <button class="layui-btn layui-btn-sm" onclick="add()">添加</button>
     <div></div>
  </div>
  <?php if($pid>0){?>
  <button class="layui-btn layui-btn-primary layui-btn-sm" style="float: right;margin-top: 5px;margin-bottom: 5px;" onclick="backs({$backid})">返回上級菜單</button>
  <?php }?>
  <table class="layui-table">
     <thead>
        <tr>
           <th>ID</th>
           <th>排序</th>
           <th>菜單名稱</th>
           <th>控制器</th>
           <th>方法</th>
           <th>是否隱藏</th>
           <th>狀態(tài)</th>
           <th>操作</th>
        </tr>
     </thead>
     <tbody>
        {volist name='$lists' id="vo"}
        <tr>
           <td>{$vo.mid}</td>
           <td>{$vo.ord}</td>
           <td>{$vo.title}</td>
           <td>{$vo.controller}</td>
           <td>{$vo.method}</td>
           <td>{$vo.ishidden==1?'隱藏':'顯示'}</td>
           <td>{$vo.status==1?'禁用':'正常'}</td>
           <td>
              <button class="layui-btn layui-btn-xs" onclick="childs({$vo.mid})">子菜單</button>
              <button class="layui-btn layui-btn-warm layui-btn-xs" onclick="add({$vo.mid})">編輯</button>
              <button class="layui-btn layui-btn-danger layui-btn-xs" onclick="del({$vo.mid})">刪除</button>
           </td>
        </tr>
        {/volist}
     </tbody>
  </table>
</body>
</html>
<script type="text/javascript">
  layui.use(['layer'],function(){
     layer = layui.layer;
     $ = layui.jquery;
  });

  // 添加
  function add(mid){
     var pid = $('#pid').val();
     layer.open({
        type:2,
        title:mid>0?'編輯菜單':'添加菜單',
        shade:0.3,
        area:['480px','420px'],
        content:'/index.php/admins/menu/add?mid='+mid+'&pid='+pid
     });
  }

  // 刪除
  function del(mid){
     layer.confirm('確定要刪除嗎?',{
        icon:3,
        btn:['確定','取消']
     },function(){
        $.post('/index.php/admins/menu/delete',{'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;
  }
</script>

(2).菜單添加頁面add.html

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css">
  <script type="text/javascript" src="/static/plugins/layui/layui.js"></script>
</head>
<body style="padding: 10px;">
  <form class="layui-form">
     <input type="hidden" name="pid" value="{$parent_menu.mid}">
     <input type="hidden" name="mid" value="{$menu.mid}">
     <?php if($parent_menu){?>
     <div class="layui-form-item">
        <label class="layui-form-label"><span style="color: green;">上級菜單</span></label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" disabled="true" style="color: green;" value="{$parent_menu.title}">
        </div>
     </div>
     <?php }?>

     <div class="layui-form-item">
        <label class="layui-form-label">菜單名稱</label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" name="title" value="{$menu.title}">
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">排序</label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" name="ord" value="{$menu.ord}">
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">控制器</label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" name="controller" value="{$menu.controller}">
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">方法</label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" name="method" value="{$menu.method}">
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">狀態(tài)</label>
        <div class="layui-input-inline">
           <input type="checkbox" name="ishidden" lay-skin="primary" title="是否隱藏" value="1" {$menu.ishidden==1?'checked':''}>
           <input type="checkbox" name="status" lay-skin="primary" title="是否禁用" value="1" {$menu.status==1?'checked':''}>
        </div>
     </div>
  </form>
  <div class="layui-form-item">
     <div class="layui-input-block">
        <button class="layui-btn" onclick="save()">保存</button>
     </div>
  </div>
</body>
</html>
<script type="text/javascript">
  layui.use(['layer','form'],function(){
     var form = layui.form;
     layer = layui.layer;
     $ = layui.jquery;
  });

  function save(){
     var pid = parseInt($('input[name="pid"]').val());
     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(pid>0 && controller==''){
        layer.alert('請輸入控制器',{'icon':2});
        return;
     }
     if(pid>0 && method==''){
        layer.alert('請輸入方法名稱',{'icon':2});
        return;
     }
     $.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');
  }
</script>

3.運行結(jié)果

QQ圖片20190610001144.png

批改老師:查無此人批改時間:2019-06-10 10:18:21
老師總結(jié):完成的不錯。后臺管理除了文字、圖片、編輯框。以后可以增加點數(shù)據(jù)圖形。繼續(xù)加油

發(fā)佈手記

熱門詞條