添加 编辑 删除 功能

原创 2018-11-16 01:20:56 379
摘要:<!DOCTYPE html><html><head>    <title></title>    <link rel="stylesheet" type="text/css" href="/static/admin/layui/cs
<!DOCTYPE html>

<html>
<head>
   <title></title>
   <link rel="stylesheet" type="text/css" href="/static/admin/layui/css/layui.css">
   <script type="text/javascript" src="/static/admin/layui/layui.js"></script>
</head>
<body style="padding: 10px;">
<form class="layui-form">
   <input type="hidden" name="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="{:isset($res.username)?$res.username:''}">
       </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="{:isset($res.truename)?$res.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" {$res.status==1?'checked':''}>
       </div>
   </div>
</form>

<input type="hidden" id="id" value="{:isset($res.id)?$res.id:-1}">
<div class="layui-form-item">
   <div class="layui-input-block">
       <button class="layui-btn" id="save">保存</button>
   </div>
</div>
</body>
</html>

<script src="/static/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
   layui.use(['layer','form'],function(){
       var form = layui.form;
       layer = layui.layer;
        
   });



   //清空输入框内容
   function clear(){
       $("input[name='username']").val('');
       $("input[name='password']").val('');
       $("input[name='truename']").val('');
       $("input[type='checkbox']").removeAttr('checked');
   }


   $("#save").click(function(){
       //去掉前后空格转换成小写
       var username = $.trim($("input[name='username']").val());
       username = username.toLowerCase();
       var password = $.trim($("input[name='password']").val());
       password = password.toLowerCase();
       var truename = $.trim($("input[name='truename']").val());
       //获取角色id
       var gid = $('select[name="gid"]').val();
       //获取隐藏id  添加数据时id为-1
       var id = $('#id').val();

       //判断用户名是否为空
       if(username==''){
           alert('用户名不能为空');
           return false;
       }

       //判断密码是否为空  修改数据时不显示原密码  原密码可不修改
       //添加数据时密码不能为空
       if(id==-1&& password==''){
           alert('密码不能为空');
           return false;
       }

       if(truename==""){
           alert('真实姓名不能为空');
           return false;
       }

       $.post("{:url('save')}",{
           username:username,
           password:password,
           truename:truename,
           status:$("input[name='status']:checked").val(),
           gid:gid,
           //添加数据时id为-1
           id:id
       }, function(data){
           if(data.status>0){
               alert(data.msg);
                clear();
           }else{
               layer.msg(data.msg);
               setTimeout(function(){window.location.href="{:url('index')}"},1000);
           }
       });
   });

</script>


<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Admin as AdminModel;
use think\facade\Request;
use think\facade\Session;
//引入公共类
use app\admin\controller\Common;
class Admin extends Common
{
   //渲染管理员列表
   public function index(){
       $res = AdminModel::order('id','asc')->all();
       $this->assign('lists',$res);
       return $this->fetch();
   }

   //添加修改共用一个页面根据id判断
   public function create(){
       //有id值为修改页面 没有为添加页面
       $id = (int)Request::param('id');
       //添加不传id 为undefined int转换为0
       if($id!=0){
           //根据id查询对应数据 渲染修改页面
           $res = AdminModel::get($id);
           $this->assign('res',$res);
       }else{
           //添加数据时状态为0
           $res['status']=0;
           $this->assign('res',$res);
       }
       return $this->fetch();
   }

   //保存添加或修改的数据
   public function save(){
       $data = Request::param();
       //id小于0为添加数据  大于0为修改后更新的数据
       if($data['id']<0){
           $username = AdminModel::where('username',$data['username'])->find();
           $pwd = AdminModel::where('password',md5($data['password']))->find();
           //判断用户名是否存在
           if($username['username']==$data['username']){
               return ['status'=>1,'msg'=>'用户名存在'];
           }

           //判断密码是否存在
           if($pwd['password']==md5($data['password'])){
               return ['status'=>1,'msg'=>'密码重复'];
           }
           //将数据写入数据库
           $res = AdminModel::create([
               'username'=>$data['username'],
               'password'=>md5($data['password']),
               'truename'=>$data['truename'],
               'gid'=>$data['gid'],
               'add_time'=>time(),
               //未选中值为undefined
               'status'=>isset($data['status'])?$data['status']:0,
           ]);
       }else{


           $updateUsername = AdminModel::where('id','<>',$data['id'])->where('username',$data['username'])->find();


           $updatePwd = AdminModel::where('id','<>',$data['id'])->where('password',$data['password']==''?$data['password']:md5($data['password']))->find();

           //判断用户名是否存在
           if($updateUsername['username']==$data['username']){
               return ['status'=>1,'msg'=>'用户名存在'];
           }
           //判断密码是否存在 密码为空为原始密码不修改
           if($data['password']==''){
               $arr = [
                   'username'=>$data['username'],
                   'truename'=>$data['truename'],
                   'gid'=>$data['gid'],
                   'add_time'=>time(),
                   //未选中值为undefined
                   'status'=>isset($data['status'])?$data['status']:0,
               ];
           }else{
               if($updatePwd['password']==$data['password']){
                   return ['status'=>1,'msg'=>'密码存在'];
               }
               $arr = [
                   'username'=>$data['username'],
                   'password'=>md5($data['password']),
                   'truename'=>$data['truename'],
                   'gid'=>$data['gid'],
                   'add_time'=>time(),
                   //未选中值为undefined
                   'status'=>isset($data['status'])?$data['status']:0,
               ];
           }

           //更新数据库
           $res = AdminModel::where('id',$data['id'])->update($arr);
       }


       if($res){
           return ['status'=>0,'msg'=>'保存成功'];
       }else{
           return ['status'=>1,'msg'=>'保存失败'];
       }
   }

   public function delete(){
       $id = Request::param('id');
       //软删除
       $res = AdminModel::destroy($id);
       if($res){
           return ['status'=>0,'msg'=>'删除成功'];
       }else{
           return ['status'=>1,'msg'=>'删除失败'];
       }

   }


}



批改老师:韦小宝批改时间:2018-11-16 09:04:17
老师总结:下次的代码记得添加高亮!不然看的并不太清楚哦!代码内容写的还算可以!但是每块之间的关系并没有注明啊!!

发布手记

热门词条