isAjax()){ //分页参数 $length = input('rows',10,'intval'); //每页条数 $page = input('page',1,'intval'); //第几页 $start = ($page - 1) * $length; //分页开始位置 //排序 $sortRow = input('sidx','sort','trim'); //排序列 $sort = input('sord','asc','trim'); //排序方式 $order = $sortRow.' '.$sort; $map['pid'] = $pid; $map['del'] = 0; //数据查询 $lists = db('menu')->where($map)->limit($start,$length)->order($order)->select(); foreach ($lists as $k=>$v){ if($v['pid']){ $lists[$k]['ptitle'] = db('menu')->where('id',$v['pid'])->value('title'); }else{ $lists[$k]['ptitle'] = '无'; } } //数据返回 $totalCount = db('menu')->where($map)->count(); $totalPage = ceil($totalCount/$length); $result['page'] = $page; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $lists; return json($result); }else{ if($pid){ $ptitle = '['.db('menu')->where('id',$pid)->value('title').']子菜单列表'; $ppid = db('menu')->where('id',$pid)->value('pid'); }else{ $ptitle = '菜单列表'; $ppid = 0; } $this->assign('meta_title',$ptitle); $this->assign('pid',$pid); $this->assign('ppid',$ppid); return $this->fetch(); } } /** * 新增/编辑 */ public function add($id=0,$pid=0){ if(request()->isPost()){ $res = model('Menu')->updates(); if($res){ $this->success('操作成功',url('index',array('pid'=>$pid))); }else{ $this->error(model('Menu')->getError()); } }else{ $meta_title = '新增菜单'; if($id){ $info = db('menu')->where('id',$id)->find(); $this->assign('info',$info); $meta_title = '编辑菜单'; } $list = get_menu(); $this->assign('list',$list); $this->assign('pid',$pid); $this->assign('meta_title',$meta_title); return $this->fetch(); } } /** * 删除记录 * @param int $id */ public function del($id=0){ if(!$id){ $this->error('参数错误'); } $map['pid'] = $id; $map['del'] = 0; $subid = db('menu')->where($map)->value('id'); if($subid){ $this->error('有下级不能删除'); } $res = db('menu')->where('id',$id)->update(['del'=>1]); if($res){ $this->success('删除成功'); }else{ $this->error('删除失败'); } } /** * 改变字段值 * @param int $fv * @param string $fn * @param int $fv */ public function changeField($id=0,$fn='',$fv=0){ if(!$fn||!$id){ $this->error('参数错误'); } $res = db('menu')->where('id',$id)->setField($fn,$fv); if($res){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } /** * 排序 * @param int $id * @param int $sort */ public function changeSort($id=0,$sort=0){ if($id<0||$sort<0){ $this->error('参数错误'); } $res = db('menu')->where('id',$id)->setField('sort',$sort); if($res){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } }