diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index ee27d4f..4c0dcf8 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -70,14 +70,9 @@ class AgentProductController extends AdminController return Table::make($titles, $data); });*/ - $grid->column('status') - ->using(ProductStatus::array()) - ->dot([ - ProductStatus::ON_SALE => 'success', - ProductStatus::UNAUDITED => '', - ProductStatus::REFUSE => 'danger', - ProductStatus::SOLD_OUT => 'warning', - ], 'primary'); + $grid->column('status') + ->using([ProductStatus::SOLD_OUT => 0, ProductStatus::ON_SALE => 1]) + ->switch(); $grid->column('is_rec')->switch()->help('推荐后将在“我的”页面下方显示'); $grid->column('updated_at'); @@ -233,11 +228,19 @@ class AgentProductController extends AdminController return $form->response()->error('数据不存在'); } - //推荐按钮开关 - if ($form->product_id === null && $form->product_ids === null && $form->is_rec !== null) { - $form->model()->is_rec = $form->is_rec ? 1 : 0; - $form->model()->save(); - return $form->response()->success('更新成功'); + if ($form->product_id === null && $form->product_ids === null) { + //推荐按钮开关 + if ($form->is_rec !== null) { + $form->model()->is_rec = $form->is_rec ? 1 : 0; + $form->model()->save(); + return $form->response()->success('更新成功!'); + } + //上下架状态按钮开关 + if ($form->status !== null) { + $form->model()->status = $form->status == 1 ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT; + $form->model()->save(); + return $form->response()->success('更新成功!'); + } } //单品销售 @@ -299,8 +302,12 @@ class AgentProductController extends AdminController //处理特殊字段 $form->hidden(['agent_id', 'status']); //表单没有的字段,必须加这句才能够重写 $form->agent_id = $agent_id; - $form->status = $form->status == ProductStatus::ON_SALE ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT; - $form->guide_id = $form->guide_id ?? 0; + if (array_key_exists($form->status, $form->input())) { + $form->status = $form->status == ProductStatus::ON_SALE ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT; + } + if (array_key_exists($form->guide_id, $form->input())) { + $form->guide_id = $form->guide_id ?? 0; + } //不允许编辑的字段 $form->ignore(['id', 'agent_id', 'status', 'created_at', 'updated_at', 'deleted_at']);