|
@@ -1058,11 +1058,13 @@ class EmployeeService extends Service
|
|
|
if($res['is_admin'] != Employee::IS_ADMIN) return [false,'该账号不能登录!'];
|
|
|
if($res['state'] == Employee::NOT_USE) return [false,'账号停用!'];
|
|
|
|
|
|
+ //总社分社信息
|
|
|
$return = EmployeeService::getLoginDepart($res['id']);
|
|
|
$is_main = $return[4] ?? 0;
|
|
|
$depart_top = $return[1] ?? [];
|
|
|
$depart_top_title = $depart_top[0]['title'] ?? "";
|
|
|
$depart_top_id = $depart_top[0]['depart_id'] ?? 0;
|
|
|
+
|
|
|
return [true, ['id'=>$res['id'], 'name'=>$res['emp_name'], 'is_main' => $is_main, 'top_depart_id' => $depart_top_id,'top_depart_title' => $depart_top_title]];
|
|
|
}
|
|
|
|
|
@@ -1087,7 +1089,7 @@ class EmployeeService extends Service
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function getPersonRole($employee_id){
|
|
|
- if(empty($employee_id)) return [];
|
|
|
+ if(empty($employee_id) || $employee_id == Employee::SPECIAL_ADMIN) return [];
|
|
|
$role = EmployeeRole::where('del_time',0)
|
|
|
->where('employee_id',$employee_id)
|
|
|
->select('role_id')
|
|
@@ -1101,54 +1103,20 @@ class EmployeeService extends Service
|
|
|
return $role_id;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取登录账号的角色的菜单
|
|
|
- * @param $role_id
|
|
|
- * @param $user
|
|
|
- * @return array
|
|
|
- */
|
|
|
- public function getMenuByRole($role_id,$user){
|
|
|
+ //通过角色获取菜单
|
|
|
+ public function getMenuByRoleInList($role_id,$user){
|
|
|
$menu = SysMenu::where('del_time',0)->select('id')->get()->toArray();
|
|
|
- $button = SysMenuButton::where('del_time',0)->select('id','menu_id')->get()->toArray();
|
|
|
- $button_map = [];
|
|
|
- foreach ($button as $value){
|
|
|
- $button_map[$value['menu_id']][] = $value['id'];
|
|
|
- }
|
|
|
- $object = [];//返回的模型
|
|
|
- if($user['id'] == Employee::SPECIAL_ADMIN){
|
|
|
- //超级管理员
|
|
|
- foreach ($menu as $value){
|
|
|
- $object[] = [
|
|
|
- 'type' => 0,//所有权限
|
|
|
- 'menu_id' => $value['id'],
|
|
|
- 'button' => $button_map[$value['id']] ?? [],
|
|
|
- ];
|
|
|
- }
|
|
|
- return $object;
|
|
|
- }
|
|
|
+
|
|
|
+ if($user['id'] == Employee::SPECIAL_ADMIN) return array_column($menu,'id');
|
|
|
|
|
|
//没绑定角色
|
|
|
if(empty($role_id)) return [];
|
|
|
|
|
|
- $search = RoleMenu::whereIn('role_id',$role_id)
|
|
|
+ $role_menu = RoleMenu::whereIn('role_id',$role_id)
|
|
|
->where('del_time',0)
|
|
|
- ->select('menu_id','type')
|
|
|
+ ->select('menu_id')
|
|
|
->get()->toArray();
|
|
|
- $button = $this->fillRoleButton($role_id);
|
|
|
- $tmp = [];
|
|
|
- foreach ($search as $value){
|
|
|
- if(! in_array($value['menu_id'],$tmp)){
|
|
|
- $object[] = [
|
|
|
- 'menu_id' => $value['menu_id'],
|
|
|
- 'type' => $value['type'],
|
|
|
- 'button' => $button[$value['menu_id']] ?? [],
|
|
|
- ];
|
|
|
- $tmp[] = $value['menu_id'];
|
|
|
- }
|
|
|
- }
|
|
|
- unset($tmp);
|
|
|
-
|
|
|
- return $object;
|
|
|
+ return array_column($role_menu,'menu_id');
|
|
|
}
|
|
|
|
|
|
/**
|