控制器代码:
<?php namespace app\admins\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() { return $this->fetch(); } public function save() { $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(['code'=>1,'msg'=>'用户名不能为空'])); } if(!$data['gid']){ exit(json_encode(['code'=>1,'msg'=>'角色不能为空'])); } if(!$data['truename']){ exit(json_encode(['code'=>1,'msg'=>'姓名不能为空'])); } if(!$password){ exit(json_encode(['code'=>1,'msg'=>'密码不能为空'])); } $data['password'] = md5($data['username'].$password); $item = $this->db->table('admins')->where(['username'=>$data['username']])->item(); if($item){ exit(json_encode(['code'=>1,'msg'=>'用户名已存在'])); } $data['add_time'] = time(); $this->db->table('admins')->insert($data); exit(json_encode(['code'=>0,'msg'=>'保存成功'])); } public function edit() { $id = input('get.id'); $admin = $this->db->table('admins')->where(['id'=>$id])->item(); $this->view->admin = $admin; return $this->fetch(); } public function doedit() { $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(['code'=>1,'msg'=>'用户名不能为空'])); } if(!$data['gid']){ exit(json_encode(['code'=>1,'msg'=>'角色不能为空'])); } if(!$data['truename']){ exit(json_encode(['code'=>1,'msg'=>'姓名不能为空'])); } if($password){ $data['password'] = md5($data['username'].$password); } $data['add_time'] = time(); $this->db->table('admins')->where(['username'=>$data['username']])->update($data); exit(json_encode(['code'=>0,'msg'=>'修改成功'])); } public function del() { $id = (int)input('post.id'); $res = $this->db->table('admins')->where(['id'=>$id])->delete(); if(!$res){ exit(json_encode(['code'=>1,'msg'=>'删除失败'])); }else{ exit(json_encode(['code'=>0,'msg'=>'删除成功'])); } } }
管理员列表模板代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="/static/plugins/layui/css/layui.css"> <script src="/static/plugins/layui/layui.js"></script> <style> .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; } </style> </head> <body style="padding: 10px;"> <div> <span>管理员列表</span> <button class="layui-btn layui-btn-sm" onclick="add()">添加</button> <div></div> </div> <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>{$vo.add_time|date="Y-m-d H:i:s"}</td> <td> <button class="layui-btn layui-btn-xs" onclick="edit({$vo.id})">编辑</button> <button class="layui-btn layui-btn-danger layui-btn-xs" onclick="del({$vo.id})">删除</button> </td> </tr> {/volist} </tbody> </table> </body> <script> layui.use('layer',function(){ var layer = layui.layer; $ = layui.jquery; }); //添加 function add(){ layer.open({ type:2, title:'添加管理员', shade:0.3, area:['480px','420px'], content:'/index.php/admins/admin/add' }); } //编辑 function edit(id){ layer.open({ type:2, title:'编辑管理员', shade:0.3, area:['480px','420px'], content:'/index.php/admins/admin/edit?id='+id }); } //删除 function del(id) { layer.confirm('确认要删除吗?',{ icon:3, btn:['确定','取消'] },function(){ $.post('/index.php/admins/admin/del',{'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> </html>
添加模板代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="/static/plugins/layui/css/layui.css"> <script src="/static/plugins/layui/layui.js"></script> </head> <body style="padding: 10px;"> <form> <div> <label>用户名</label> <div> <input type="text" name="username"> </div> </div> <div> <label>角色</label> <div> <select name="gid" id=""> <option value="1">系统管理员</option> <option value="2">开发人员</option> </select> </div> </div> <div> <label>密码</label> <div> <input type="password" name="password"> </div> </div> <div> <label>姓名</label> <div> <input type="text" name="truename"> </div> </div> <div> <label>状态</label> <div> <input type="checkbox" name="status" lay-skin="primary" title="禁用" value="1"> </div> </div> </form> <div> <div> <button onclick="save()">保存</button> </div> </div> </body> </html> <script> layui.use(['layer','form'],function(){ layer = layui.layer; form = layui.form; $ = layui.jquery; }); function save(){ var username = $.trim($('input[name="username"]').val()); var password = $.trim($('input[name="password"]').val()); var truename = $.trim($('input[name="truename"]').val()); var status = $.trim($('input[name="status"]').val()); var gid = $('select[name="gid"]').val(); if(username==''){ layer.alert('请输入用户名',{'icon':2}); return; } if(password==''){ layer.alert('请输入密码',{'icon':2}); return; } if(truename==''){ layer.alert('请输入真实姓名',{'icon':2}); } $.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>
编辑模板代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="/static/plugins/layui/css/layui.css"> <script src="/static/plugins/layui/layui.js"></script> </head> <body style="padding: 10px;"> <form> <div> <label>用户名</label> <div> <input type="text" name="username" value="{$admin.username}"> </div> </div> <div> <label>角色</label> <div> <select name="gid" id=""> <option value="1">系统管理员</option> <option value="2">开发人员</option> </select> </div> </div> <div> <label>密码</label> <div> <input type="password" name="password"> </div> </div> <div> <label>姓名</label> <div> <input type="text" name="truename" value="{$admin.truename}"> </div> </div> <div> <label>状态</label> <div> <input type="checkbox" name="status" lay-skin="primary" title="禁用" value="1"> </div> </div> </form> <div> <div> <button onclick="doedit()">修改</button> </div> </div> </body> </html> <script> layui.use(['layer','form'],function(){ layer = layui.layer; form = layui.form; $ = layui.jquery; }); function doedit(){ var username = $.trim($('input[name="username"]').val()); var password = $.trim($('input[name="password"]').val()); var truename = $.trim($('input[name="truename"]').val()); var status = $.trim($('input[name="status"]').val()); var gid = $('select[name="gid"]').val(); if(username==''){ layer.alert('请输入用户名',{'icon':2}); return; } if(truename==''){ layer.alert('请输入真实姓名',{'icon':2}); } $.post('/index.php/admins/admin/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'); } </script>