where('id',$this->userId) ->find(); $this->assign('userInfo',$userInfo); // 判断用户是否是调度 $isDispatch = 0; if(check_is_dispatch($this->userId) || check_two_dispatch($this->userId)){ $isDispatch = 1; } $this->assign('isDispatch',$isDispatch); $order = 0; // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $order = -1; }else{ // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['o.work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $order = 0; }else{ $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } } } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; $this->assign('orderNums',$endCount); //今日看板 $dayOrderNums1 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',1) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderNums2 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',4) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderNums3 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',5) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderNums4 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',6) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderNums5 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',2) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderNums6 = Db::name('orders') ->where('org_id',$this->orgId) ->where('del',0) ->where('order_mode',3) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->count(); $dayOrderCount =[ 'count1'=> $dayOrderNums1, 'count2'=> $dayOrderNums2, 'count3'=> $dayOrderNums3, 'count4'=> $dayOrderNums4, 'count5'=> $dayOrderNums5, 'count6'=> $dayOrderNums6, ]; $this->assign('dayOrderCount',$dayOrderCount); $notice = Db::name('notice') ->where('org_id',$this->orgId) ->where('del',0) ->where('user_id',$this->userId) ->field('id,title,create_time,content') ->order('id desc') ->limit(2) ->select(); $this->assign('notice',$notice); //常用模块 $module = Db::name('user_menu')->where('user_id',$this->userId)->order('count desc')->select(); $id = 500; $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $this->assign('menus',$menus); $submenus = []; foreach ($menus as $k=>$v){ if($v['id'] == $id){ $submenus = $v['child']; break; } } $lists11 = []; foreach ($submenus as $k=>$v){ // if(!$v['url']){ // $v['url'] = url('Index/submenu',['id'=>$v['id'],'t'=>1]); // } $lists11[] = $v; } $this->assign('submenus',$submenus); $limit = 6; $modules = []; foreach ($module as $k=>$v){ foreach ($lists11 as $kk=>$vv){ if(count($modules) == $limit){ continue; } if($vv['id'] == $v['menu_id']){ $v['title'] = $vv['title']; $v['url'] = $vv['url']; $v['img'] = $vv['img']; $v['des'] = $vv['des']; $modules[] = $v; break; } } } $this->assign('module',$modules); $userEndMenu = $submenus; $threeMenu = model('Menu')->getMenuTree1($this->rolesId,$this->orgId,''); $this->assign('userEndMenu',$userEndMenu); $authMenuIds = array_column($threeMenu,'id'); //固定模块 $fixedModule = Db::name('menu') ->where('id',500) ->where('del',0) ->find(); $fixedModule1 = Db::name('menu') ->where('id',1) ->where('del',0) ->find(); $fixedModule2 = Db::name('menu') ->where('id',144) ->where('del',0) ->find(); $fixedModule3 = Db::name('menu') ->where('id',163) ->where('del',0) ->find(); $fixedModule4 = Db::name('menu') ->where('id',28) ->where('del',0) ->find(); $fixedModuleAuth = $fixedModuleAuth1 = $fixedModuleAuth2 = $fixedModuleAuth3 = $fixedModuleAuth4 = 0 ; if(in_array($fixedModule['id'],$authMenuIds)){ $fixedModuleAuth = 1 ; } if(in_array($fixedModule1['id'],$authMenuIds)){ $fixedModuleAuth1 = 1 ; } if(in_array($fixedModule2['id'],$authMenuIds)){ $fixedModuleAuth2 = 1 ; } if(in_array($fixedModule3['id'],$authMenuIds)){ $fixedModuleAuth3 = 1 ; } if(in_array($fixedModule4['id'],$authMenuIds)){ $fixedModuleAuth4 = 1 ; } $this->assign('fixedModule',$fixedModule); $this->assign('fixedModule1',$fixedModule1); $this->assign('fixedModule2',$fixedModule2); $this->assign('fixedModule3',$fixedModule3); $this->assign('fixedModule4',$fixedModule4); $this->assign('fixedModuleAuth',$fixedModuleAuth); $this->assign('fixedModuleAuth1',$fixedModuleAuth1); $this->assign('fixedModuleAuth2',$fixedModuleAuth2); $this->assign('fixedModuleAuth3',$fixedModuleAuth3); $this->assign('fixedModuleAuth4',$fixedModuleAuth4); // APP下载二维码 $download = think_encrypt(url('h5/Index/download','',true,true)); $this->assign('download',$download); // 小程序二维码 $wxcode = Db::name('org')->where('id',$this->orgId)->value('wxqrcode'); $this->assign('wxcode',$wxcode); // 陪护h5 $phcode = think_encrypt(config('app.ph_url').'?orgId='.$this->orgId); $this->assign('phcode',$phcode); // 点餐h5 $shopcode = think_encrypt(config('app.shop_url').'?orgId='.$this->orgId); $this->assign('shopcode',$shopcode); // 商城h5 $xshopcode = think_encrypt(config('app.xshop_url').'?orgId='.$this->orgId); $this->assign('xshopcode',$xshopcode); return $this->fetch(); } public function ocount(){ $order = 0; // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $order = -1; }else{ // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $order = 0; }else{ $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; } $this->success('成功','',['count'=>$endCount]); } public function def(){ $id = 500; $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $submenus = []; foreach ($menus as $k=>$v){ if($v['id'] == $id){ $submenus = $v['child']; break; } } $lists = []; foreach ($submenus as $k=>$v){ if(!$v['url']){ // $v['url'] = url('Index/indexsub',['id'=>$v['id'],'t'=>1]); } $lists[] = $v; } $this->assign('lists',$lists); // 获取常用模块 $cys = Db::name('user_menu') ->where('user_id',$this->userId) ->order('count desc,id asc') ->select(); $cys = $cys?$cys:[]; $ncys = []; foreach ($cys as $k=>$v){ foreach ($lists as $kk=>$vv){ if(count($ncys) == 5){ continue; } if($vv['id'] == $v['menu_id']){ $v['title'] = $vv['title']; $v['url'] = $vv['url']; $v['img'] = $vv['img']; $v['des'] = $vv['des']; $ncys[] = $v; break; } } } $this->assign('cys',$ncys); // 自定义模块 $usermenus = Db::name('user_menu_group')->where('user_id',$this->userId)->order('sort asc,id asc')->select(); $usermenus = $usermenus?$usermenus:[]; $groupMenuList = $usermenus; $allmenus = []; foreach ($usermenus as $k=>$v){ $menus = []; if($v['menus']){ $menuids = explode(',',$v['menus']); $allmenus = array_merge($allmenus,$menuids); foreach ($lists as $kk=>$vv){ if(in_array($vv['id'],$menuids)){ $menus[] = $vv; } } } $usermenus[$k]['menus'] = $menus; } $menus = []; foreach ($lists as $kk=>$vv){ if(!$allmenus || !in_array($vv['id'],$allmenus)){ $menus[] = $vv; } } $usermenus[] = [ 'id' => 0, 'title' => '综合模块', 'menus' => $menus ]; $arr[] = [ 'id'=>0, 'title'=>'综合模块', ]; $this->assign('usermenusgroup',array_merge($arr,$groupMenuList)); $this->assign('usermenus',$usermenus); $menuInfo = Db::name('menu')->where('id',$id)->find(); $menuTitle = $menuInfo['title']; $menuTitle1 = $menuTitle2 = ''; // if($menuInfo){ // $menuInfo1 = Db::name('menu')->where('pid',$menuInfo['id'])->find(); // if($menuInfo1){ // $menuTitle1 = $menuInfo1['title']; // $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->find(); // if($menuInfo2){ // $menuTitle2 = $menuInfo2['title']; // } // } // } $this->assign('menuTitle',$menuTitle); $this->assign('menuTitle1',$menuTitle1); $this->assign('menuTitle2',$menuTitle2); return $this->fetch(); } public function todo(){ $mode = input('mode',1); $todoList = Db::name('todo') ->where('org_id',$this->orgId) ->where('del',0) ->where('work_type_mode',$mode) ->limit(11) ->order('id desc') ->select(); foreach ($todoList as $k=>$v){ $todoList[$k]['work_type_mode_text'] = Db::name('work_type_mode')->where('id',$v['work_type_mode'])->value('name'); $todoList[$k]['to_user_name'] = Db::name('user')->where('id',$v['to_user_id'])->value('real_name'); $todoList[$k]['user_name'] = Db::name('user')->where('id',$v['create_user_id'])->value('real_name'); $todoList[$k]['content'] = Db::name('orders')->where('id',$v['order_id'])->value('content'); $todomode = Db::name('todo_mode')->where('id',$v['todo_mode'])->find(); $todoList[$k]['todo_mode_text'] = $todomode?$todomode['in_content']:''; $todoList[$k]['todo_mode_color'] = $todomode?$todomode['color']:''; } //数据返回 $totalCount = count($todoList); $totalPage = 1; $result['page'] = 1; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $todoList; return json($result); } public function attendanceCount1(){ $group = Db::name('attendance_group') ->where('del',0) ->where('org_id',$this->orgId) ->select(); $groupsId = []; $groupsId2 = []; $week = date('w'); foreach ($group as $k=>$v){ $content = json_decode($v['content'],true); if($v['type'] == 1){ foreach ($content['week'] as $kk=>$vv){ if($vv['week'] == $week && $vv['class_id'] > 0){ $groupsId[] = $v['id']; } } } if($v['type'] == 2){ $groupClass = Db::name('attendance_group_class') ->where('group_id',$v['id']) ->where('org_id',$this->orgId) ->where('day',date('Y-m-d')) ->find(); if($groupClass){ $groupsId2[] = $v['id']; } } } $endGroupIds = array_unique(array_merge($groupsId,$groupsId2)); $userCount = Db::name('attendance_group_user') ->where('org_id',$this->orgId) ->whereIn('group_id',$endGroupIds) ->count(); $userIds = Db::name('attendance_group_user') ->where('org_id',$this->orgId) ->whereIn('group_id',$endGroupIds) ->column('user_id'); $attendanceNums = 0; foreach ($userIds as $k=>$v){ $attendanceRecord = Db::name('attendance_record') ->where('user_id',$v) ->where('org_id',$this->orgId) // ->where('status',1) ->where('create_time','>=',date('Y-m-d').' 00:00:00') ->where('create_time','<=',date('Y-m-d').' 23:59:59') ->select(); $flag = 0; if($attendanceRecord){ foreach ($attendanceRecord as $kk=>$vv){ if($vv['status'] == 1){ }else{ $flag = 1; } } if($flag == 0){ $attendanceNums +=1; } } } $attendanceNums3 = $userCount-$attendanceNums; $attendanceCount1 = [ 'count1' => $userCount, //总人数 'count2' => $attendanceNums, //在职人数 'count3' => $attendanceNums3>0?$attendanceNums3:0, //缺勤人数 'bl' => $userCount>0?round($attendanceNums/$userCount,2)*100:0, 'bl2' => $userCount>0?round($attendanceNums3/$userCount,2)*100:0, ]; $this->success('','',$attendanceCount1); } public function changeOrg(){ if(request()->isAjax()){ $id = input('id/d'); $info = Db::name('org')->where('id',$id)->find(); if($info['type'] != 2){ $this->error('管理机构不能切换'); } session('orgId',$info['id']); session('orgName',$info['name']); $this->success('切换成功'); }else{ $tree = model('Org')->getTreeByRoles($this->rolesId,$this->userId); $this->assign('tree',$tree); return $this->fetch(); } } public function order(){ // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $this->error('不是调度'); } $order = 0; // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['o.work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $this->error('无订单'); } $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; if(!empty($endCount)){ $this->success('','',$endCount); }else{ $this->error('无订单'); } } public function ordersList() { $orderType = input('orderType',1); $mode = input('mode', 0); $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $turnoff = two_dispatch_off($this->orgId); 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; if($orderType == 1){ $content = input('content', '', 'trim'); if ($content) { $map[] = ['content', 'like', '%' . $content . '%']; } $dep_id = input('dep_id', '', 'trim'); if ($dep_id != '') { $map[] = ['dep_id', '=', $dep_id]; } $order_mode = input('order_mode', 1); $map6 = []; if ($order_mode != '') { if($level1 && $turnoff && $mode != 15){ // 一级调度且二级调度开关开着,品质整改例外 if ($order_mode == 1) { $map[] = ['is_deal', '=', 0]; }else if ($order_mode == 4) { $map6[] = ['is_deal', '=', 1]; } } if($order_mode==100){//已挂起 $gq = Db::name('todo') ->where('work_type_mode',1) ->where('todo_mode',2) ->where('pause',1) ->column('order_id'); if(empty($gq)){ $map[] = ['id', '=', -1]; }else{ $map[] = ['id', 'in', $gq]; } }else{ $map[] = ['order_mode', '=', $order_mode]; } } $b = input('start', '', 'trim'); $e = input('end', '', 'trim'); if ($b) { $b = date('Ymd', strtotime($b)); $map[] = ['create_yyyymmdd', '>=', $b]; } if ($e) { $e = date('Ymd', strtotime($e)); $map[] = ['create_yyyymmdd', '<=', $e]; } $map[] = ['del', '=', 0]; $map[] = ['org_id', '=', $this->orgId]; if($mode==-1){ $map[] = ['source_type', '=', 4]; } $type = input('type', '', 'trim'); $oids = []; if ($type != '') { $map1[] = ['parent_id', '=', $type]; $type_id = Db::name('order_type') ->where($map1) ->where('org_id', $this->orgId) ->where('enable', 1) ->column('id'); if (!empty($type_id)) { $map3[] = ['type_id', 'in', $type_id]; $ids = Db::name('order_repair') ->where($map3) ->column('order_id'); if (!empty($ids)) { $oids = $ids; } else { $oids = []; } } else { $oids = []; } } if($level2 && $turnoff){ // 二级调度 $roles_id = Db::name('user_roles') ->where('user_id', $this->userId) ->value('roles_id'); $ids = Db::name('dispatch_log') ->where('roles_id', $roles_id) ->whereOr('to_user_id', $this->userId) ->column('order_id'); if (empty($ids)) { $map[] = ['id', '=', -1]; } else { if($type != ''){ $oids = array_intersect($oids,$ids); if($oids){ $map[] = ['id', 'in', $oids]; }else{ $map[] = ['id', '=', -1]; } }else{ $map[] = ['id', 'in', $ids]; } } }else{ if($type != ''){ if($oids){ $map[] = ['id', 'in', $oids]; }else{ $map[] = ['id', '=', 0]; } } } if($mode == 15){ // 品质检查,单独处理 $map[] = ['work_type_mode','=',$mode]; }else{ $work_type_mode = input('work_type_mode','','trim'); if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; if($mode > 0){ $map[] = ['work_type_mode', '=', $mode]; }else{ if($work_type_mode!=''){ $map[] = ['work_type_mode','=',$work_type_mode]; } } }else{ $map[] = ['work_type_mode', '=', -1]; } }else{ if($mode > 0){ $map[] = ['work_type_mode', '=', $mode]; }else{ if($work_type_mode!=''){ $map[] = ['work_type_mode','=',$work_type_mode]; } } } } $map = empty($map) ? true : $map; //数据查询 $lists = db('orders')->where($map) ->whereOr($map6) ->limit($start, $length)->order($order)->select(); foreach ($lists as $k => $v) { $lists[$k] = model('orders')->formatOrder($v); if ($turnoff && $level1 && $v['order_mode'] == 1 && $v['is_deal'] == 1) { $lists[$k]['order_mode_text'] = '已派发'; } $lists[$k]['bh_nums'] = Db::name('todo')->where('order_id',$v['id'])->where('del',0)->where('todo_mode',4)->count(); $gq = Db::name('todo') ->where('order_id',$v['id']) ->where('work_type_mode',1) ->where('todo_mode',2) ->where('pause',1) ->find(); $lists[$k]['gq'] = $gq?'存在挂起':''; } //数据返回 $totalCount = db('orders')->where($map)->count(); }elseif($orderType == 2){ $map[] = ['del','=',0]; $map[] = ['org_id','=',$this->orgId]; $hour = (new Config())->getConfig('org_complain_hour',$this->orgId); $hour = $hour>0?$hour:0; $endTime = date('Y-m-d H:i:s',time() - $hour*60*60); $type = input('type/d',0); if($hour > 0 && $type == 1){ $map[] = ['create_time','<',$endTime]; $map[] = ['status','=',0]; } $from = input('from', '', 'trim'); if ($from!='') { $map[] = ['from','=',$from]; } $map[] = ['status','=',0]; $map[] = ['order_id','=',0]; $map= empty($map) ? true: $map; //数据查询 $lists = db('complain')->where($map) ->limit($start,$length)->order($order)->select(); foreach ($lists as $k=>$v){ $lists[$k]['depName'] = Db::name('dep') ->where('id',$v['dep_id']) ->value('title'); // $lists[$k]['fromName'] = model('Complain')->from[$v['from']]; $lists[$k]['fromName'] = ''; if($v['order_id'] > 0 && $v['bus_type'] != 0){ if($v['to_from']){ $lists[$k]['fromName'] = '一键呼叫'; }else{ $lists[$k]['fromName'] = '隐患'; } } $lists[$k]['worktypemode'] = ''; if($v['order_id'] > 0 && in_array($v['bus_type'],[0,1])){ $worktype = Db::name('orders') ->alias('o') ->join('work_type_mode w','o.work_type_mode = w.id') ->where('o.id',$v['order_id']) ->value('w.name'); $lists[$k]['worktypemode'] = $worktype?$worktype:''; } if($v['hide'] == 1){ $lists[$k]['realName'] = '匿名'; }else{ $lists[$k]['realName'] = Db::name('user') ->where('id',$v['create_user_id']) ->value('real_name'); } $orderMode = 0; if($v['order_id'] > 0){ $orderMode = Db::name('orders')->where('id',$v['order_id'])->value('order_mode'); } $lists[$k]['statusTxt'] = model('Complain')->formatStatus($v['status'],$v['order_id'],$v['id']); $lists[$k]['order_mode'] = $orderMode; if($v['create_time'] < $endTime && $v['status']==0){ $lists[$k]['statusTxt'] = $lists[$k]['statusTxt'].'(已超时)'; } } //数据返回 $totalCount = db('complain')->where($map)->count(); }elseif ($orderType == 3){ $map[] = ['del','=',0]; $map[] = ['org_id','=',$this->orgId]; $map[] = ['status','=',0]; $map[] = ['order_id','=',0]; $from = input('from', '', 'trim'); if ($from!='') { $map[] = ['from','=',$from]; } $map= empty($map) ? true: $map; //数据查询 $lists = db('hiddendanger')->where($map) ->limit($start,$length)->order($order)->select(); foreach ($lists as $k=>$v){ $lists[$k]['depName'] = Db::name('dep') ->where('id',$v['dep_id']) ->value('title'); // $lists[$k]['fromName'] = model('Hiddendanger')->from[$v['from']]; $lists[$k]['fromName'] = ''; if($v['order_id'] > 0 && $v['bus_type'] != 0){ if($v['to_from']){ $lists[$k]['fromName'] = '一键呼叫'; }else{ $lists[$k]['fromName'] = '投诉'; } } $lists[$k]['worktypemode'] = ''; if($v['order_id'] > 0 && in_array($v['bus_type'],[0,1])){ $worktype = Db::name('orders') ->alias('o') ->join('work_type_mode w','o.work_type_mode = w.id') ->where('o.id',$v['order_id']) ->value('w.name'); $lists[$k]['worktypemode'] = $worktype?$worktype:''; } $lists[$k]['realName'] = Db::name('user') ->where('id',$v['create_user_id']) ->value('real_name'); // $lists[$k]['statusTxt'] = $v['status']==1?'已处理':"未处理"; $orderMode = 0; if($v['order_id'] > 0){ $orderMode = Db::name('orders')->where('id',$v['order_id'])->value('order_mode'); } $lists[$k]['statusTxt'] = model('Hiddendanger')->formatStatus($v['status'],$v['order_id'],$v['id']); $lists[$k]['order_mode'] = $orderMode; } //数据返回 $totalCount = db('hiddendanger')->where($map)->count(); }elseif($orderType == 4){ $order_mode = input('order_mode', 4); $map6 = []; if ($order_mode != '') { if($level1 && $turnoff && $mode != 15){ // 一级调度且二级调度开关开着,品质整改例外 if ($order_mode == 1) { $map[] = ['is_deal', '=', 0]; }else if ($order_mode == 4) { $map6[] = ['is_deal', '=', 1]; } } if($order_mode==100){//已挂起 $gq = Db::name('todo') ->where('work_type_mode',1) ->where('todo_mode',2) ->where('pause',1) ->column('order_id'); if(empty($gq)){ $map[] = ['id', '=', -1]; }else{ $map[] = ['id', 'in', $gq]; } }else{ $map[] = ['order_mode', '=', $order_mode]; } } $map[] = ['del', '=', 0]; $map[] = ['org_id', '=', $this->orgId]; if($mode==-1){ $map[] = ['source_type', '=', 4]; } $type = input('type', '', 'trim'); $oids = []; if ($type != '') { $map1[] = ['parent_id', '=', $type]; $type_id = Db::name('order_type') ->where($map1) ->where('org_id', $this->orgId) ->where('enable', 1) ->column('id'); if (!empty($type_id)) { $map3[] = ['type_id', 'in', $type_id]; $ids = Db::name('order_repair') ->where($map3) ->column('order_id'); if (!empty($ids)) { $oids = $ids; } else { $oids = []; } } else { $oids = []; } } if($level2 && $turnoff){ // 二级调度 $roles_id = Db::name('user_roles') ->where('user_id', $this->userId) ->value('roles_id'); $ids = Db::name('dispatch_log') ->where('roles_id', $roles_id) ->whereOr('to_user_id', $this->userId) ->column('order_id'); if (empty($ids)) { $map[] = ['id', '=', -1]; } else { if($type != ''){ $oids = array_intersect($oids,$ids); if($oids){ $map[] = ['id', 'in', $oids]; }else{ $map[] = ['id', '=', -1]; } }else{ $map[] = ['id', 'in', $ids]; } } }else{ if($type != ''){ if($oids){ $map[] = ['id', 'in', $oids]; }else{ $map[] = ['id', '=', 0]; } } } if($mode == 15){ // 品质检查,单独处理 $map[] = ['work_type_mode','=',$mode]; }else{ $work_type_mode = input('work_type_mode','','trim'); if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; if($mode > 0){ $map[] = ['work_type_mode', '=', $mode]; }else{ if($work_type_mode!=''){ $map[] = ['work_type_mode','=',$work_type_mode]; } } }else{ $map[] = ['work_type_mode', '=', -1]; } }else{ if($mode > 0){ $map[] = ['work_type_mode', '=', $mode]; }else{ if($work_type_mode!=''){ $map[] = ['work_type_mode','=',$work_type_mode]; } } } } $orderIds = Db::name('todo') ->where('todo_mode',4) ->where('org_id',$this->orgId) ->where('del',0) ->group('order_id') ->column('order_id'); $map[] = ['id','in',$orderIds]; $map = empty($map) ? true : $map; //数据查询 $lists = db('orders') ->where($map) // ->whereOr($map6) ->limit($start, $length) ->order($order) ->select(); foreach ($lists as $k => $v) { $lists[$k] = model('orders')->formatOrder($v); if ($turnoff && $level1 && $v['order_mode'] == 1 && $v['is_deal'] == 1) { $lists[$k]['order_mode_text'] = '已派发'; } $lists[$k]['bh_nums'] = Db::name('todo')->where('order_id',$v['id'])->where('del',0)->where('todo_mode',4)->count(); $gq = Db::name('todo') ->where('order_id',$v['id']) ->where('work_type_mode',1) ->where('todo_mode',2) ->where('pause',1) ->find(); $lists[$k]['gq'] = $gq?'存在挂起':''; } //数据返回 $totalCount = db('orders')->where($map)->count(); }elseif ($orderType == 5){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['patrol_mode','=',1]; $map[] = ['status','=',0]; $lists = Db::name('patrol_task_apply')->where($map) ->limit($start,$length)->order($order)->select(); foreach ($lists as $k=>$v){ $taskTitle = Db::name('patrol_task')->where('id',$v['task_id'])->value('title'); $lists[$k]['task_title'] = $taskTitle?$taskTitle:''; $lists[$k]['uname'] = Db::name('user')->where('id',$v['user_id'])->value('real_name'); $lists[$k]['deal_user'] = ''; if($v['deal_user_id'] > 0){ $lists[$k]['deal_user'] = Db::name('user')->where('id',$v['deal_user_id'])->value('real_name'); } } $totalCount = Db::name('patrol_task_apply')->where($map)->count(); } $totalPage = ceil($totalCount / $length); $result['page'] = $page; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $lists; return json($result); } else { if($mode >0){ $mode_name = $this->getTableField('work_type_mode', ['id' => $mode], 'name'); }else{ $mode_name = ''; } $auths = [1,2,3,4,15,0]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $auths = array_intersect($auths,$auth); if($mode > 0){ $auths = array_intersect($auths,[$mode]); } }else{ $auths = []; } } $this->assign('auths',$auths); $dep_list = (new \app\common\model\Dep())->getList(); $order_type = (new \app\common\model\OrderType())->list(); $order_mode = Db::name('order_mode') ->select(); $this->assign('dep_list', $dep_list); $this->assign('order_type_list', $order_type); $this->assign('m_name', $mode_name); $this->assign('mode', $mode); $this->assign('order_mode_list', $order_mode); $this->assign('dispatch_type', check_two_dispatch($this->userId)); $this->assign('orderType',$orderType); return $this->fetch('index/orders'); } } //调度查看订单详情 public function ordersDetail2($id) { if (!$id) { $this->error('参数错误'); } $type = input('type/d',0); $this->assign('type', $type); $order = Db::name('orders')->where(['id' => $id])->find(); $order = model('Orders')->formatOrder($order, 1); $order['images'] = !empty($order['images']) ? explode(',', $order['images']) : ''; $this->assign('info', $order); $workTypeName = $this->getTableField('work_type_mode', ['id' => $order['work_type_mode']], 'name'); $this->assign('meta_title', $workTypeName . '订单详情'); $level2 = check_two_dispatch($this->userId); $level1 = check_is_dispatch($this->userId); $turnoff = two_dispatch_off($this->orgId); $this->assign('level1', $level1); $this->assign('level2', $level2); $this->assign('turnoff', $turnoff); $this->assign('dispatch_type', $level2); return $this->fetch(); } public function searchMenu(){ $menuName = input('menu_name'); if($menuName){ $map[] = ['title','like','%'.$menuName.'%']; } $map[] = ['del','=',0]; $map[] = ['enable','=',1]; $map[] = ['pid','=',500]; $list = Db::name('menu')->where($map)->select(); foreach ($list as $k=>$v){ $list[$k]['url'] = url('index/indexsub1',['curmenu'=>500,'menuId'=>$v['id'],'ct'=>1]); } $this->success('','',$list); } public function indexsub(){ $curmenu = input('curmenu',500); $menuId = input('menuId',0); $this->assign('curmenu',$curmenu); $this->assign('menuId',$menuId); $curmenuId = input('curmenuId',0); $this->assign('curmenuId',$curmenuId); $menuInfo = Db::name('menu')->where('id',$curmenu)->find(); $menuTitle = $menuInfo['title']; $menuTitle1 = $menuTitle2 = ''; if($curmenu != 500){ $menuInfo1 = Db::name('menu')->where('pid',$menuInfo['id'])->find(); if($menuInfo1){ $menuTitle1 = $menuInfo1['title']; $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->where('del',0)->where('enable',1)->where('is_btn',0)->order(['sort'=>'asc','id'=>'asc'])->find(); if($menuInfo2){ $menuTitle2 = $menuInfo2['title']; } } if($menuId > 0){ $menuInfo1 = Db::name('menu')->where('id',$menuId)->find(); if($menuInfo1){ $menuTitle1 = $menuInfo1['title']; $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->where('is_btn',0)->where('del',0)->where('enable',1)->order(['sort'=>'asc','id'=>'asc'])->find(); if($menuInfo2){ $menuTitle2 = $menuInfo2['title']; } } } } $this->assign('menuTitle',$menuTitle); $this->assign('menuTitle1',$menuTitle1); $this->assign('menuTitle2',$menuTitle2); $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $this->assign('menus',$menus); $userInfo = Db::name('user') ->where('id',$this->userId) ->find(); $this->assign('userInfo',$userInfo); // 判断用户是否是调度 $isDispatch = 0; if(check_is_dispatch($this->userId) || check_two_dispatch($this->userId)){ $isDispatch = 1; } $this->assign('isDispatch',$isDispatch); $order = 0; // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $order = -1; }else{ // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['o.work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $order = 0; }else{ $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } } } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; $this->assign('orderNums',$endCount); return $this->fetch(); } public function indexsub1(){ $curmenu = input('curmenu',500); $menuId = input('menuId',0); $ct = input('ct',0); $this->assign('curmenu',$curmenu); $this->assign('menuId',$menuId); $this->assign('ct',$ct); $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $this->assign('menus',$menus); $userInfo = Db::name('user') ->where('id',$this->userId) ->find(); $this->assign('userInfo',$userInfo); $menuInfo = Db::name('menu')->where('id',$curmenu)->find(); $menuTitle = $menuInfo['title']; $menuTitle1 = $menuTitle2 = ''; if($curmenu == 500){ $menuInfo1 = Db::name('menu')->where('id',$menuId)->find(); if($menuInfo1){ $menuTitle1 = $menuInfo1['title']; $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->where('del',0)->where('enable',1)->where('is_btn',0)->order(['sort'=>'asc','id'=>'asc'])->find(); if($menuInfo2){ $menuTitle2 = $menuInfo2['title']; } } } $this->assign('menuTitle',$menuTitle); $this->assign('menuTitle1',$menuTitle1); $this->assign('menuTitle2',$menuTitle2); // 判断用户是否是调度 $isDispatch = 0; if(check_is_dispatch($this->userId) || check_two_dispatch($this->userId)){ $isDispatch = 1; } $this->assign('isDispatch',$isDispatch); $order = 0; // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $order = -1; }else{ // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['o.work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $order = 0; }else{ $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } } } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; $this->assign('orderNums',$endCount); $id = 500; $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $submenus = []; foreach ($menus as $k=>$v){ if($v['id'] == $id){ $submenus = $v['child']; break; } } $this->assign('submenus',$submenus); return $this->fetch(); } public function menugroup($id = 0){ if(request()->isPost()){ $res = model('UserMenuGroup')->updates($this->userId); if($res){ $this->success('操作成功'); }else{ $this->error(model('UserMenuGroup')->getError()); } }else{ if($id){ $info = db('user_menu_group')->where('id',$id)->find(); if($info){ $info['menus'] = $info['menus']?explode(',',$info['menus']):[]; } $this->assign('info',$info); } $id = 500; $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $submenus = []; foreach ($menus as $k=>$v){ if($v['id'] == $id){ $submenus = $v['child']; break; } } $this->assign('submenus',$submenus); return $this->fetch(); } } public function menugroupdel(){ $id = input('id',0); $ret = Db::name('user_menu_group')->where('id',$id)->where('user_id',$this->userId)->delete(); if($ret){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } public function def2(){ $curmenu = input('curmenu',500); $this->assign('curmenu',$curmenu); $menuId = input('menuId',0); $this->assign('menuId',$menuId); $menuInfo = Db::name('menu')->where('id',$curmenu)->find(); $menuTitle = $menuInfo['title']; $menuTitle1 = $menuTitle2 = ''; if($curmenu == 500){ $menuInfo1 = Db::name('menu')->where('pid',$menuInfo['id'])->find(); if($menuInfo1){ $menuTitle1 = $menuInfo1['title']; $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->where('is_btn',0)->order(['sort'=>'asc','id'=>'asc'])->find(); if($menuInfo2){ $menuTitle2 = $menuInfo2['title']; } } if($menuId > 0){ $menuInfo1 = Db::name('menu')->where('id',$menuId)->find(); if($menuInfo1){ $menuTitle1 = $menuInfo1['title']; $menuInfo2 = Db::name('menu')->where('pid',$menuInfo1['id'])->where('is_btn',0)->where('del',0)->where('enable',1)->order(['sort'=>'asc','id'=>'asc'])->find(); if($menuInfo2){ $menuTitle2 = $menuInfo2['title']; } } } } $this->assign('menuTitle',$menuTitle); $this->assign('menuTitle1',$menuTitle1); $this->assign('menuTitle2',$menuTitle2); $menus = model('Menu')->getMenuTree($this->rolesId,$this->orgId); $this->assign('menus',$menus); $userInfo = Db::name('user') ->where('id',$this->userId) ->find(); $this->assign('userInfo',$userInfo); // 判断用户是否是调度 $isDispatch = 0; if(check_is_dispatch($this->userId) || check_two_dispatch($this->userId)){ $isDispatch = 1; } $this->assign('isDispatch',$isDispatch); $order = 0; // 判断用户是否是调度 $level1 = check_is_dispatch($this->userId); $level2 = check_two_dispatch($this->userId); $level2onoff = two_dispatch_off($this->orgId); if(!$level1 && !$level2){ $order = -1; }else{ // 一级调度 if($level1 || (!$level2onoff && $level2)){ $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map[] = ['order_mode','=',1]; if($level2onoff){ $map[] = ['is_deal','=',0]; } if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['work_type_mode', 'in', $auth]; $where[] = ['o.work_type_mode', 'in', $auth]; }else{ $map[] = ['work_type_mode', '=', -1]; $where[] = ['o.work_type_mode', '=', -1]; } } $order = Db::name('orders')->where($map)->count(); //$驳回的订单 $where[] = ['o.del','=',0]; $where[] = ['t.del','=',0]; $bh = Db::name('orders') ->alias('o') ->join('todo t','t.order_id=o.id') ->where('t.todo_mode',4) ->where('t.org_id',$this->orgId) ->where('o.order_mode',4) ->where('o.org_id',$this->orgId) ->where($where) ->group('o.id') ->count(); $order = $order + $bh; } else if($level2 && $level2onoff) { // 二级调度 $rolesId = Db::name('user_roles')->where('user_id',$this->userId)->value('roles_id'); if(!$rolesId){ $order = 0; }else{ $map[] = ['b.org_id','=',$this->orgId]; $map[] = ['b.del','=',0]; $map[] = ['b.order_mode','=',1]; $map[] = ['b.is_deal','=',1]; $map[] = ['a.roles_id','=',$rolesId]; if(!is_admin($this->userId)){ $auth = get_dispatch_auth($this->userId); if($auth){ $map[] = ['b.work_type_mode', 'in', $auth]; }else{ $map[] = ['b.work_type_mode', '=', -1]; } } $order = Db::name('dispatch_log') ->alias('a') ->join('orders b','b.id = a.order_id') ->where($map) ->field('a.*') ->count(); } } } $complainCount = Db::name('complain')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $hiddendangerCount = Db::name('hiddendanger')->where('del',0)->where('org_id',$this->orgId)->where('status',0)->where('order_id',0)->count(); $endCount = $order+$complainCount+$hiddendangerCount; $this->assign('orderNums',$endCount); return $this->fetch(); } public function umenu(){ $id = input('id/d',0); $info = Db::name('user_menu')->where('menu_id',$id)->where('user_id',$this->userId)->find(); if($info){ Db::name('user_menu')->where('id',$info['id'])->setInc('count',1); }else{ Db::name('user_menu')->insert([ 'user_id' => $this->userId, 'menu_id' => $id, 'count' => 1 ]); } $this->success('操作成功'); } }