Browse Source

Merge branch 'goods_activity_onsale_1030'

master
liangyuyan 5 years ago
parent
commit
d4737cd941
  1. 24
      app/Admin/Controllers/v3/GoodsActivityController.php
  2. 7
      app/Admin/Controllers/v3/GoodsController.php
  3. 59
      app/Admin/Extensions/Tools/GoodsActivityOnSale.php

24
app/Admin/Controllers/v3/GoodsActivityController.php

@ -16,6 +16,7 @@ use App\Models\v3\GoodsActivity as GoodsActivityModel;
use Dcat\Admin\Form\NestedForm;
use App\Models\v3\GoodsCategory as GoodsCategoryModel;
use App\Admin\Common\Auth;
use App\Admin\Extensions\Tools\GoodsActivityOnSale;
use App\Admin\Forms\v3\GoodsActivitySettingForm;
use Dcat\Admin\Admin;
use Dcat\Admin\Layout\Content;
@ -33,18 +34,14 @@ class GoodsActivityController extends AdminController
$marketId = Auth::getMarket();
$build = new \App\Models\v3\GoodsActivity();
if ($marketId){
//$build = new \App\Models\v3\Goods();
$build = $build::where('market_id',$marketId);
$storeList = StoreModel::getStoreArray([['market_id','=',$marketId]]);
}else{
//$build = new GoodsActivity();
$storeList = StoreModel::getStoreArray([['market_id','=',$marketId]]);
}
return Grid::make($build, function (Grid $grid) use($storeList){
// 二级分类
$categoryList = CategoryModel::getArray([['parent_id','>',0]],['选择分类'=>0]);
// 店铺
// $storeList = StoreModel::getStoreArray();
// 商品类目
$goodsCategoryList = GoodsCategoryModel::getArray([],['选择类目'=>0]);
//市场
@ -70,10 +67,10 @@ class GoodsActivityController extends AdminController
$item = CategoryModel::getInfo($categoryId,'title');
return empty($item) ? '' : $item->title;
});
// $grid->goods_category_id->display(function ($goodsCategoryId){
// $item = GoodsCategoryModel::getInfo($goodsCategoryId,'title');
// return empty($item) ? '' : $item->title;
// });
$grid->goods_category_id->display(function ($goodsCategoryId){
$item = GoodsCategoryModel::getInfo($goodsCategoryId,'title');
return empty($item) ? '' : $item->title;
});
$grid->column('expire_time_text');
$grid->column('sales');
$grid->column('on_sale')->switch();
@ -92,10 +89,17 @@ class GoodsActivityController extends AdminController
$filter->equal('price');
$filter->equal('goods_unit');
});
// 每页10条
$grid->paginate(10);
$grid->actions([new GoodsActivityCopy()]);
$grid->tools([new GoodsActivitySetting()]);
$grid->batchActions([
new GoodsActivityOnSale('上架', 1),
new GoodsActivityOnSale('下架', 0),
]);
// 每页10条
$grid->paginate(10);
$grid->disableBatchDelete();
});
}

7
app/Admin/Controllers/v3/GoodsController.php

@ -41,8 +41,6 @@ class GoodsController extends AdminController
return Grid::make($build, function (Grid $grid) use($storeList){
// 二级分类
$categoryList = CategoryModel::getArray([['parent_id','>',0]],['选择分类'=>0]);
// 店铺
// $storeList = StoreModel::getStoreArray();
// 商品类目
$goodsCategoryList = GoodsCategoryModel::getArray([],['选择类目'=>0]);
@ -55,7 +53,7 @@ class GoodsController extends AdminController
$id = $this->id;
$banners = GoodsBannersModel::getArray([['goods_id','=',$id],['type','=',1]]);
return $banners;
})->image('', 50);
})->image('', 50)->width('5%');
$grid->name->editable();
$grid->price->editable();
$grid->original_price->editable();
@ -81,12 +79,13 @@ class GoodsController extends AdminController
// $grid->category_id->display(function ($categoryId) use($categoryList){
// return isset($categoryList[$categoryId]) ? $categoryList[$categoryId] : '';
// });
$grid->goods_category_id->select($goodsCategoryList)->help('注意商品类目所属的分类!!!');
// $grid->goods_category_id->display(function ($goodsCategoryId) use($goodsCategoryList){
// return isset($goodsCategoryList[$goodsCategoryId]) ? $goodsCategoryList[$goodsCategoryId] : '';
// });
// 简介
$grid->content->width(200);
$grid->content->width(150);
$grid->on_sale->switch();

59
app/Admin/Extensions/Tools/GoodsActivityOnSale.php

@ -0,0 +1,59 @@
<?php
namespace App\Admin\Extensions\Tools;
use Dcat\Admin\Grid\BatchAction;
use Illuminate\Http\Request;
use App\Models\v3\GoodsActivity as GoodsActivityModel;
class GoodsActivityOnSale extends BatchAction
{
protected $action;
/**
* 批量上下架活动商品
*/
// 注意action的构造方法参数一定要给默认值
public function __construct($title = null, $action = 1)
{
$this->title = $title;
$this->action = $action;
}
// 确认弹窗信息
public function confirm()
{
return '您确定要'.$this->title.'已选中的商品吗?';
}
// 处理请求
public function handle(Request $request)
{
// 获取选中的文章ID数组
$keys = $this->getKey();
if(empty($keys) || !is_array($keys)){
return $this->response()->error('请选择商品!');
}
// 获取请求参数
$action = $request->get('action');
$title = $request->get('title');
$actionWhere = $action == 1 ? 0 : 1 ;
$title = $this->title ? $this->title : $title;
// 下架处理
$res = GoodsActivityModel::whereIn('id',$keys)->where('on_sale',$actionWhere)->update(['on_sale'=>$action]);
if($res){
return $this->response()->success($title.'成功')->refresh();
}else{
return $this->response()->error($title.'失败或已'.$title.'!');
}
}
// 设置请求参数
public function parameters()
{
return [
'action' => $this->action,
'title' => $this->title,
];
}
}
Loading…
Cancel
Save