From 839a2435152be9d136fbf690c1c5833caa811a5b Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 15:00:11 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=9C=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=AA=E5=87=BA=E7=8E=B0role=5Fid=3D2=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Renderable/SelectGuide.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/AdminAgent/Renderable/SelectGuide.php b/app/AdminAgent/Renderable/SelectGuide.php index 6ebd572..c4f8913 100644 --- a/app/AdminAgent/Renderable/SelectGuide.php +++ b/app/AdminAgent/Renderable/SelectGuide.php @@ -1,7 +1,6 @@ disableBatchDelete(); $grid->disableBatchActions(); - $grid->model()->where(['status' => UserStatus::NORMAL]); + $grid->model()->where(['status' => UserStatus::NORMAL]) + ->whereExists(function ($query) { + $role_table = 'admin_guide_role_users'; + return $query->from($role_table)->whereRaw("guides.id=$role_table.user_id")->where('role_id', 2); + }); $grid->quickSearch(['contact_phone', 'name'])->placeholder('搜索手机号、地接名称'); $grid->column('id'); From 7e25a8e5a3aeb195388c5acf48cd91b96a9e321a Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 15:10:53 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E7=8E=B0=E4=BB=B7->=E5=94=AE=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/lang/zh_CN/agent-product.php | 2 +- resources/lang/zh_CN/product.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/zh_CN/agent-product.php b/resources/lang/zh_CN/agent-product.php index 77541ec..82cfb69 100644 --- a/resources/lang/zh_CN/agent-product.php +++ b/resources/lang/zh_CN/agent-product.php @@ -7,7 +7,7 @@ return [ 'fields' => [ 'agent_id' => '代理商ID', 'product_id' => '供应商产品ID', - 'price' => '现价', + 'price' => '售价', 'original_price' => '原价', 'sale' => '销量', 'stock' => '库存', diff --git a/resources/lang/zh_CN/product.php b/resources/lang/zh_CN/product.php index 8d706cd..83aa636 100644 --- a/resources/lang/zh_CN/product.php +++ b/resources/lang/zh_CN/product.php @@ -11,7 +11,7 @@ return [ 'original_price' => '原价', 'pictures' => '产品图片', 'picture' => '产品图片', - 'price' => '现价', + 'price' => '售价', 'sale' => '销量', 'status' => '状态', 'stock' => '库存', From ccc8d47254fec4b15ba43ed4c79290356ad61268 Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 15:49:04 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Renderable/SelectAgentCloudProduct.php | 1 + app/AdminAgent/Renderable/SelectAgentProduct.php | 1 + app/AdminAgent/Renderable/SelectProduct.php | 1 + 3 files changed, 3 insertions(+) diff --git a/app/AdminAgent/Renderable/SelectAgentCloudProduct.php b/app/AdminAgent/Renderable/SelectAgentCloudProduct.php index 28a9779..18cf4fb 100644 --- a/app/AdminAgent/Renderable/SelectAgentCloudProduct.php +++ b/app/AdminAgent/Renderable/SelectAgentCloudProduct.php @@ -37,6 +37,7 @@ class SelectAgentCloudProduct extends LazyRenderable $grid->column('id'); $grid->column('title'); $grid->column('picture')->image('', 60, 60); + $grid->column('price'); $grid->column('sale'); $grid->column('stock'); $grid->column('updated_at'); diff --git a/app/AdminAgent/Renderable/SelectAgentProduct.php b/app/AdminAgent/Renderable/SelectAgentProduct.php index 90fb507..d29861f 100644 --- a/app/AdminAgent/Renderable/SelectAgentProduct.php +++ b/app/AdminAgent/Renderable/SelectAgentProduct.php @@ -31,6 +31,7 @@ class SelectAgentProduct extends LazyRenderable $grid->column('id'); $grid->column('title'); $grid->column('picture')->image('', 60, 60); + $grid->column('price'); $grid->column('sale'); $grid->column('stock'); $grid->column('updated_at'); diff --git a/app/AdminAgent/Renderable/SelectProduct.php b/app/AdminAgent/Renderable/SelectProduct.php index ec52e5d..a032e7f 100644 --- a/app/AdminAgent/Renderable/SelectProduct.php +++ b/app/AdminAgent/Renderable/SelectProduct.php @@ -31,6 +31,7 @@ class SelectProduct extends LazyRenderable //$grid->column('supplier.name', '供应商'); $grid->column('title'); $grid->column('picture')->image('',60, 60); + $grid->column('price'); $grid->column('sale'); $grid->column('stock'); $grid->column('updated_at'); From daa66b1d7d338991bfa8166d521dd0f21806ad2d Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 15:53:45 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=94=AE=E4=BB=B7?= =?UTF-8?q?=E9=99=90=E5=88=B6=EF=BC=8C=E4=B8=8D=E8=83=BD=E5=B0=8F=E4=BA=8E?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Controllers/AgentProductController.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index 17621d4..1f9aead 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -348,6 +348,8 @@ class AgentProductController extends AdminController return $form->response()->error('产品ID '. $form->product_id .' 已下架'); } else if ($product->stock < $form->stock) { return $form->response()->error("供应商当前库存为{$product->stock},你设置的库存不能超过该数值"); + } else if ($form->price < $product->price) { + return $form->response()->error("产品售价不能小于供应商售价{$product->price}"); } $form->title = $product->title; $form->pictures = $product->pictures; @@ -386,6 +388,11 @@ class AgentProductController extends AdminController return $form->response()->error('产品ID ' . join(',', $not_in_id) . ' 库存小于你设置的库存' . $form->stock . ',或不存在、已下架等'); } + $total_price = Product::query()->whereIn('id', $product_ids)->sum('price'); + if ($form->price < $total_price) { + return $form->response()->error("产品售价不能小于供应商产品总售价{$total_price}"); + } + //如果是组团版旅行社,标记为是云产品 if (Admin::user()->type == AgentType::CLUSTER) { $form->hidden('is_cloud'); @@ -412,6 +419,8 @@ class AgentProductController extends AdminController return $form->response()->error('你选择的组团云产品库存不足或已下架,请重新选择'); } else if ($cloud_product->stock < $form->stock) { return $form->response()->error("组团云产品当前库存为{$cloud_product->stock},你设置的库存不能超过该数值"); + } else if ($form->price < $cloud_product->price) { + return $form->response()->error("产品售价不能小于组团云产品售价{$cloud_product->price}"); } //同步关键字段信息 From 171d22e86a7931724378edc42a61c40bcae5d106 Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 16:03:03 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9help?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Controllers/AgentProductController.php | 4 ++-- app/AdminAgent/Forms/Setting.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index 1f9aead..a3c04dc 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -267,11 +267,11 @@ class AgentProductController extends AdminController $form->number('earnest')->min(0) ->default(0)->help('单位:元。不输入或输入 0 则不支持定金支付,必须和定金超时时间同时设置才会生效'); $form->number('earnest_timeout')->min(0) - ->default(0)->help('单位:分钟。超过这个时间未支付,订单将自动关闭'); + ->default(0)->help('单位:分钟。超过这个时间未支付尾款,订单将自动关闭,且定金不退'); $form->number('deposit')->min(0) ->default(0)->help('单位:元。不输入或输入 0 则不支持订金支付,必须和订金超时时间同时设置才会生效'); $form->number('deposit_timeout')->min(0) - ->default(0)->help('单位:分钟。超过这个时间未支付,订单将自动关闭'); + ->default(0)->help('单位:分钟。超过这个时间未支付尾款,订单将自动关闭,且订金不退'); /*$form->tree('channel_id', '所属频道') ->expand(false) diff --git a/app/AdminAgent/Forms/Setting.php b/app/AdminAgent/Forms/Setting.php index 518e3c0..568eed3 100644 --- a/app/AdminAgent/Forms/Setting.php +++ b/app/AdminAgent/Forms/Setting.php @@ -33,7 +33,7 @@ class Setting extends Form public function form() { $this->text('order_timeout')->required()->default(60) - ->help('订单超时时间,单位:分钟。(订金、定金支付的超时时间将根据产品设定的超时时间)'); + ->help('订单超时时间,单位:分钟。超过该时间未支付,订单将自动关闭'); $this->radio('auto_shelves')->when([1], function (Form $form) { // 值为1和4时显示文本框 $form->number('profit','利润(%)')->min(0)->max(100)->help('请填写利润百分比 上架商品会自动根据供应商提供的价格 上调设置值的百分比'); From 6cf015aa288b59cff0fbab67fa331a3da2067c92 Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 17:06:57 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=B0=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Controllers/DemandController.php | 4 ++-- app/AdminGuide/Controllers/DemandController.php | 4 ++-- app/AdminSupplier/Controllers/DemandBiddingController.php | 7 ++++++- app/AdminSupplier/Controllers/DemandController.php | 6 +++--- app/AdminSupplier/Extensions/Grid/ChooseDemand.php | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/AdminAgent/Controllers/DemandController.php b/app/AdminAgent/Controllers/DemandController.php index 1a778c0..cca7f80 100755 --- a/app/AdminAgent/Controllers/DemandController.php +++ b/app/AdminAgent/Controllers/DemandController.php @@ -46,7 +46,7 @@ class DemandController extends AdminController }); $grid->column('images','图片')->display(function ($image) { return json_decode($image,true); - })->image(); + })->image('', 60, 60); $grid->column('deadline'); $grid->column('publisher.name','发布人'); $grid->column('publisher_type')->using(DemandTraits::$polymorphic); @@ -143,7 +143,7 @@ class DemandController extends AdminController $form->disableViewCheck(); $form->display('id'); $form->text('title'); - $form->text('comment'); + $form->textarea('comment'); $form->multipleImage('images','图片')->limit(5)->saving(function ($path) { return json_encode($path); }); diff --git a/app/AdminGuide/Controllers/DemandController.php b/app/AdminGuide/Controllers/DemandController.php index db43f05..428edaa 100755 --- a/app/AdminGuide/Controllers/DemandController.php +++ b/app/AdminGuide/Controllers/DemandController.php @@ -45,7 +45,7 @@ class DemandController extends AdminController }); $grid->column('images','图片')->display(function ($image) { return json_decode($image,true); - })->image(); + })->image('', 60, 60); $grid->column('deadline'); $grid->column('publisher.name','发布人'); $grid->column('publisher_type')->using(DemandTraits::$polymorphic); @@ -142,7 +142,7 @@ class DemandController extends AdminController $form->disableViewCheck(); $form->display('id'); $form->text('title'); - $form->text('comment'); + $form->textarea('comment'); $form->multipleImage('images','图片')->limit(5)->saving(function ($path) { return json_encode($path); }); diff --git a/app/AdminSupplier/Controllers/DemandBiddingController.php b/app/AdminSupplier/Controllers/DemandBiddingController.php index 19e6e41..fe695a5 100755 --- a/app/AdminSupplier/Controllers/DemandBiddingController.php +++ b/app/AdminSupplier/Controllers/DemandBiddingController.php @@ -35,7 +35,12 @@ class DemandBiddingController extends AdminController $grid->column('price'); $grid->column('comment'); $grid->column('demand.title','竞拍标题'); - $grid->column('demand.comment','竞拍内容'); + $grid->column('demand.comment','竞拍内容') + ->display('查看') + ->modal('详情',function ($modal) { + $modal->xl(); + return $this->demand->comment; + }); $grid->column('state','状态')->using(DemandTraits::$biddingState)->dot( [ 'yellow', diff --git a/app/AdminSupplier/Controllers/DemandController.php b/app/AdminSupplier/Controllers/DemandController.php index 4a3a52c..c97a57d 100755 --- a/app/AdminSupplier/Controllers/DemandController.php +++ b/app/AdminSupplier/Controllers/DemandController.php @@ -45,7 +45,7 @@ class DemandController extends AdminController }); $grid->column('images','图片')->display(function ($image) { return json_decode($image,true); - })->image(); + })->image('', 60, 60); $grid->column('deadline'); $grid->column('publisher.name','发布人'); $grid->column('publisher_type')->using(DemandTraits::$polymorphic); @@ -136,7 +136,7 @@ class DemandController extends AdminController $form->disableViewCheck(); $form->display('id'); $form->text('title'); - $form->text('comment'); + $form->textarea('comment'); $form->multipleImage('images','图片')->limit(5)->saving(function ($path) { return json_encode($path); }); @@ -151,7 +151,7 @@ class DemandController extends AdminController '代理商' ]) ->default(0); - $form->decimal('price'); + $form->decimal('price')->required(); $form->number('stock'); $form->hidden('publisher_type'); $form->hidden('publisher_id'); diff --git a/app/AdminSupplier/Extensions/Grid/ChooseDemand.php b/app/AdminSupplier/Extensions/Grid/ChooseDemand.php index 72cdbd2..6834bf5 100644 --- a/app/AdminSupplier/Extensions/Grid/ChooseDemand.php +++ b/app/AdminSupplier/Extensions/Grid/ChooseDemand.php @@ -23,7 +23,7 @@ class ChooseDemand extends RowAction public function __construct($biddingId = '') { - parent::__construct('选中竞标'); + parent::__construct('参与竞标'); $this->id = $biddingId; $this->title = '选中竞标'; } From 73a1c70fd2c4700b814e9fc98a953b1978ff5768 Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 17:33:55 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=B0=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Controllers/DemandBiddingController.php | 8 +++++++- app/AdminGuide/Controllers/DemandBiddingController.php | 8 +++++++- app/AdminSupplier/Controllers/DemandBiddingController.php | 4 ++-- app/AdminSupplier/Renderable/SelectProduct.php | 4 ++-- resources/lang/zh_CN/demand-product.php | 1 + 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/AdminAgent/Controllers/DemandBiddingController.php b/app/AdminAgent/Controllers/DemandBiddingController.php index d59d320..5d40948 100755 --- a/app/AdminAgent/Controllers/DemandBiddingController.php +++ b/app/AdminAgent/Controllers/DemandBiddingController.php @@ -27,7 +27,13 @@ class DemandBiddingController extends AdminController $grid->column('price'); $grid->column('comment'); $grid->column('demand.title','竞拍标题'); - $grid->column('demand.comment','竞拍内容'); + $grid->column('demand.comment','竞拍内容') + ->display('查看') + ->modal('详情',function ($modal) { + $modal->xl(); + return $this->demand->comment; + }); + $grid->column('state','状态')->using(DemandTraits::$biddingState)->dot( [ 'yellow', diff --git a/app/AdminGuide/Controllers/DemandBiddingController.php b/app/AdminGuide/Controllers/DemandBiddingController.php index f11bd42..39ee223 100755 --- a/app/AdminGuide/Controllers/DemandBiddingController.php +++ b/app/AdminGuide/Controllers/DemandBiddingController.php @@ -27,7 +27,13 @@ class DemandBiddingController extends AdminController $grid->column('price'); $grid->column('comment'); $grid->column('demand.title','竞拍标题'); - $grid->column('demand.comment','竞拍内容'); + $grid->column('demand.comment','竞拍内容') + ->display('查看') + ->modal('详情',function ($modal) { + $modal->xl(); + return $this->demand->comment; + }); + $grid->column('state','状态')->using(DemandTraits::$biddingState)->dot( [ 'yellow', diff --git a/app/AdminSupplier/Controllers/DemandBiddingController.php b/app/AdminSupplier/Controllers/DemandBiddingController.php index fe695a5..02078a9 100755 --- a/app/AdminSupplier/Controllers/DemandBiddingController.php +++ b/app/AdminSupplier/Controllers/DemandBiddingController.php @@ -53,7 +53,7 @@ class DemandBiddingController extends AdminController return $this->state == 1 && $this->bidding_user_type == DemandTraits::$col[1] && empty($this->demand->demand_product_id); }) ->then(function (Grid\Column $column) { - $column->append('绑定产品'); + $column->append('添加中标产品'); }) ->if(function (){ return $this->state == 1 && $this->bidding_user_type == DemandTraits::$col[1] && !empty($this->demand->demand_product_id); @@ -114,7 +114,7 @@ class DemandBiddingController extends AdminController ->title('选择产品') ->dialogWidth('50%;min-width:600px;') //不起作用 ->from(SelectProduct::make()) - ->model(DemandProduct::class, 'id', 'title'); + ->model(DemandProduct::class); }else{ $form->text('price'); $form->textarea('comment'); diff --git a/app/AdminSupplier/Renderable/SelectProduct.php b/app/AdminSupplier/Renderable/SelectProduct.php index dfa6f82..cba2759 100644 --- a/app/AdminSupplier/Renderable/SelectProduct.php +++ b/app/AdminSupplier/Renderable/SelectProduct.php @@ -26,11 +26,11 @@ class SelectProduct extends LazyRenderable $grid->disableBatchActions(); //$grid->model()->where('status', ProductStatus::ON_SALE); - $grid->model()->where('supplier_id',Admin::user()->id); + $grid->model()->where('supplier_id', Admin::user()->id); $grid->quickSearch(['title', 'supplier.name'])->placeholder('搜索产品名称、供应商'); $grid->column('id'); - $grid->column('supplier.name', '供应商'); + $grid->column('supplier.name', '供应商')->display(fn($v) => $v); $grid->column('title'); $grid->column('picture')->image('',60, 60); $grid->column('sale'); diff --git a/resources/lang/zh_CN/demand-product.php b/resources/lang/zh_CN/demand-product.php index ac923a0..4b56122 100755 --- a/resources/lang/zh_CN/demand-product.php +++ b/resources/lang/zh_CN/demand-product.php @@ -13,6 +13,7 @@ return [ 'know' => '旅客须知', 'original_price' => '原价', 'picture' => '产品图片', + 'pictures' => '产品图片', 'price' => '价格', 'sale' => '销量', 'status' => '状态', From a65a6989b7ff863b6a69dd3811c81ccd5ae7931c Mon Sep 17 00:00:00 2001 From: liapples Date: Mon, 6 Sep 2021 17:40:36 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=B0=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AdminAgent/Lazys/DemandBiddingLazys.php | 2 +- app/AdminSupplier/Lazys/DemandBiddingLazys.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/AdminAgent/Lazys/DemandBiddingLazys.php b/app/AdminAgent/Lazys/DemandBiddingLazys.php index d8121a7..f5cbcea 100644 --- a/app/AdminAgent/Lazys/DemandBiddingLazys.php +++ b/app/AdminAgent/Lazys/DemandBiddingLazys.php @@ -20,7 +20,7 @@ class DemandBiddingLazys extends LazyRenderable $demand = Demand::find($demandId); $grid->model()->where('demand_id',$demandId); $grid->column('id'); - $grid->column('price','出价'); + $grid->column('price','出价')->sortable(); $grid->column('comment','内容'); $grid->column('biddingUser.name','竞拍人'); $grid->column('bidding','竞标') diff --git a/app/AdminSupplier/Lazys/DemandBiddingLazys.php b/app/AdminSupplier/Lazys/DemandBiddingLazys.php index 22de287..306efd5 100644 --- a/app/AdminSupplier/Lazys/DemandBiddingLazys.php +++ b/app/AdminSupplier/Lazys/DemandBiddingLazys.php @@ -20,7 +20,7 @@ class DemandBiddingLazys extends LazyRenderable $demand = Demand::find($demandId); $grid->model()->where('demand_id',$demandId); $grid->column('id'); - $grid->column('price','出价'); + $grid->column('price','出价')->sortable(); $grid->column('comment','内容'); $grid->column('biddingUser.name','竞拍人'); $grid->column('bidding','竞标')