diff --git a/admin/src/app/api/sys.ts b/admin/src/app/api/sys.ts index 71867e9e..16e1a4b2 100644 --- a/admin/src/app/api/sys.ts +++ b/admin/src/app/api/sys.ts @@ -796,3 +796,16 @@ export function setDocument(params: Record) { export function getScsjtj(params: Record) { return request.post('sys/scsjtj', params) } + +export function person_all() { + return request.get('sys/person_all') +} + + +export function role_all() { + return request.get('sys/role_all') +} + +export function departments_all() { + return request.get('sys/departments_all') +} diff --git a/admin/src/app/views/school_approval/config/index.vue b/admin/src/app/views/school_approval/config/index.vue index 8cb1d743..ddea7afa 100644 --- a/admin/src/app/views/school_approval/config/index.vue +++ b/admin/src/app/views/school_approval/config/index.vue @@ -1,638 +1,615 @@ \ No newline at end of file + .node-item { + background-color: #f9f9f9; + transition: all 0.3s; + + &:hover { + background-color: #f2f2f2; + } + } + + .ghost { + opacity: 0.5; + background: #c8ebfb; + } + + .drag-handle { + cursor: move; + color: #909399; + + &:hover { + color: #409eff; + } + } + \ No newline at end of file diff --git a/niucloud/app/adminapi/controller/sys/System.php b/niucloud/app/adminapi/controller/sys/System.php index cba758ee..84a7c71f 100644 --- a/niucloud/app/adminapi/controller/sys/System.php +++ b/niucloud/app/adminapi/controller/sys/System.php @@ -169,4 +169,19 @@ class System extends BaseAdminController } + //全部人员 + public function person_all(){ + return success(data: (new SystemService())->person_all()); + } + + public function role_all(){ + return success(data: (new SystemService())->role_all()); + } + + public function departments_all(){ + return success(data: (new SystemService())->departments_all()); + } + + + } diff --git a/niucloud/app/adminapi/route/sys.php b/niucloud/app/adminapi/route/sys.php index 67af2a40..caf37ca9 100644 --- a/niucloud/app/adminapi/route/sys.php +++ b/niucloud/app/adminapi/route/sys.php @@ -351,6 +351,11 @@ Route::group('sys', function() { //系统环境(不效验登录状态) Route::group('sys', function() { + Route::get('person_all', 'sys.System/person_all'); + Route::get('role_all', 'sys.System/role_all'); + Route::get('departments_all', 'sys.System/departments_all'); + + Route::get('web/website', 'sys.Config/getWebsite'); // 获取版权信息 Route::get('web/copyright', 'sys.Config/getCopyright'); diff --git a/niucloud/app/service/admin/auth/AuthService.php b/niucloud/app/service/admin/auth/AuthService.php index c2b014d8..a5dc5ca7 100644 --- a/niucloud/app/service/admin/auth/AuthService.php +++ b/niucloud/app/service/admin/auth/AuthService.php @@ -48,7 +48,10 @@ class AuthService extends BaseAdminService if (!in_array($rule, $method_menu_list)) return true; + $auth_role_list = $this->getAuthApiList(); + + if (!empty($auth_role_list[ $method ]) && in_array($rule, $auth_role_list[ $method ])) return true; @@ -72,7 +75,14 @@ class AuthService extends BaseAdminService //获取站点信息 return ( new MenuService() )->getAllApiList(1); } else { - $user_role_ids = $user_info[ 'role_ids' ]; + + $per = new Personnel(); + $CampusPersonRole = new CampusPersonRole(); + $per_id = $per->where(['sys_user_id' => $this->uid])->column('id'); + + $user_role_ids = $CampusPersonRole->where(['person_id' => $per_id])->column('role_id'); + +// $user_role_ids = $user_info[ 'role_ids' ]; $role_service = new RoleService(); $menu_keys = $role_service->getMenuKeysByRoleIds($user_role_ids ?? []); return $menu_service->getApiListByMenuKeys($menu_keys); diff --git a/niucloud/app/service/admin/sys/SystemService.php b/niucloud/app/service/admin/sys/SystemService.php index ddb410a9..c6bf5d5c 100644 --- a/niucloud/app/service/admin/sys/SystemService.php +++ b/niucloud/app/service/admin/sys/SystemService.php @@ -17,10 +17,12 @@ use app\model\campus\Campus; use app\model\campus_person_role\CampusPersonRole; use app\model\communication_records\CommunicationRecords; use app\model\customer_resources\CustomerResources; +use app\model\departments\Departments; use app\model\market_performance\MarketPerformance; use app\model\personnel\Personnel; use app\model\student\Student; use app\model\sys\SysConfig; +use app\model\sys\SysRole; use app\service\core\sys\CoreSysConfigService; use core\base\BaseAdminService; use think\facade\Db; @@ -342,4 +344,20 @@ class SystemService extends BaseAdminService } return $data; } + + public function person_all(){ + $Personnel = new Personnel(); + return $Personnel->select()->toArray(); + } + + public function role_all(){ + $sysRole = new SysRole(); + return $sysRole->select()->toArray(); + } + + public function departments_all(){ + $departments = new Departments(); + return $departments->select()->toArray(); + } + } diff --git a/niucloud/app/service/school_approval/SchoolApprovalConfigService.php b/niucloud/app/service/school_approval/SchoolApprovalConfigService.php index 9a3cb1e9..031db09d 100644 --- a/niucloud/app/service/school_approval/SchoolApprovalConfigService.php +++ b/niucloud/app/service/school_approval/SchoolApprovalConfigService.php @@ -26,7 +26,7 @@ class SchoolApprovalConfigService { $field = 'id, config_name, description, status, creator_id, created_at, updated_at'; $order = 'id desc'; - + $list = (new SchoolApprovalConfig()) ->where($where) ->field($field) @@ -34,15 +34,15 @@ class SchoolApprovalConfigService ->page($page, $limit) ->select() ->toArray(); - + $count = (new SchoolApprovalConfig())->where($where)->count(); - + return [ 'list' => $list, 'count' => $count ]; } - + /** * 获取审批流配置详情 * @param int $id @@ -51,13 +51,14 @@ class SchoolApprovalConfigService public function getInfo(int $id): array { $info = (new SchoolApprovalConfig())->with(['nodes'])->where(['id' => $id])->find(); + + if (empty($info)) { return []; } - return $info->toArray(); } - + /** * 添加审批流配置 * @param array $data @@ -74,9 +75,9 @@ class SchoolApprovalConfigService 'status' => $data['status'] ?? 1, 'creator_id' => $data['creator_id'] ]; - + $config_id = (new SchoolApprovalConfig())->insertGetId($config); - + // 添加节点 if (!empty($data['nodes'])) { $nodes = []; @@ -90,10 +91,10 @@ class SchoolApprovalConfigService 'sequence' => $sequence + 1 ]; } - + (new SchoolApprovalConfigNode())->insertAll($nodes); } - + Db::commit(); return $config_id; } catch (\Exception $e) { @@ -101,7 +102,7 @@ class SchoolApprovalConfigService throw new Exception($e->getMessage()); } } - + /** * 编辑审批流配置 * @param array $data @@ -117,12 +118,12 @@ class SchoolApprovalConfigService 'description' => $data['description'] ?? '', 'status' => $data['status'] ?? 1 ]; - + (new SchoolApprovalConfig())->where(['id' => $data['id']])->update($config); - + // 先删除原有节点 (new SchoolApprovalConfigNode())->where(['config_id' => $data['id']])->delete(); - + // 添加新节点 if (!empty($data['nodes'])) { $nodes = []; @@ -136,10 +137,10 @@ class SchoolApprovalConfigService 'sequence' => $sequence + 1 ]; } - + (new SchoolApprovalConfigNode())->insertAll($nodes); } - + Db::commit(); return true; } catch (\Exception $e) { @@ -147,7 +148,7 @@ class SchoolApprovalConfigService throw new Exception($e->getMessage()); } } - + /** * 删除审批流配置 * @param int $id @@ -160,10 +161,10 @@ class SchoolApprovalConfigService try { // 删除配置 (new SchoolApprovalConfig())->where(['id' => $id])->delete(); - + // 删除节点 (new SchoolApprovalConfigNode())->where(['config_id' => $id])->delete(); - + Db::commit(); return true; } catch (\Exception $e) { @@ -171,7 +172,7 @@ class SchoolApprovalConfigService throw new Exception($e->getMessage()); } } - + /** * 修改状态 * @param int $id @@ -182,4 +183,4 @@ class SchoolApprovalConfigService { return (new SchoolApprovalConfig())->where(['id' => $id])->update(['status' => $status]) !== false; } -} \ No newline at end of file +}