返回 管理员的添加、...... 登陆

管理员的添加、编辑功能

笑颜常开 2019-06-09 16:43:13 253

1.控制器类代码

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

class Admin extends Base{
  public function index(){
     // 加载管理员列表
     $data['lists'] = $this->db->table('admins')->order('id desc')->lists();
     return $this->fetch('',$data);
  }

  // 添加管理员
  public function add(){
     $id = (int)input('get.id');
     $data['item'] = $this->db->table('admins')->where(array('id'=>$id))->item();
     return $this->fetch('',$data);
  }


  // 保存管理员
  public function save(){
     $id = (int)input('post.id');
     $data['username'] = trim(input('post.username'));
     $data['gid'] = (int)input('post.gid');
     $data['truename'] = trim(input('post.truename'));
     $data['status'] = (int)input('post.status');
     $password = input('post.password');

     if(!$data['username']){
        exit(json_encode(array('code'=>1,'msg'=>'用户名不能为空')));
     }
     if(!$data['gid']){
        exit(json_encode(array('code'=>1,'msg'=>'角色不能为空')));
     }
     if(!$data['truename']){
        exit(json_encode(array('code'=>1,'msg'=>'姓名不能为空')));
     }

     if($id==0 && !$password){
        exit(json_encode(array('code'=>1,'msg'=>'请输入密码')));
     }
     if($password){
        $data['password'] = md5($password);
     }
     
     $res = true;
     if($id == 0){
        $item = $this->db->table('admins')->where(array('username'=>$data['username']))->item();
        if($item){
           exit(json_encode(array('code'=>1,'msg'=>'该用户已经存在')));
        }
        $data['add_time'] = time();
        $res = $this->db->table('admins')->insert($data);
     }else{
        $res = $this->db->table('admins')->where(array('id'=>$id))->update($data);
     }

     if($res){
        exit(json_encode(array('code'=>0,'msg'=>'保存成功')));
     }else{
        exit(json_encode(array('code'=>1,'msg'=>'保存失败')));
     }
  }


  // 删除管理员
  public function delete(){
     $id = (int)input('post.id');
     $res = $this->db->table('admins')->where(array('id'=>$id))->delete();
     if(!$res){
        exit(json_encode(array('code'=>1,'msg'=>'删除失败')));
     }
     exit(json_encode(array('code'=>0,'msg'=>'删除成功')));
  }
}

2.视图类代码

(1).编辑页面

<!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;">
  <div class="header">
     <span>管理员列表</span>
     <button class="layui-btn layui-btn-sm" onclick="add()">添加</button>
     <div></div>
  </div>
  <table class="layui-table">
     <thead>
        <tr>
           <th>ID</th>
           <th>用户名</th>
           <th>真实姓名</th>
           <th>角色</th>
           <th>状态</th>
           <th>添加时间</th>
           <th>操作</th>
        </tr>
     </thead>
     <tbody>
        {volist name='$lists' id="vo"}
        <tr>
           <td>{$vo.id}</td>
           <td>{$vo.username}</td>
           <td>{$vo.truename}</td>
           <td>{$vo.gid}</td>
           <td>{$vo.status==0?'正常':'<span style="color: red;">禁用</span>'}</td>
           <td>{:date('Y-m-d H:i:s',$vo.add_time)}</td>
           <td>
              <button class="layui-btn layui-btn-xs" onclick="add({$vo.id})">编辑</button>
              <button class="layui-btn layui-btn-danger layui-btn-xs" onclick="del({$vo.id})">删除</button>
           </td>
        </tr>
        {/volist}
     </tbody>
  </table>
</body>
</html>
<script type="text/javascript">
  layui.use(['layer'],function(){
     layer = layui.layer;
     $ = layui.jquery;
  });

  // 添加
  function add(id){
     layer.open({
        type:2,
        title:id>0?'编辑管理员':'添加管理员',
        shade:0.3,
        area:['480px','420px'],
        content:'/index.php/admins/admin/add?id='+id
     });
  }

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

(2).增加页面

<!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="id" value="{$item.id}">
     <div class="layui-form-item">
        <label class="layui-form-label">用户名</label>
        <div class="layui-input-inline">
           <input type="text" class="layui-input" name="username" value="{$item.username}" <?=$item['id']>0?'readonly':''?>>
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">角色</label>
        <div class="layui-input-inline">
           <select name="gid">
              <option value="1">系统管理员</option>
              <option value="2">开发人员</option>
           </select>
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">密码</label>
        <div class="layui-input-inline">
           <input type="password" class="layui-input" name="password">
        </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="truename" value="{$item.truename}">
        </div>
     </div>

     <div class="layui-form-item">
        <label class="layui-form-label">状态</label>
        <div class="layui-input-inline">
           <input type="checkbox" name="status" lay-skin="primary" title="禁用" value="1" {$item.status?'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 id = parseInt($('input[name="id"]').val());
     var username = $.trim($('input[name="username"]').val());
     var pwd = $.trim($('input[name="password"]').val());
     var truename = $.trim($('input[name="truename"]').val());
     var gid = $('select[name="gid"]').val();

     if(username==''){
        layer.alert('请输入用户名',{'icon':2});
        return;
     }
     if(isNaN(id) && pwd==''){
        layer.alert('请输入密码',{'icon':2});
        return;
     }
     if(truename==''){
        layer.alert('请输入真实姓名',{'icon':2});
        return;
     }

     $.post('/index.php/admins/admin/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.运行效果

QQ图片20190609164253.png

最新手记推荐

• 用composer安装thinkphp框架的步骤 • 省市区接口说明 • 用thinkphp,后台新增栏目 • 管理员添加编辑删除 • 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消 回复 发送
  • PHP中文网