post(); $adminOrgUserModel = new AdminOrgUser(); $adminOrgUserModel->updateById([ 'role_id' => $param['role_id'] ], $param['id']); // 更新角色 $AdminUser = new AdminUser(); $AdminUser->updateById(['role_id' => $param['role_id']], $param['user_id']); return sparkSuccess(dataReturn(0, '编辑成功')); } /* * @Title: 删除用户 * @Description: TODO */ public function delUser() { $param = request()->get(); $adminOrgUserModel = new AdminOrgUser(); $adminOrgUserModel->delById($param['id']); return sparkSuccess(dataReturn(0, 'ok')); } /* * @Title: 获取当前组织用户 * @Description: 获取当前组织用户 */ public function getOrgUser() { $param = request()->get(); $orgId = $param['org_id']; $adminOrgUserModel = new AdminOrgUser(); $orgUser = $adminOrgUserModel->select('admin_org_user_role.*', 'admin_user.name', 'admin_user.nickname', 'admin_role.name as role_name') ->where('admin_org_user_role.org_id', '=', $orgId) ->leftJoin('admin_user', 'admin_org_user_role.user_id', '=', 'admin_user.id') ->leftJoin('admin_role', 'admin_org_user_role.role_id', '=', 'admin_role.id') ->paginate(10); return sparkSuccess(dataReturn(0, 'ok', $orgUser)); } /* * @Title: 获取角色列表 * @Description: 获取角色列表 */ public function getRole() { $adminRoleModel = new AdminRole(); $where[] = ['status', '=', 1]; $where[] = ['id', '>', 1]; return sparkSuccess(dataReturn(0, 'ok', $adminRoleModel->getAllList($where, ['*'], ["sort" => "desc"]))); } /* * @Title: 获取用户 * @Description: 获取用户 */ public function getUser() { $adminUserModel = new AdminUser(); $where[] = ['status', '=', 1]; $where[] = ['id', '>', 1]; return sparkSuccess(dataReturn(0, 'ok', $adminUserModel->getAllList($where))); } /* * @Title: 添加用户至组织 * @Description: 添加用户至组织 */ public function addUser() { $param = request()->post(); $adminOrgUserModel = new AdminOrgUser(); $where[] = ['user_id', '=', $param['user_id']]; $where[] = ['org_id', '=', $param['org_id']]; $has = $adminOrgUserModel->checkUnique($where); if (!empty($has)) { throw new ApiException('该用户已经存在', -1); } $insertId = $adminOrgUserModel->insertOne($param); // 更新角色 $AdminUser = new AdminUser(); $AdminUser->updateById(['role_id' => $param['role_id']], $param['user_id']); return sparkSuccess(dataReturn(0, '添加成功')); } /* * @Title: 组织查询以及视图跳转 * @Description: 组织查询以及视图跳转 */ public function index() { if (request()->isAjax()) { $param = request()->all(); $where = []; if (!empty($param['name'])) { $where[] = ['name', 'like', '%' . $param['name'] . '%']; } if (!empty($param['deptcode'])) { $where[] = ['deptcode', 'like', '%' . $param['deptcode'] . '%']; } if (empty($where)) { $where[] = ['pid', '=', 0]; } $list = (new AdminOrg) ->where($where) ->orderBy('sort', 'desc') ->get() ->toArray(); foreach ($list as $key => $item) { $list[$key]['hasChildren'] = true; } return sparkSuccess(dataReturn(0, 'success', $list)); } return view('basicdata/org/index'); } /* * @Title: 组织子节点 * @Description: 组织子节点 */ public function getChildren() { $param = request()->get(); $adminOrgModel = new AdminOrg(); $where[] = ['pid', '=', $param['id']]; $list = $adminOrgModel->getAllList( $where, ["*"], ["sort" => "desc"] ); $listAll = $adminOrgModel->getAllList([], ["*"], ["id" => "asc"]); foreach ($list as $key => $item) { $childrenIds = get_children_id($listAll, $item['id']); if (!empty($childrenIds)) { $list[$key]['hasChildren'] = true; } } return sparkSuccess(dataReturn(0, 'success', $list)); } /* * @Title: 添加组织 * @Description: TODO */ public function add() { if (request()->isAjaxPost()) { $param = request()->post(); $orgService = new OrgService(); $res = $orgService->addOrg($param); return sparkSuccess($res); } View::assign([ 'pid' => request()->input('pid', 0), 'pName' => request()->input('pname', ''), ]); return view("basicdata/org/add"); } /* * @Title: 编辑组织 * @Description: TODO */ public function edit() { if (request()->isAjaxPost()) { $param = request()->post(); // $orgCurrent = (new AdminOrg)->getInfoById($param['id']); // if (now() > $orgCurrent['history_data_deadline']) { // return sparkSuccess(dataReturn(-1, '当前组织不可编辑')); // } $orgService = new OrgService(); $res = $orgService->editOrg($param); return sparkSuccess($res); } $pid = request()->input('pid'); $id = request()->input('id'); $adminOrgModel = new AdminOrg(); $org = $adminOrgModel->get()->toArray(); if (!empty($id) && !empty($pid)) { $current_org = $adminOrgModel->where('id', '=', $id)->first(); if (strcmp($current_org['org_type'], 'type_weigh') == 0 && $current_org['level'] == 4) { $subOrg = $adminOrgModel->select('id', 'name', 'org_type')->where(['pid' => $pid, 'level' => 4, ['org_type', '!=', 'type_weigh']])->get()->toArray(); } } if (0 == $pid) { $pName = '顶级分类'; } else { $pName = $adminOrgModel->getInfoById($pid)['name']; } $info = $adminOrgModel->getInfoByWhere([ 'id' => $id ]); $task_allocation_user_name = $this->getUserName($info['task_allocation_user_id']); View::assign([ 'info' => json_encode($info), 'pid' => $pid, 'pName' => $pName, 'subOrg' => empty($subOrg) ? 'null' : json_encode($subOrg), 'org' => json_encode(makeTree($org)), 'task_allocation_user_name' => $task_allocation_user_name ]); return view("basicdata/org/edit"); } public function getCurrentConcrete() { $param = request()->post(); $pid = request()->input('pid'); $adminOrgModel = new AdminOrg(); $subOrg = $adminOrgModel->select('id', 'name', 'org_type')->where(['pid' => $pid, 'level' => 4, ['org_type', '!=', 'type_weigh']])->get()->toArray(); return sparkSuccess($subOrg); } /** * 删除 */ public function del() { $param = request()->get(); $AdminOrg = new AdminOrg(); // 删除所有下级 $list = $AdminOrg->get()->toArray(); $childrenIds = get_children_id($list, $param['id']); $AdminOrg->delById($param['id']); $AdminOrg->delByIds($childrenIds); return sparkSuccess(dataReturn(0, '删除成功', $list)); } /* * @Title: 查看组织详情 * @Description: TODO */ public function detail() { $param = request()->all(); $adminOrgOrginalModel = new AdminOrgOriginal(); $detail = $adminOrgOrginalModel->where('id', $param['id'])->first(); //var_dump($detail); return view("basicdata/org/detail", [ 'detail' => $detail ]); } public function getAllUser() { $param = request()->get(); $where = []; if (isset($param['nickname']) && !empty($param['nickname'])) { $where[] = ['nickname', 'like', '%' . $param['nickname'] . '%']; } #项目部筛选 // if (isset($param['org_id']) && !empty($param['org_id'])) { // $where[] = ['admin_org_user_role.org_id', '=', $param['org_id']]; // } $adminUserModel = new AdminUser(); $list = $adminUserModel ->select( 'admin_user.avatar', 'admin_user.nickname', 'admin_user.name', 'admin_user.mobile', 'admin_user.role_id', 'admin_user.id' ) // ->join('admin_org_user_role', 'admin_user.id', '=', 'admin_org_user_role.user_id') ->where($where) ->orderBy('admin_user.id', 'asc') ->get() ->toArray(); return sparkSuccess(dataReturn(0, 'success', $list)); } public function getUserName($id) { $adminUserModel = new AdminUser(); $data = $adminUserModel ->select( 'admin_user.nickname', ) ->where([['id', '=', $id]]) ->first(); return $data['nickname']; } }