diff --git a/app/Admin/Actions/Grid/v3/GoodsImage.php b/app/Admin/Actions/Grid/v3/GoodsImage.php index 882f945..5299212 100644 --- a/app/Admin/Actions/Grid/v3/GoodsImage.php +++ b/app/Admin/Actions/Grid/v3/GoodsImage.php @@ -20,7 +20,12 @@ class GoodsImage extends RowAction $modal = Modal::make() ->xl() ->title($this->title) - ->body(GoodsImageForm::make()->setKey($id)) + ->body(GoodsImageForm::make()->setKey($id)->payload([ + 'id'=>$this->row->id, + 'name'=>$this->row->name, + 'search'=>$_REQUEST, + 'cover_img'=>$this->row->cover_img + ])) ->button($this->title); return $modal; diff --git a/app/Admin/Controllers/v3/CouponController.php b/app/Admin/Controllers/v3/CouponController.php index 4bbd9af..785b2e5 100644 --- a/app/Admin/Controllers/v3/CouponController.php +++ b/app/Admin/Controllers/v3/CouponController.php @@ -71,7 +71,7 @@ class CouponController extends AdminController unset($status[-1]);/* 去掉删除状态 */ $filter->in('status')->multipleSelect($status); }); - +// $grid->actions(); $grid->disableBatchDelete(); $grid->disableCreateButton(); $grid->disableDeleteButton(); diff --git a/app/Admin/Forms/v3/GoodsImageForm.php b/app/Admin/Forms/v3/GoodsImageForm.php index 0ae6a76..cce80b3 100644 --- a/app/Admin/Forms/v3/GoodsImageForm.php +++ b/app/Admin/Forms/v3/GoodsImageForm.php @@ -7,11 +7,15 @@ use Dcat\Admin\Widgets\Form; use Symfony\Component\HttpFoundation\Response; use App\Models\v3\Goods as GoodsModel; use App\Models\v3\GoodsBanners as GoodsBannerModel; +use Dcat\Admin\Contracts\LazyRenderable; +use Dcat\Admin\Traits\LazyWidget; use Illuminate\Support\Facades\DB; -class GoodsImageForm extends Form +class GoodsImageForm extends Form implements LazyRenderable { + use LazyWidget; + protected $search = ''; /** * Handle the form request. * @@ -28,22 +32,26 @@ class GoodsImageForm extends Form if($goodsId > 0 && !empty($coverImg)){ $data = ['cover_img' => $coverImg]; - GoodsModel::where('id',$goodsId)->update($data); + $res1 = GoodsModel::where('id',$goodsId)->update($data); } if($goodsId > 0 && !empty($bannerImg)){ - $banner = GoodsBannerModel::where('goods_id',$goodsId)->first(); - if(empty($banner)){ + $banner = GoodsBannerModel::where('goods_id',$goodsId)->delete(); + + foreach($bannerImg as $value){ $banner = new GoodsBanners(); $banner->goods_id = $goodsId; $banner->type = 1; $banner->created_at = time(); + $banner->updated_at = time(); + $banner->path = $value; + $res2 = $banner->save(); } - $banner->path = $bannerImg; - $banner->updated_at = time(); - $banner->save(); } - - return $this->error('修改成功'); + + if((isset($res1) && $res1) || (isset($res2) && $res2)){ + return $this->success('修改成功','/goods?'.$this->getSearch($this->search)); + } + return $this->error('未做任何修改'); } /** @@ -51,13 +59,25 @@ class GoodsImageForm extends Form */ public function form() { - $id = $this->getKey(); - $goods = GoodsModel::select('name')->find($id); - $goodName = empty($goods->name)?'':$goods->name; + $id = $this->payload['id'] ?? 0; + $goodName = $this->payload['name'] ?? ''; + $coverImg = $this->payload['cover_img'] ?? ''; + $this->search = $this->payload['search'] ?? ''; + // $goods = GoodsModel::select('name','cover_img')->find($id); + // $goodName = empty($goods->name)?'':$goods->name; + // $coverImg = empty($goods->cover_img) ? '':$goods->cover_img; $this->hidden('goods_id')->value($id); $this->display('name','商品名称')->value($goodName); - $this->image('cover_img','封面图')->autoUpload(); - $this->image('img_banner','轮播图')->autoUpload(); + $this->image('cover_img','封面图')->customFormat(function($cover_img) use($coverImg){ + return [$coverImg]; + })->autoUpload(); + $this->multipleImage('img_banner','轮播图')->customFormat(function($img_banner) use($id){ + if(!$id){ + return ; + } + $banners = GoodsBanners::where('goods_id',$id)->pluck('path')->toArray(); + return empty($banners) ? [] : $banners; + })->autoUpload(); } /** @@ -70,4 +90,16 @@ class GoodsImageForm extends Form return []; } + public function getSearch($data) + { + $return = ''; + if(is_array($data) && count($data) > 0){ + unset($data['_pjax']); + foreach($data as $key => $value){ + $return .= $key.'='.$value.'&'; + } + } + return $return; + } + } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index f9b0866..02491e3 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -60,7 +60,6 @@ Route::group([ // 商品 $router->resource('/goods', 'v3\GoodsController'); $router->resource('/goods_activity', 'v3\GoodsActivityController'); - $router->resource('/goods_new', 'v3\GoodsNewController'); $router->get('/activity_setting', 'v3\GoodsActivityController@SettingForm'); // 平台管理 diff --git a/app/Models/v3/GoodsBanners.php b/app/Models/v3/GoodsBanners.php index 3a03156..2c97888 100644 --- a/app/Models/v3/GoodsBanners.php +++ b/app/Models/v3/GoodsBanners.php @@ -9,7 +9,7 @@ use Illuminate\Database\Eloquent\Model; class GoodsBanners extends Model { use HasDateTimeFormatter; - use SoftDeletes; + // use SoftDeletes; protected $table = 'lanzu_goods_banners'; protected $dateFormat = 'U';