fix: 角色权限分配
This commit is contained in:
parent
2c64f90459
commit
2728ddd216
@ -39,7 +39,9 @@ class RolesController extends Controller
|
||||
*/
|
||||
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'] = [];
|
||||
}
|
||||
|
||||
@ -70,7 +72,9 @@ class RolesController extends Controller
|
||||
*/
|
||||
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'] = [];
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace Modules\Permissions\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Modules\Permissions\Models\Roles;
|
||||
|
||||
class RoleRequest extends FormRequest
|
||||
@ -15,9 +16,24 @@ class RoleRequest extends FormRequest
|
||||
public function rules(): array
|
||||
{
|
||||
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"
|
||||
:props="{ label: 'permission_name', value: 'id' }"
|
||||
show-checkbox
|
||||
:default-expand-all="true"
|
||||
:default-expand-all="false"
|
||||
@check="selectPermissions"
|
||||
:empty-text="permissionLoadingText"
|
||||
/>
|
||||
@ -189,6 +189,11 @@ beforeCreate.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)
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user