From c45353a52c5b8b1b6141e96fd913c3eb460e039f Mon Sep 17 00:00:00 2001 From: liapples Date: Sun, 31 Oct 2021 14:36:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E8=AE=BE=E7=BD=AE=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E9=87=91=E5=8D=95=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MySQL_change.sql | 8 +++++ .../Controllers/AgentProductController.php | 36 +++++++------------ .../Extensions/Grid/AuditAgentProduct.php | 11 +++--- .../Controllers/AgentProductController.php | 2 ++ resources/lang/zh_CN/agent-product.php | 2 ++ 5 files changed, 31 insertions(+), 28 deletions(-) diff --git a/MySQL_change.sql b/MySQL_change.sql index 027af18..1d7d1f4 100644 --- a/MySQL_change.sql +++ b/MySQL_change.sql @@ -435,4 +435,12 @@ ALTER TABLE `agent_products` +# 13:55 ‎2021/‎10/‎31 +ALTER TABLE `agent_products` + ADD COLUMN `single_deposit` DECIMAL(20,2) NOT NULL DEFAULT '0.00' COMMENT '交易金单价' AFTER `address`, + ADD COLUMN `verify_mobile` VARCHAR(15) NOT NULL DEFAULT '' COMMENT '核销人员手机号' COLLATE 'utf8mb4_general_ci' AFTER `single_deposit`; +ALTER TABLE `products` + CHANGE `verify_mobile` `verify_mobile` CHAR(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '核销人员手机号'; +ALTER TABLE `agent_products` + CHANGE COLUMN `verify_mobile` `verify_mobile` CHAR(11) NOT NULL DEFAULT '' COMMENT '核销人员手机号' COLLATE 'utf8_general_ci' AFTER `single_deposit`; diff --git a/app/Admin/Controllers/AgentProductController.php b/app/Admin/Controllers/AgentProductController.php index 7c6e256..58dc380 100644 --- a/app/Admin/Controllers/AgentProductController.php +++ b/app/Admin/Controllers/AgentProductController.php @@ -23,7 +23,7 @@ class AgentProductController extends AdminController return Grid::make(new AgentProduct(['agent:id,company_name', 'guide:id,name']), function (Grid $grid) { $grid->disableCreateButton(); $grid->disableRowSelector(); - $grid->disableEditButton(); + //如果是审核页面,多加where条件判断 if (strpos(Route::current()->uri, 'audit')) { $grid->model()->where('status', ProductStatus::UNAUDITED); @@ -55,6 +55,7 @@ class AgentProductController extends AdminController ProductStatus::REFUSE => 'danger', ProductStatus::SOLD_OUT => 'warning', ], 'primary'); + $grid->column('single_deposit')->editable(); $grid->column('created_at'); $grid->filter(function (Grid\Filter $filter) { @@ -77,8 +78,6 @@ class AgentProductController extends AdminController protected function detail($id) { return Show::make($id, new AgentProduct(['agent:id,name', 'guide:id,name']), function (Show $show) { - $show->disableEditButton(); - $show->field('id'); $show->field('agent.name'); $show->field('title'); @@ -93,6 +92,7 @@ class AgentProductController extends AdminController $show->field('deposit_timeout'); $show->field('earnest'); $show->field('earnest_timeout'); + $show->field('single_deposit'); $show->field('know')->unescape()->as(fn($v) => preg_replace('/.*?<\/script>/is', '', $v)); $show->field('content')->unescape()->as(fn($v) => preg_replace('/.*?<\/script>/is', '', $v)); $show->field('created_at'); @@ -108,31 +108,19 @@ class AgentProductController extends AdminController protected function form() { return Form::make(new AgentProduct(), function (Form $form) { - $form->disableFooter(); - $form->display('id'); - $form->display('agent_id'); - $form->display('title'); - $form->multipleImage('pictures'); - $form->display('price'); - $form->display('original_price'); - $form->display('sale'); - $form->display('stock'); - $form->display('guide_id'); - $form->display('status'); - $form->display('know'); - $form->display('content'); - $form->display('deposit'); - $form->display('deposit_timeout'); - $form->display('earnest'); - $form->display('earnest_timeout'); - - $form->display('created_at'); - $form->display('updated_at'); + $form->select('status')->options(ProductStatus::array()); + $form->decimal('single_deposit'); })->saving(function (Form $form) { if ($form->isEditing() && $form->status !== null && array_key_exists($form->status, ProductStatus::array())) { $form->model()->update(['status' => $form->status]); - return $form->response()->success('审核成功!')->refresh(); + return $form->response()->success('设置产品状态成功')->refresh(); + } + + //列表编辑交易金单价 + if ($form->isEditing() && !is_null($form->single_deposit)) { + $form->model()->update(['single_deposit' => $form->single_deposit]); + return $form->response()->success('设置交易金成功')->refresh(); } return $form->response()->error('操作禁止'); }); diff --git a/app/Admin/Extensions/Grid/AuditAgentProduct.php b/app/Admin/Extensions/Grid/AuditAgentProduct.php index e00975b..c4ff479 100644 --- a/app/Admin/Extensions/Grid/AuditAgentProduct.php +++ b/app/Admin/Extensions/Grid/AuditAgentProduct.php @@ -7,7 +7,7 @@ use Dcat\Admin\Grid\RowAction; use Illuminate\Http\Request; /** - * 供应商审核 + * 代理商自营产品审核 * Class AuditAgentProduct * @package App\Admin\Extensions\Grid */ @@ -34,9 +34,12 @@ class AuditAgentProduct extends RowAction public function handle(Request $request) { try { - $user = AgentProduct::find($this->getKey()); - $user->status = $request->action == 1 ? ProductStatus::ON_SALE : ProductStatus::REFUSE; - $user->save(); + $product = AgentProduct::find($this->getKey()); + if ((float)$product->single_deposit == 0) { + throw new \Exception('请先设置交易金单价'); + } + $product->status = $request->action == 1 ? ProductStatus::ON_SALE : ProductStatus::REFUSE; + $product->save(); return $this->response()->success("审核成功")->refresh(); } catch (\Exception $e) { diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index e3c2a9e..3755197 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -706,5 +706,7 @@ class AgentProductController extends AdminController $form->text('extends.field_5_address', '地址'); $form->map('extends.field_5_latitude', 'extends.field_5_longitude', '位置'); }); + + $form->mobile('verify_mobile'); } } diff --git a/resources/lang/zh_CN/agent-product.php b/resources/lang/zh_CN/agent-product.php index 5d98966..9eb3dab 100644 --- a/resources/lang/zh_CN/agent-product.php +++ b/resources/lang/zh_CN/agent-product.php @@ -28,6 +28,8 @@ return [ 'earnest_timeout' => '定金超时时间', 'deposit' => '订金', 'deposit_timeout' => '订金超时时间', + 'single_deposit' => '交易金单价', + 'verify_mobile' => '核销手机号', 'product' => trans('product.fields'), 'agent' => trans('agent.fields'), 'guide' => trans('guide.fields'),