diff --git a/app/Admin/Controllers/ProductSkuController.php b/app/Admin/Controllers/ProductSkuController.php index 5710f2fe..058e74f2 100644 --- a/app/Admin/Controllers/ProductSkuController.php +++ b/app/Admin/Controllers/ProductSkuController.php @@ -14,6 +14,7 @@ use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Show; use Illuminate\Http\Request; +use Illuminate\Support\Str; class ProductSkuController extends AdminController { @@ -135,6 +136,13 @@ class ProductSkuController extends AdminController $form->select('attr_group')->options(ProductGroup::all()->pluck('name', 'id')); $form->selectAttr('attrs')->listen('attr_group'); $form->hidden('verify_state'); + + $form->ignore(['attr_group']); + $form->display('created_at'); + $form->display('updated_at'); + + $form->hidden('is_pre_sale')->default(0); + $form->saving(function (Form $form) { if (!(is_null($form->model()->release_at) || $form->model()->verify_state == 1)) { return $form->response()->error('当前sku商品无法修改'); @@ -142,11 +150,9 @@ class ProductSkuController extends AdminController $form->verify_state = 0; }); - $form->ignore(['attr_group']); - $form->display('created_at'); - $form->display('updated_at'); - - $form->hidden('is_pre_sale')->default(0); + $form->disableEditingCheck(); + $form->disableCreatingCheck(); + $form->disableDeleteButton(); }); } @@ -175,4 +181,14 @@ class ProductSkuController extends AdminController return response()->json($query->get()); } + + public function update($id) + { + $last = url()->previous(); + $redirect = null; + if (Str::contains($last, 'product-spus')) { + $redirect = admin_route('product_spus.sku_list', ['spu' => ProductSkuModel::where('id', $id)->value('spu_id')]); + } + return $this->form()->update($id, request()->all(), $redirect); + } } diff --git a/app/Admin/Controllers/ProductSpuController.php b/app/Admin/Controllers/ProductSpuController.php index 97d76d84..3b92c65f 100644 --- a/app/Admin/Controllers/ProductSpuController.php +++ b/app/Admin/Controllers/ProductSpuController.php @@ -229,12 +229,7 @@ class ProductSpuController extends AdminController return parent::destroy($id); } - - /** - * Undocumented function - * - * @return void - */ + public function skuList(Content $content, ProductSpuModel $spu) { return $content->header(__('product-spu.labels.ProductSpu')) diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 05834f23..434adaf0 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -56,9 +56,7 @@ Route::group([ $router->resource('product-spus', 'ProductSpuController')->names('product_spus'); $router->get('product-spus/{spu}/sku-list', 'ProductSpuController@skuList')->name('product_spus.sku_list'); - $router->resource('product-skus', 'ProductSkuController')->only([ - 'index', 'edit', 'update', 'destroy', - ])->names('product_skus'); + $router->resource('product-skus', 'ProductSkuController')->only(['index', 'edit', 'update', 'destroy'])->names('product_skus'); $router->resource('product-sku-verifies', 'ProductSkuVerifyController')->only([ 'index', 'edit', 'update', 'destroy',