diff --git a/config/app.php b/config/app.php index e76734a..b936c3d 100644 --- a/config/app.php +++ b/config/app.php @@ -69,7 +69,7 @@ return [ | */ - 'timezone' => 'UTC', + 'timezone' => 'Asia/Shanghai', /* |-------------------------------------------------------------------------- diff --git a/modules/Permissions/Http/Controllers/RolesController.php b/modules/Permissions/Http/Controllers/RolesController.php index d462d17..3397ef2 100644 --- a/modules/Permissions/Http/Controllers/RolesController.php +++ b/modules/Permissions/Http/Controllers/RolesController.php @@ -6,16 +6,21 @@ namespace Modules\Permissions\Http\Controllers; use Catch\Base\CatchController as Controller; use Catch\Exceptions\FailedException; +use Modules\Permissions\Enums\DataRange; use Modules\Permissions\Models\Roles; use Modules\Permissions\Http\Requests\RoleRequest; class RolesController extends Controller { + /** + * @param Roles $model + */ public function __construct( protected readonly Roles $model ) { } + /** * @return mixed */ @@ -28,31 +33,59 @@ class RolesController extends Controller })->getList(); } + /** + * + * @param RoleRequest $request + * @return bool + */ public function store(RoleRequest $request) { + if (! DataRange::Personal_Choose->assert($request->get('data_range'))) { + $request['departments'] = []; + } + return $this->model->storeBy($request->all()); } + /** + * + * @param $id + * @return \Illuminate\Database\Eloquent\Model|null + */ public function show($id) { $role = $this->model->firstBy($id); $role->setAttribute('permissions', $role->permissions()->get()->toTree()); - $role->setAttribute('departments', $role->departments()->get()->toTree()); + $role->setAttribute('departments', $role->departments()->pluck('id')); return $role; } + /** + * + * @param $id + * @param RoleRequest $request + * @return mixed + */ public function update($id, RoleRequest $request) { + if (! DataRange::Personal_Choose->assert($request->get('data_range'))) { + $request['departments'] = []; + } + return $this->model->updateBy($id, $request->all()); } + /** + * @param $id + * @return bool|null + */ public function destroy($id) { if ($this->model->where($this->model->getParentIdColumn(), $id)->first()) { - throw new FailedException('请先删除子级'); + throw new FailedException('请先删除子角色'); } return $this->model->deleteBy($id); diff --git a/modules/Permissions/views/roles/form/create.vue b/modules/Permissions/views/roles/form/create.vue index 0680101..d91175e 100644 --- a/modules/Permissions/views/roles/form/create.vue +++ b/modules/Permissions/views/roles/form/create.vue @@ -1,6 +1,6 @@