table='convey_cron'; $this->model= new \app\common\model\ConveyCron(); } private $weeks = ['周日','周一','周二','周三','周四','周五','周六']; public function index(){ if(request()->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; $title = input('title','','trim'); if($title){ $map[] = ['title','like','%'.$title.'%']; } $enable = input('enable','','trim'); if($enable != ''){ $map[] = ['enable','=',$enable]; } $map[] = ['del','=',0]; $map[] = ['org_id','=',$this->orgId]; $map= empty($map) ? true: $map; //数据查询 $lists = Db::name($this->table)->where($map) ->limit($start,$length) ->order([$sortRow=>$sort,'id'=>'desc']) ->select(); foreach ($lists as $k=>$v){ $lists[$k]['dep_title'] = Db::name('dep')->where('id',$v['dep_id'])->value("title"); $userIds = empty($v['to_user_ids'])?[]:explode(",",$v['to_user_ids']); $lists[$k]['unames'] = ""; if($userIds){ $names = Db::name('user')->where('id','in',$userIds)->column('real_name'); $lists[$k]['unames'] = $names?implode(',',$names):''; } $lists[$k]['type_title'] = Db::name('convey_cate')->where('id',$v['type'])->value("title"); $lists[$k]['device_title'] = ""; if($v['device_id']){ $lists[$k]['device_title'] = Db::name('convey_device')->where('id',$v['device_id'])->value("title"); } $lists[$k]['week_day'] = isset($this->weeks[$v['week']])? $this->weeks[$v['week']]:""; $lists[$k]['start_title'] = Db::name('address')->where('id',$v['start'])->value("title"); $lists[$k]['end_title'] = Db::name('address')->where('id',$v['end'])->value("title"); } //数据返回 $totalCount = Db::name($this->table)->where($map)->count(); $totalPage = ceil($totalCount/$length); $result['page'] = $page; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $lists; return json($result); }else{ return $this->fetch(); } } /** * 新增/编辑 */ public function add($id=0){ if(request()->isPost()){ $res = $this->model->updates(); if($res){ $this->success('操作成功',url('index')); }else{ $this->error($this->model->getError()); } }else{ if($id){ $info =db($this->table)->where('id',$id)->find(); $this->assign('info',$info); } $depList = (new \app\common\model\Dep())->getList(); $this->assign('dep_list', $depList); $address = (new \app\common\model\Address())->getListByType(2); $conveyCate = (new \app\common\model\ConveyCate()); $priority = $conveyCate->priority; $order_convey = $conveyCate->getList(); $order_device = (new \app\common\model\ConveyDevice())->getList(); $this->assign('address', $address); $this->assign('priority', $priority); $this->assign('order_convey_type', $order_convey); $this->assign('order_device', $order_device); $this->assign('user_list', (new \app\common\model\WorkTypeMode())->getRolesUserByNum(3, $this->orgId,-1)); return $this->fetch(); } } public function getAddr(){ $id = input('id/d',0); $info = Db::name('convey_cate') ->where('id',$id) ->find(); if(!empty($info['starts'])){ $st = explode(',',$info['starts']); $s = (new \app\common\model\Address())->getListByTypes($st,2); }else{ $s = (new \app\common\model\Address())->getListByType(2); } if(!empty($info['ends'])){ $ent = explode(',',$info['ends']); $en = (new \app\common\model\Address())->getListByTypes($ent,2); }else{ $en = (new \app\common\model\Address())->getListByType(2); } $a = [ 's'=>$s, 'e'=>$en, ]; $this->success('','',$a); } /** * 删除记录 * @param int $id */ public function del($id=0){ if(!$id){ $this->error('参数错误'); } $res = db($this->table)->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($this->table)->where('id',$id)->setField($fn,$fv); if($res){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } public function plan(){ $res = model("ConveyCron")->plan($this->orgId); 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('convey_device')->where('id',$v['id'])->setField('sort',$v['sort']); } Db::commit(); }catch (Exception $e){ Db::rollback(); $this->error('操作失败'); } $this->success('操作成功'); } }