去掉无用的参数

修改表单构建关联字段的逻辑
修改外部插件说明
This commit is contained in:
2021-03-01 03:02:47 +08:00
parent 2418516c49
commit eebbdf279e
63 changed files with 1273 additions and 1380 deletions
@@ -59,7 +59,7 @@ class DepartmentController extends DefaultController
}
$model->select($header['select'])
->addSelect(DB::raw('parent_id,(select count(id) from [user] where department_id = department.id) as user_count'));
->addSelect(DB::raw('(select count(id) from [user] where department_id = department.id) as user_count'));
$items = $model->get()->toNested('name');
$items = Grid::dataFilters($items, $header, function($item) {
+1 -1
View File
@@ -67,7 +67,7 @@ class UserController extends DefaultController
}
}
$header['select'][] = 'password_text';
$header['select'][] = 'user.password_text';
$model->select($header['select']);
$rows = $model->paginate($query['limit'])->appends($query);
+182 -1
View File
@@ -77,7 +77,7 @@ class UserService
return User::whereIn('department_id', $departments)->pluck('id')->toArray();
}
// 销售团队
// 销售
if ($level == 5) {
$regions = DB::table('customer_region')->get()->toNested();
// 审批权限
@@ -114,6 +114,187 @@ class UserService
return [];
}
/**
* 获取角色权限
*/
public static function getRolesAccess()
{
$user = auth()->user();
$query = [
'team_id' => 0,
'customer_id' => 0,
];
foreach ($query as $k => $v) {
$query[$k] = Request::get($k, $v);
}
$teams = DB::table('customer_region')->get()->toNested()->toArray();
$roles = DB::table('role')
->leftJoin('user_role', 'user_role.role_id', '=', 'role.id')
->where('user_role.user_id', $user['id'])
->get();
// 支持销售组
$isTeam = false;
$res = [];
// 自己
$res['userId'] = $user->id;
foreach($roles as $role) {
// 全部数据权限
if ($role['access'] == 'all') {
$isTeam = true;
continue;
}
if ($role['access'] == 'team' || $role['access'] == 'team2') {
$isTeam = true;
}
// 获取单个角色权限
$access = static::getRoleAccess($user, $role, $teams);
// 筛选了销售组重置过滤条件
if ($isTeam && $query['team_id'] > 0) {
$access['whereIn']['team'] = [$query['team_id']];
}
$res['roles'][] = $access;
}
if ($isTeam) {
$res['team'] = $teams;
}
// 没有筛选销售组
if ($query['team_id'] == 0) {
$query['customer_id'] = 0;
}
$res['query'] = $query;
print_r($res);
return $res;
}
/**
* 获取角色权限
*/
public static function getRoleAccess($user, $role, $teams)
{
$res = [];
$res['whereIn'] = [];
$res['authorise'] = false;
// 用户组
$group_id = $user['group_id'];
switch ($group_id) {
// 用户
case 1:
// 角色数据权限
switch ($role['access']) {
// 本人
case 'me':
$res['userIds'] = [$user->id];
$res['customerIds'] = [];
$res['teamIds'] = [];
$res['whereIn']['user'] = $res['userIds'];
$res['authorise'] = true;
break;
// 本人和下属
case 'me2':
$users = DB::table('user')->whereRaw('(id = '.$user->id.' or leader_id = '.$user->id.')')->pluck('id')->toArray();
$res['userIds'] = $users;
$res['customerIds'] = [];
$res['teamIds'] = [];
$res['whereIn']['user'] = $users;
$res['authorise'] = true;
break;
// 本部门
case 'dept':
$users = DB::table('user')->where('department_id', $user->department_id)->pluck('id')->toArray();
$res['userIds'] = $users;
$res['customerIds'] = [];
$res['teamIds'] = [];
$res['whereIn']['user'] = $users;
$res['authorise'] = true;
break;
// 本部门和下级部门
case 'dept2':
$departmentIds = DB::table('user')->treeById($user->department_id)->toArray();
$users = DB::table('user')->whereIn('department_id', $departmentIds)->pluck('id')->toArray();
$res['userIds'] = $users;
$res['customerIds'] = [];
$res['teamIds'] = [];
$res['whereIn']['user'] = $users;
$res['authorise'] = true;
break;
// 本销售组
case 'team':
// 审批权限,查询权限
$teamIds = DB::table('customer_region')
->whereRaw('(owner_user_id = '.$user->id.' or '.db_instr('owner_assist', $user->id).')')->pluck('id')->toArray();
$res['userIds'] = [];
$res['customerIds'] = [];
$res['teamIds'] = $teamIds;
$res['whereIn']['team'] = $teamIds;
$res['authorise'] = true;
break;
// 本销售组和下级销售组
case 'team2':
// 审批权限,查询权限
$_teamIds = DB::table('customer_region')
->whereRaw('(owner_user_id = '.$user->id.' or '.db_instr('owner_assist', $user->id).')')->pluck('id')->toArray();
$teamIds = [];
foreach($_teamIds as $_teamId) {
foreach($teams[$_teamId]['child'] as $id) {
$teamIds[] = $id;
}
}
$res['userIds'] = [];
$res['customerIds'] = [];
$res['teamIds'] = $teamIds;
$res['whereIn']['team'] = $teamIds;
$res['authorise'] = true;
break;
case 'all':
break;
}
// 客户
case 2:
$customerIds = DB::table('customer')->where('user_id', $user->id)->pluck('id')->toArray();
$res['userIds'] = [];
$res['customerIds'] = $customerIds;
$res['whereIn']['customer'] = $customerIds;
$res['teamIds'] = [];
$res['authorise'] = true;
break;
// 客户联系人
case 3:
$customerIds = DB::table('customer_contact')->where('user_id', $user->id)->pluck('customer_id')->toArray();
$res['userIds'] = [];
$res['customerIds'] = $customerIds;
$res['whereIn']['customer'] = $customerIds;
$res['teamIds'] = [];
$res['authorise'] = true;
break;
// 供应商
case 4:
break;
// 供应商联系人
case 5:
break;
}
return $res;
}
/**
* 检查动态密码
*/
+1 -1
View File
@@ -93,7 +93,7 @@ return [
"name" => "编辑"
],
"config" => [
"name" => "控制器权限"
"name" => "权限"
],
"delete" => [
"name" => "删除"
+1 -1
View File
@@ -106,7 +106,7 @@
<div class="panel-body">
@if(count($groupValue['actions']))
@foreach($groupValue['actions'] as $childKey => $childValue)
<div class="col-md-3 col-sm-6 wrapper-xs">
<div class="col-md-2 col-sm-4 wrapper-xs">
{{'';$selected = $assets[$menuKey][$groupKey.'.'.$childKey]}}
<label title="{{$childKey}}" class="checkbox-inline">
<input type="checkbox" class="action-check" name="assets[{{$menuKey}}][{{$groupKey}}.{{$childKey}}][action]" value="1" @if(isset($selected)) checked @endif>