fix: 角色权限分配

This commit is contained in:
JaguarJack 2023-03-31 14:57:50 +08:00
parent 2c64f90459
commit 2728ddd216
3 changed files with 30 additions and 5 deletions

View File

@ -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'] = [];
}

View File

@ -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);
})
]
];
}

View File

@ -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)
}