49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use Dcat\Admin\Form;
|
|
use App\Models\Store;
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
use Dcat\Admin\Layout\Content;
|
|
use Dcat\Admin\Models\Administrator;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Dcat\Admin\Traits\HasFormResponse;
|
|
|
|
class StoreAdminController extends Controller
|
|
{
|
|
use HasFormResponse;
|
|
public function create($store_id)
|
|
{
|
|
$store = Store::findOrFail($store_id);
|
|
$form = Form::make();
|
|
$form->tree('admin_user', '选择管理员')
|
|
->nodes(Administrator::all()->toArray())
|
|
->value($store->adminUsers()->pluck('id'))
|
|
->setTitleColumn('name');
|
|
return (new Content())->title('新增')->body($form);
|
|
}
|
|
|
|
public function store($store_id, Request $request)
|
|
{
|
|
$store = Store::findOrFail($store_id);
|
|
if ($request->input('admin_user')) {
|
|
$admin_ids = explode(',', $request->input('admin_user'));
|
|
$store->adminUsers()->sync($admin_ids);
|
|
} else {
|
|
$store->adminUsers()->detach();
|
|
}
|
|
|
|
return $this->sendResponse($this->response()->success(trans('admin.save_succeeded')));
|
|
}
|
|
|
|
public function destroy($store_id, $id)
|
|
{
|
|
$store = Store::findOrFail($store_id);
|
|
$admin_ids = explode(',', $id);
|
|
$store->adminUsers()->detach($admin_ids);
|
|
return $this->sendResponse($this->response()->success(trans('admin.delete_succeeded')));
|
|
}
|
|
}
|