From 56af79394238a87b44357067343e129e13ed0b77 Mon Sep 17 00:00:00 2001 From: lanzu_qsy <334039090@qq.com> Date: Thu, 3 Sep 2020 20:35:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=B7=B2=E7=BB=91=E5=AE=9A=E5=B8=82=E5=9C=BA=E7=BB=8F=E7=90=86?= =?UTF-8?q?=E7=9A=84=E6=9C=8D=E5=8A=A1=E5=95=86=E5=90=8E=EF=BC=8C=E5=B8=82?= =?UTF-8?q?=E5=9C=BA=E7=BB=8F=E7=90=86=E8=B4=A6=E5=8F=B7=E8=BF=98=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=99=BB=E5=85=A5=20=E4=BF=AE=E5=A4=8D:=20=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=B7=B2=E7=BB=91=E5=AE=9A=E5=B8=82=E5=9C=BA=E7=BB=8F?= =?UTF-8?q?=E7=90=86=E7=9A=84=E5=B8=82=E5=9C=BA=E5=90=8E=EF=BC=8C=E5=B8=82?= =?UTF-8?q?=E5=9C=BA=E7=BB=8F=E7=90=86=E8=B4=A6=E5=8F=B7=E8=BF=98=E5=AD=98?= =?UTF-8?q?=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ImsCjdcMarketController.php | 22 +++++++++- .../Controllers/LanzuMmInfoController.php | 29 ++++++++----- .../Controllers/LanzuMpInfoController.php | 42 ++++++++++++++----- 3 files changed, 72 insertions(+), 21 deletions(-) diff --git a/app/Admin/Controllers/ImsCjdcMarketController.php b/app/Admin/Controllers/ImsCjdcMarketController.php index 579a9f1..a0f0723 100644 --- a/app/Admin/Controllers/ImsCjdcMarketController.php +++ b/app/Admin/Controllers/ImsCjdcMarketController.php @@ -3,6 +3,7 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\ImsCjdcMarket; +use App\Models\LanzuMmInfo; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; @@ -26,7 +27,7 @@ class ImsCjdcMarketController extends AdminController if ($mid == 0) return '懒族自营'; $mp = LanzuMpInfo::find($mid); if (!$mp) { - return '数据错误'; + return '数据错误'; } return $mp->name; }); @@ -138,6 +139,7 @@ class ImsCjdcMarketController extends AdminController $form->display('id'); $form->text('name')->required(); $form->select('mp_id', '服务商')->options('/api/getMpInfo')->required(); + $form->mobile('tel','电话')->required(); $form->text('address')->required(); $form->text('coordinates') ->required() @@ -156,6 +158,24 @@ class ImsCjdcMarketController extends AdminController $form->textarea('introduce'); $form->textarea('remark'); $form->textarea('dishes_menu_intro')->value('菜谱简介'); + $form->saving(function (Form $form){ + if ($form->isCreating()){ + $coordinates = explode(',',$form->coordinates); + $form->coordinates = implode(',',[$coordinates[1],$coordinates[0]]); + $form->addtime = date('Y-m-d H:i:s',time()); + + } + + }); + + $form->deleting(function (Form $form){ + //删除市场前,校验该市场下是否存在市场经理 + $mids = array_column($form->model()->toArray(), 'id'); + $count = LanzuMmInfo::whereIn('market_id',$mids)->count(); + if ($count){ + return $form->error('该市场下关联有市场经理, 无法删除'); + } + }); }); } diff --git a/app/Admin/Controllers/LanzuMmInfoController.php b/app/Admin/Controllers/LanzuMmInfoController.php index 3785cb8..e6857cf 100644 --- a/app/Admin/Controllers/LanzuMmInfoController.php +++ b/app/Admin/Controllers/LanzuMmInfoController.php @@ -134,17 +134,26 @@ class LanzuMmInfoController extends AdminController $form->radio('status', '状态')->options(['禁用', '启用'])->default(1); $form->saving(function (Form $form){ //保存前,校验懒ID是否有效 - $count = ImsCjdcUser::where('id', $form->user_id)->count(); - if (!$count) { - return $form->error('该懒ID无效'); - } - - //校验懒ID是否已被绑定 - $count = mmInfo::where('user_id',$form->user_id)->count(); - if ($count) { - return $form->error('懒ID已被绑定'); + if ($form->user_id){ + $count = ImsCjdcUser::where('id', $form->user_id)->count(); + if (!$count) { + return $form->error('该懒ID无效'); + } + if ($form->isCreating()){ + //校验懒ID是否已被绑定 + $count = mmInfo::where('user_id',$form->user_id)->count(); + if ($count) { + return $form->error('懒ID已被绑定'); + } + }else{ + if ($form->user_id!=$form->model()->user_id){ + $count = mmInfo::where('user_id',$form->user_id)->count(); + if ($count) { + return $form->error('懒ID已被绑定'); + } + } + } } - }); $form->saved(function (Form $form, $mmid) { $model = new mmInfo(); diff --git a/app/Admin/Controllers/LanzuMpInfoController.php b/app/Admin/Controllers/LanzuMpInfoController.php index 83742b8..441f3d0 100644 --- a/app/Admin/Controllers/LanzuMpInfoController.php +++ b/app/Admin/Controllers/LanzuMpInfoController.php @@ -6,6 +6,7 @@ use App\Admin\Common\Auth; use App\Admin\Extensions\CheckRow; use App\Admin\Metrics\Examples\TotalUsers; use App\Admin\Repositories\LanzuMpInfo; +use App\Models\ImsCjdcMarket; use App\Models\ImsCjdcUser; use App\Models\LanzuMmInfo; use App\Models\LanzuMmInfo as mmInfo; @@ -126,15 +127,25 @@ class LanzuMpInfoController extends AdminController $form->saving(function (Form $form){ //保存前,校验懒ID是否有效 - $count = ImsCjdcUser::where('id', $form->user_id)->count(); - if (!$count) { - return $form->error('该懒ID无效'); - } - - //校验懒ID是否已被绑定 - $count = mpInfo::where('user_id',$form->user_id)->count(); - if ($count) { - return $form->error('懒ID已被绑定'); + if ($form->user_id){ + $count = ImsCjdcUser::where('id', $form->user_id)->count(); + if (!$count) { + return $form->error('该懒ID无效'); + } + if ($form->isCreating()){ + //校验懒ID是否已被绑定 + $count = mpInfo::where('user_id',$form->user_id)->count(); + if ($count) { + return $form->error('懒ID已被绑定'); + } + }else{ + if ($form->user_id!=$form->model()->user_id){ + $count = mpInfo::where('user_id',$form->user_id)->count(); + if ($count) { + return $form->error('懒ID已被绑定'); + } + } + } } }); @@ -154,10 +165,21 @@ class LanzuMpInfoController extends AdminController $id = $form->getKey(); $mp = mpInfo::find($id); $ad = $adu->find($mp->admin_user_id); - $ad->status = $form->status; + $ad->status = $form->status??$form->model()->status; $ad->save(); } }); + + $form->deleting(function (Form $form){ + $mids = array_column($form->model()->toArray(), 'id'); + //删除服务商前,校验该服务商下是否存在市场经理 + $marketIds = ImsCjdcMarket::whereIn('mp_id',$mids)->pluck('id')->toArray(); + $count = mmInfo::whereIn('market_id',$marketIds)->count(); + if ($count){ + return $form->error('该服务商下关联有市场经理, 无法删除'); + } + }); + $form->deleted(function (Form $form, $result) { $aduids = array_column($form->model()->toArray(), 'admin_user_id'); $mids = array_column($form->model()->toArray(), 'id');