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');