update
This commit is contained in:
@@ -67,9 +67,22 @@ class Permission extends CatchController
|
||||
|
||||
// 如果是子分类 自动写入父类模块
|
||||
$parentId = $params['parent_id'] ?? 0;
|
||||
if ($parentId) {
|
||||
$parent = $this->permissions->findBy($parentId);
|
||||
$params['module'] = $parent->module;
|
||||
// 按钮类型寻找上级
|
||||
if ($params['type'] == Permissions::BTN_TYPE && $parentId) {
|
||||
$permissionMark = $params['permission_mark'];
|
||||
// 查找父级
|
||||
$parentPermission = $this->permissions->findBy($parentId);
|
||||
// 如果父级是顶级 parent_id = 0
|
||||
if ($parentPermission->parent_id) {
|
||||
if (Str::contains($parentPermission->permission_mark, '@')) {
|
||||
list($controller, $action) = explode('@', $parentPermission->permission_mark);
|
||||
$permissionMark = $controller . '@' . $permissionMark;
|
||||
} else {
|
||||
$permissionMark = $parentPermission->permission_mark .'@'. $permissionMark;
|
||||
}
|
||||
}
|
||||
$params['permission_mark'] = $permissionMark;
|
||||
$params['module'] = $parentPermission->module;
|
||||
}
|
||||
|
||||
return CatchResponse::success($this->permissions->storeBy($params));
|
||||
@@ -87,7 +100,7 @@ class Permission extends CatchController
|
||||
$permission = $this->permissions->findBy($id);
|
||||
|
||||
if ($permission->parent_id) {
|
||||
$parentPermission = $this->permissions->where('id', $permission->parent_id)->find();
|
||||
$parentPermission = $this->permissions->findBy($permission->parent_id);
|
||||
|
||||
$params = $request->param();
|
||||
$permissionMark = $params['permission_mark'];
|
||||
|
@@ -39,7 +39,7 @@ class PermissionSeed extends Seeder
|
||||
'status' => 1,
|
||||
'sort' => 100,
|
||||
'created_at' => 1587461455,
|
||||
'updated_at' => 1599116793,
|
||||
'updated_at' => 1599219097,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
@@ -88,6 +88,28 @@ class PermissionSeed extends Seeder
|
||||
'updated_at' => 1599030266,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 4,
|
||||
'permission_name' => '创建',
|
||||
'parent_id' => 2,
|
||||
'level' => '1-2',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'creator_id' => 1,
|
||||
'permission_mark' => 'user@create',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1587461696,
|
||||
'updated_at' => 1599030266,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 5,
|
||||
@@ -267,6 +289,28 @@ class PermissionSeed extends Seeder
|
||||
'updated_at' => 1599030223,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 13,
|
||||
'permission_name' => '创建',
|
||||
'parent_id' => 11,
|
||||
'level' => '1-11',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'creator_id' => 1,
|
||||
'permission_mark' => 'role@create',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1587462007,
|
||||
'updated_at' => 1599030223,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 14,
|
||||
@@ -424,6 +468,28 @@ class PermissionSeed extends Seeder
|
||||
'updated_at' => 1599030338,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 21,
|
||||
'permission_name' => '创建',
|
||||
'parent_id' => 19,
|
||||
'level' => '1-19',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'creator_id' => 1,
|
||||
'permission_mark' => 'permission@create',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1587462232,
|
||||
'updated_at' => 1599030338,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 22,
|
||||
@@ -449,14 +515,14 @@ class PermissionSeed extends Seeder
|
||||
3 =>
|
||||
array (
|
||||
'id' => 23,
|
||||
'permission_name' => '查看',
|
||||
'permission_name' => '禁用/启用',
|
||||
'parent_id' => 19,
|
||||
'level' => '1-19',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'creator_id' => 1,
|
||||
'permission_mark' => 'permission@edit',
|
||||
'permission_mark' => 'permission@show',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
@@ -465,7 +531,7 @@ class PermissionSeed extends Seeder
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1587462273,
|
||||
'updated_at' => 1599030338,
|
||||
'updated_at' => 1599220816,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
4 =>
|
||||
@@ -512,6 +578,28 @@ class PermissionSeed extends Seeder
|
||||
'updated_at' => 1599030338,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
'id' => 106,
|
||||
'permission_name' => '权限方法',
|
||||
'parent_id' => 19,
|
||||
'level' => '1-19',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'creator_id' => 1,
|
||||
'permission_mark' => 'permission@getMethods',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1599221913,
|
||||
'updated_at' => 1599222591,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
@@ -646,7 +734,7 @@ class PermissionSeed extends Seeder
|
||||
'status' => 1,
|
||||
'sort' => 1,
|
||||
'created_at' => 1587462707,
|
||||
'updated_at' => 1599116793,
|
||||
'updated_at' => 1599219794,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
@@ -663,7 +751,7 @@ class PermissionSeed extends Seeder
|
||||
'permission_mark' => 'job@indexs',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'hidden' => 2,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
@@ -685,7 +773,7 @@ class PermissionSeed extends Seeder
|
||||
'permission_mark' => 'job@save',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'hidden' => 2,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
@@ -707,7 +795,7 @@ class PermissionSeed extends Seeder
|
||||
'permission_mark' => 'job@update',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'hidden' => 2,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
@@ -729,7 +817,7 @@ class PermissionSeed extends Seeder
|
||||
'permission_mark' => 'job@delete',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'hidden' => 2,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
@@ -751,7 +839,7 @@ class PermissionSeed extends Seeder
|
||||
'permission_mark' => 'job@getAll',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'hidden' => 1,
|
||||
'hidden' => 2,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'status' => 1,
|
||||
|
@@ -20,7 +20,7 @@ class Permissions extends CatchModel
|
||||
'redirect',
|
||||
'keepalive',
|
||||
'creator_id',
|
||||
'status',
|
||||
'hidden',
|
||||
'module', // 模块
|
||||
'route', // 路由
|
||||
'permission_mark', // 权限标识
|
||||
@@ -69,7 +69,7 @@ class Permissions extends CatchModel
|
||||
return parent::whereIn('id', $permissionIds)
|
||||
->field(['permission_name as title', 'id', 'parent_id',
|
||||
'route', 'icon', 'component', 'redirect', 'module',
|
||||
'keepalive as keepAlive', 'type', 'permission_mark', 'status'
|
||||
'keepalive as keepAlive', 'type', 'permission_mark', 'hidden'
|
||||
])
|
||||
->catchOrder()
|
||||
->select();
|
||||
|
Reference in New Issue
Block a user