isAjax()){ //分页参数 $length = input('rows',10,'intval'); //每页条数 $page = input('page',1,'intval'); //第几页 $start = ($page - 1) * $length; //分页开始位置 //排序 $sortRow = input('sidx','id','trim'); //排序列 $sort = input('sord','desc','trim'); //排序方式 $order = $sortRow.' '.$sort; $map[] = ['del','=',0]; $map[] = ['pid','=',$pid]; //数据查询 $lists = db('app_icon')->where($map)->limit($start,$length)->order(['sort'=>'desc','id'=>'desc'])->select(); foreach ($lists as $k=>$v){ if($v['pid']){ $lists[$k]['ptitle'] = db('app_icon')->where('id',$v['pid'])->value('name'); }else{ $lists[$k]['ptitle'] = '无'; } } //数据返回 $totalCount = db('app_icon')->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('app_icon')->where('id',$pid)->value('name').']子模块列表'; }else{ $ptitle = '模块列表'; } $this->assign('meta_title',$ptitle); $this->assign('pid',$pid); $this->assign('pid',$pid); return $this->fetch(); } } /** * 新增/编辑 */ public function add($id=0,$pid=0){ if(request()->isPost()){ $res = model('AppIcon')->updates(); if($res){ $this->success('操作成功',url('index',['pid' => $pid])); }else{ $this->error(model('AppIcon')->getError()); } }else{ $title = '添加'; if($id){ $title = '编辑'; $info = db('app_icon')->where('id',$id)->find(); $this->assign('info',$info); } $this->assign('pid',$pid); $this->assign('title',$title); return $this->fetch(); } } /** * 删除记录 * @param int $id */ public function del($id=0){ if(!$id){ $this->error('参数错误'); } $info = db('app_icon')->where('pid',$id)->where('del',0)->find(); if($info){ $this->error('有下级分类不能删除'); } $res = db('app_icon')->where('id',$id)->setField('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('AppIcon')->where('id',$id)->setField($fn,$fv); if($res){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } public function batchSort(){ $data = input('data','','trim'); if(!$data){ $this->error('参数错误'); } $data = json_decode($data,true); if(!$data){ $this->error('参数错误'); } Db::startTrans(); try{ foreach ($data as $k=>$v){ Db::name('app_icon')->where('id',$v['id'])->setField('sort',$v['sort']); } Db::commit(); }catch (Exception $e){ Db::rollback(); $this->error('操作失败'); } $this->success('操作成功'); } }