From 06719d8c8efe7ef70b1228005396b81fdf5105fa Mon Sep 17 00:00:00 2001 From: liapples Date: Fri, 20 Aug 2021 17:56:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BA=93=E5=AD=98=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8F=8A=E7=9B=B8=E5=85=B3=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AgentProductController.php | 14 ++++++++++---- app/AdminAgent/Renderable/SelectProduct.php | 1 + resources/lang/zh_CN/agent-product.php | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index 2ed13dd..00365a2 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -59,6 +59,7 @@ class AgentProductController extends AdminController $grid->column('price'); $grid->column('original_price'); $grid->column('sale'); + $grid->column('stock'); $channels = Channel::where('agent_id', $agent_id)->pluck('name', 'id')->toArray(); $grid->column('channel_id', '频道') @@ -115,6 +116,7 @@ class AgentProductController extends AdminController $show->field('price'); $show->field('original_price'); $show->field('sale'); + $show->field('stock'); $show->field('channel_id'); $show->field('category_id'); $show->field('status')->using(ProductStatus::array()); @@ -158,7 +160,7 @@ class AgentProductController extends AdminController $form->display('id'); $form->hidden('product_id'); $form->selectTable('product_id', '封面产品') - ->help('当多选产品时,产品列表显示的是该产品的标题和图片') + ->help('产品列表显示的是该产品的标题和图片') ->title('选择产品') ->dialogWidth('80%;min-width:825px;') ->from(SelectProduct::make()) @@ -174,6 +176,7 @@ class AgentProductController extends AdminController $form->text('price')->required(); $form->text('original_price')->required(); $form->text('sale')->default(0); + $form->text('stock')->default(9999); $options = Channel::selectOptions(fn($query) => $query->where('agent_id', $agent_id)); $form->multipleSelect('channel_id')->options(array_slice($options, 1)); @@ -214,7 +217,7 @@ class AgentProductController extends AdminController $agent_id = Admin::user()->id; //不允许编辑的字段 - $form->ignore(['id', 'agent_id', 'created_at', 'updated_at', 'deleted_at']); + $form->ignore(['id', 'agent_id', 'status', 'created_at', 'updated_at', 'deleted_at']); $product_ids = explode(',', $form->product_ids); if (empty($product_ids)) { @@ -224,11 +227,14 @@ class AgentProductController extends AdminController //判断供应商产品是否存在或下架 $not_in_id = Product::query() ->whereIn('id', $product_ids) - ->where('status', '<>', ProductStatus::ON_SALE) + ->where(function ($query) use ($form) { + $query->where('status', '<>', ProductStatus::ON_SALE) + ->orWhere('stock', '<', $form->stock); + }) ->pluck('id') ->toArray(); if ($not_in_id) { - return $form->response()->error('产品ID'. join(',', $not_in_id) .'不存在或已下架,请重新选择'); + return $form->response()->error('产品ID'. join(',', $not_in_id) .'不存在或已下架,或库存小于你设置的库存' . $form->stock); } //处理特殊字段 diff --git a/app/AdminAgent/Renderable/SelectProduct.php b/app/AdminAgent/Renderable/SelectProduct.php index c03647a..4601b54 100644 --- a/app/AdminAgent/Renderable/SelectProduct.php +++ b/app/AdminAgent/Renderable/SelectProduct.php @@ -32,6 +32,7 @@ class SelectProduct extends LazyRenderable $grid->column('title'); $grid->column('picture')->image(60, 60); $grid->column('sale'); + $grid->column('stock'); $grid->column('updated_at'); $grid->paginate(15); diff --git a/resources/lang/zh_CN/agent-product.php b/resources/lang/zh_CN/agent-product.php index fa043e8..c5b61c3 100644 --- a/resources/lang/zh_CN/agent-product.php +++ b/resources/lang/zh_CN/agent-product.php @@ -10,6 +10,7 @@ return [ 'price' => '现价', 'original_price' => '原价', 'sale' => '销量', + 'stock' => '库存', 'channel_id' => '频道', 'category_id' => '分类', 'status' => '状态',