diff --git a/app/AdminSupplier/Controllers/ProductController.php b/app/AdminSupplier/Controllers/ProductController.php index 7b12f4b..c46b326 100644 --- a/app/AdminSupplier/Controllers/ProductController.php +++ b/app/AdminSupplier/Controllers/ProductController.php @@ -38,11 +38,11 @@ class ProductController extends AdminController $grid->column('original_price'); $grid->column('stock'); $grid->column('sale'); - $grid->column('status') - /*->if(fn() => in_array($this->status, [ProductStatus::SOLD_OUT, ProductStatus::ON_SALE])) + $grid->column('status')->help('切换开关可改变上下架状态') + ->if(fn() => in_array($this->status, [ProductStatus::SOLD_OUT, ProductStatus::ON_SALE])) ->using([ProductStatus::SOLD_OUT => 0, ProductStatus::ON_SALE => 1]) ->switch() - ->else()*/ + ->else() ->using(ProductStatus::array()); $grid->column('verify_mobile','核销员手机'); $grid->column('created_at'); @@ -249,6 +249,15 @@ class ProductController extends AdminController //用户可编辑的状态 $user_status = [ProductStatus::SOLD_OUT, ProductStatus::ON_SALE]; + //列表切换上下架按钮 + if ($form->isEditing() && !is_null($form->status) && is_null($form->title)) { + if (in_array($form->model()->status, $user_status)) { + $form->status = $form->status == 1 ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT; + $form->model()->update(['status' => $form->status]); + return $form->response()->success('更新成功')->refresh(); + } + } + //规格处理 if (!$form->spec || !$spec = array_filter($form->spec, fn($v) => !$v['_remove_'])) { return $form->response()->error('请输入产品规格');