|
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use App\Models\Manager\Menu as MenuModel;
|
|
use App\Models\Manager\Menu as MenuModel;
|
|
|
|
|
+use App\Models\Manager\Personnel\Employee as EmployeeModel;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 角色权限规则模型
|
|
* 角色权限规则模型
|
|
@@ -55,7 +56,7 @@ class RolesAuthRule extends Model
|
|
|
{
|
|
{
|
|
|
$MenuModel = new MenuModel();
|
|
$MenuModel = new MenuModel();
|
|
|
$menu_ids = explode(',', $data['menu_ids']);
|
|
$menu_ids = explode(',', $data['menu_ids']);
|
|
|
- $urls_data = $MenuModel->whereIn('id', $menu_ids)->select(['id','url'])->get()->keyBy('id')->toArray();
|
|
|
|
|
|
|
+ $urls_data = $MenuModel->whereIn('id', $menu_ids)->select(['id', 'url'])->get()->keyBy('id')->toArray();
|
|
|
$menu_id_log = $this->where(['role_id' => $data['role_id']])->select(['menu_id'])->get()->toArray();
|
|
$menu_id_log = $this->where(['role_id' => $data['role_id']])->select(['menu_id'])->get()->toArray();
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
try {
|
|
try {
|
|
@@ -82,7 +83,8 @@ class RolesAuthRule extends Model
|
|
|
// 成功处理...
|
|
// 成功处理...
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
- print_r($e->getMessage());exit;
|
|
|
|
|
|
|
+ print_r($e->getMessage());
|
|
|
|
|
+ exit;
|
|
|
// 错误处理...
|
|
// 错误处理...
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
@@ -176,16 +178,17 @@ class RolesAuthRule extends Model
|
|
|
* @param integer $uid 用户id
|
|
* @param integer $uid 用户id
|
|
|
* @param integer $type
|
|
* @param integer $type
|
|
|
*/
|
|
*/
|
|
|
- public function getAuthList($uid,$module='manager')
|
|
|
|
|
|
|
+ public function getAuthList($uid, $module = 'manager')
|
|
|
{
|
|
{
|
|
|
- if( is_super($uid,$module) ){
|
|
|
|
|
- $rules = (new MenuModel)->getList($module,true);
|
|
|
|
|
- $rules = array_column($rules,'url');
|
|
|
|
|
- }else{
|
|
|
|
|
- $rules = $this
|
|
|
|
|
- ->join('personnel_employee','personnel_employee.role_id','=','personnel_roles_auth_rule.role_id')
|
|
|
|
|
- ->where([['personnel_employee.id','=',$uid]])
|
|
|
|
|
- ->pluck('personnel_roles_auth_rule.url')->toArray();
|
|
|
|
|
|
|
+ if (is_super($uid, $module)) {
|
|
|
|
|
+ $rules = (new MenuModel)->getList($module, true);
|
|
|
|
|
+ $rules = array_column($rules, 'url');
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 获取用户角色
|
|
|
|
|
+ $EmployeeModel = new EmployeeModel();
|
|
|
|
|
+ $role_ids = $EmployeeModel->where([['id', '=', $uid]])->value('role_id');
|
|
|
|
|
+ if (!$role_ids) return [];
|
|
|
|
|
+ $rules = $this->where([['roles_id', '=', $role_ids]])->pluck('url')->toArray();
|
|
|
}
|
|
}
|
|
|
// 循环转大写
|
|
// 循环转大写
|
|
|
foreach ($rules as $key => $rule) {
|
|
foreach ($rules as $key => $rule) {
|