Browse Source

店铺营业时间快捷编辑

master
liangyuyan 5 years ago
parent
commit
cb5bfc04b1
  1. 36
      app/Admin/Actions/Grid/v3/StoreSetTime.php
  2. 2
      app/Admin/Controllers/v3/StoreController.php
  3. 65
      app/Admin/Forms/v3/StoreSetTimeForm.php

36
app/Admin/Actions/Grid/v3/StoreSetTime.php

@ -0,0 +1,36 @@
<?php
namespace App\Admin\Actions\Grid\v3;
use Dcat\Admin\Grid\RowAction;
use Dcat\Admin\Widgets\Modal;
use App\Admin\Forms\v3\StoreSetTimeForm;
class StoreSetTime extends RowAction
{
/**
* @return string
*/
protected $title = '营业时间';
public function render()
{
$id = $this->getKey();
$modal = Modal::make()
->xl()
->title($this->title)
->body(StoreSetTimeForm::make()->setKey($id))
->button($this->title);
return $modal;
}
public function parameters()
{
return [
];
}
}

2
app/Admin/Controllers/v3/StoreController.php

@ -15,6 +15,7 @@ use App\Models\v3\User as UserModel;
use App\Models\v3\Category as CategoryModel; use App\Models\v3\Category as CategoryModel;
use App\Models\LanzuUserBalance as UserBalanceModel; use App\Models\LanzuUserBalance as UserBalanceModel;
use App\Models\v3\StoreUsers as StoreUsersModel; use App\Models\v3\StoreUsers as StoreUsersModel;
use App\Admin\Actions\Grid\v3\StoreSetTime;
class StoreController extends AdminController class StoreController extends AdminController
{ {
@ -46,6 +47,7 @@ class StoreController extends AdminController
$grid->is_rest->switch(); $grid->is_rest->switch();
$grid->is_open->switch(); $grid->is_open->switch();
$grid->actions([new StoreSetTime()]);
// 搜索 // 搜索
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$filter->equal('id'); $filter->equal('id');

65
app/Admin/Forms/v3/StoreSetTimeForm.php

@ -0,0 +1,65 @@
<?php
namespace App\Admin\Forms\v3;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
use App\Models\v3\Store as StoreModel;
class StoreSetTimeForm extends Form
{
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
// 获取外部传递参数
$storeId = $input['store_id'];
$store = StoreModel::find($storeId);
$store->time1 = $input['time1'];
$store->time2 = $input['time2'];
$store->time3 = $input['time3'];
$store->time4 = $input['time4'];
if($store->save()){
return $this->success('修改成功', '/store');
}
return $this->error('修改失败');
}
/**
* Build a form here.
*/
public function form()
{
$id = $this->getKey();
$store = StoreModel::select('name','time1','time2','time3','time4')->find($id);
$this->hidden('store_id')->value($id);
$name = empty($store->name)?'':$store->name;
$time1 = empty($store->time1)?'':$store->time1;
$time2 = empty($store->time2)?'':$store->time2;
$time3 = empty($store->time3)?'':$store->time3;
$time4 = empty($store->time4)?'':$store->time4;
$this->display('name','店铺名称')->value($name);
$this->time('time1','时间段一开始')->format('HH:mm')->value($time1);
$this->time('time2','时间段一结束')->format('HH:mm')->rules('after:time1',['after'=>'选择的时间必须比时间段一开始时间晚'])->value($time2);
$this->time('time3','时间段二开始')->format('HH:mm')->rules('after:time2',['after'=>'选择的时间必须比时间段一结束时间晚'])->value($time3);
$this->time('time4','时间段二结束')->format('HH:mm')->rules('after:time3',['after'=>'选择的时间必须比时间段二开始时间晚'])->value($time4);
}
/**
* The data of the form.
*
* @return array
*/
public function default()
{
return [];
}
}
Loading…
Cancel
Save