fix: 角色权限分配
This commit is contained in:
parent
2c64f90459
commit
2728ddd216
@ -39,7 +39,9 @@ class RolesController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(RoleRequest $request)
|
public function store(RoleRequest $request)
|
||||||
{
|
{
|
||||||
if (! DataRange::Personal_Choose->assert($request->get('data_range'))) {
|
$dataRange = $request->get('data_range');
|
||||||
|
|
||||||
|
if ($dataRange && ! DataRange::Personal_Choose->assert($request->get('data_range'))) {
|
||||||
$request['departments'] = [];
|
$request['departments'] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +72,9 @@ class RolesController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update($id, RoleRequest $request)
|
public function update($id, RoleRequest $request)
|
||||||
{
|
{
|
||||||
if (! DataRange::Personal_Choose->assert($request->get('data_range'))) {
|
$dataRange = $request->get('data_range');
|
||||||
|
|
||||||
|
if ($dataRange && ! DataRange::Personal_Choose->assert($request->get('data_range'))) {
|
||||||
$request['departments'] = [];
|
$request['departments'] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
namespace Modules\Permissions\Http\Requests;
|
namespace Modules\Permissions\Http\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
use Modules\Permissions\Models\Roles;
|
use Modules\Permissions\Models\Roles;
|
||||||
|
|
||||||
class RoleRequest extends FormRequest
|
class RoleRequest extends FormRequest
|
||||||
@ -15,9 +16,24 @@ class RoleRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'role_name' => sprintf('required|unique:%s,%s,%s', Roles::class, 'role_name', $this->get('id')),
|
'role_name' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('roles')->where(function ($query) {
|
||||||
|
return $query->when($this->get('id'), function ($query){
|
||||||
|
$query->where('id', '<>', $this->get('id'));
|
||||||
|
})->where('deleted_at', 0);
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
'identify' => sprintf('required|alpha|unique:%s,%s,%s', Roles::class, 'role_name', $this->get('id')),
|
'identify' => [
|
||||||
|
'required',
|
||||||
|
'alpha',
|
||||||
|
Rule::unique('roles')->where(function ($query) {
|
||||||
|
return $query->when($this->get('id'), function ($query){
|
||||||
|
$query->where('id', '<>', $this->get('id'));
|
||||||
|
})->where('deleted_at', 0);
|
||||||
|
})
|
||||||
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
class="w-full"
|
class="w-full"
|
||||||
:props="{ label: 'permission_name', value: 'id' }"
|
:props="{ label: 'permission_name', value: 'id' }"
|
||||||
show-checkbox
|
show-checkbox
|
||||||
:default-expand-all="true"
|
:default-expand-all="false"
|
||||||
@check="selectPermissions"
|
@check="selectPermissions"
|
||||||
:empty-text="permissionLoadingText"
|
:empty-text="permissionLoadingText"
|
||||||
/>
|
/>
|
||||||
@ -189,6 +189,11 @@ beforeCreate.value = () => {
|
|||||||
|
|
||||||
// 更新前的钩子
|
// 更新前的钩子
|
||||||
beforeUpdate.value = () => {
|
beforeUpdate.value = () => {
|
||||||
|
const permissionIds = []
|
||||||
|
formData.value.permissions.forEach(item => {
|
||||||
|
permissionIds.push(item)
|
||||||
|
})
|
||||||
|
formData.value.permissions = permissionIds
|
||||||
formData.value.parent_id = getParent(formData.value.parent_id)
|
formData.value.parent_id = getParent(formData.value.parent_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user