Browse Source

Merge branch 'specker_bind'

master
liangyuyan 5 years ago
parent
commit
803c476cd8
  1. 49
      app/Admin/Controllers/LanzuServiceSpeakerController.php
  2. 37
      app/Models/LanzuServiceSpeaker.php

49
app/Admin/Controllers/LanzuServiceSpeakerController.php

@ -7,8 +7,8 @@ use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show; use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Controllers\AdminController;
use App\Models\ImsCjdcMarket;
use App\Models\ImsCjdcStore;
use App\Models\v3\Market as MarketModel;
use App\Models\v3\Store as StoreModel;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class LanzuServiceSpeakerController extends AdminController class LanzuServiceSpeakerController extends AdminController
@ -24,20 +24,24 @@ class LanzuServiceSpeakerController extends AdminController
protected function grid() protected function grid()
{ {
return Grid::make(new LanzuServiceSpeaker(['store']), function (Grid $grid) { return Grid::make(new LanzuServiceSpeaker(['store']), function (Grid $grid) {
$grid->model()->orderBy('updated_at', 'desc'); $grid->model()->orderBy('updated_at', 'desc');
$grid->id->sortable(); $grid->id->sortable();
$grid->column('device_name', '设备编号'); $grid->column('device_name', '设备编号');
$grid->column('store_id', '商户ID'); $grid->column('store_id', '商户ID');
$grid->column('store.name', '商户名'); $grid->column('store.name', '商户名');
$grid->column('is_bind')
->using([0 => '未绑定', 1 => '已绑定'])
->label([0 => 'danger', 1 => 'success']);
$grid->column('is_bind', '是否绑定')->switch();
// $grid->column('is_bind')
// ->using([0 => '未绑定', 1 => '已绑定'])
// ->label([0 => 'danger', 1 => 'success']);
$grid->column('bind_time_text', '绑定时间')->sortable();
$grid->created_at;
$grid->updated_at->sortable();
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$storeList = StoreModel::getStoreArray();
$filter->equal('id'); $filter->equal('id');
$filter->equal('store_id');
$filter->like('device_name', '设备编号');
$filter->equal('store_id','商户')->select($storeList);
}); });
}); });
} }
@ -80,28 +84,33 @@ class LanzuServiceSpeakerController extends AdminController
protected function form() protected function form()
{ {
return Form::make(new LanzuServiceSpeaker(), function (Form $form) { return Form::make(new LanzuServiceSpeaker(), function (Form $form) {
$form->display('id');
$form->hidden('id');
$form->text("device_name", '设备编号')->required(); $form->text("device_name", '设备编号')->required();
//$form->number("store_id",'商户ID')->required(); //$form->number("store_id",'商户ID')->required();
// $form->select('market_id','所在市场')->options('/api/getAllMarket'); // $form->select('market_id','所在市场')->options('/api/getAllMarket');
$form->select('store_id', '商户')->options(function ($id) {
$store = ImsCjdcStore::find($id);
if ($store) {
return [$store->id => $store->name];
}
})->ajax('/api/stores');
$form->switch('is_bind', '是否绑定');
$storeList = StoreModel::getStoreArray();
$form->select('store_id', '商户')->options($storeList);
$form->switch('is_bind', '是否绑定')
->customFormat(function ($v) {
return $v == 1 ? 1 : 0;
})
->saving(function ($v) {
return $v == 1 ? 1 : 0;
});
//$form->image("device_name")->disk('oss'); //$form->image("device_name")->disk('oss');
$form->display('created_at');
$form->display('updated_at');
$form->disableResetButton();
$form->disableViewCheck();
$form->disableEditingCheck();
$form->disableCreatingCheck();
}); });
} }
public function getAllMarkets() public function getAllMarkets()
{ {
$data = []; $data = [];
$markets = ImsCjdcMarket::all();
$markets = MarketModel::all();
foreach ($markets as $market) { foreach ($markets as $market) {
$item = []; $item = [];
$item['id'] = $market->id; $item['id'] = $market->id;
@ -114,6 +123,6 @@ class LanzuServiceSpeakerController extends AdminController
public function getStores(Request $request) public function getStores(Request $request)
{ {
$q = $request->get('q'); $q = $request->get('q');
return ImsCjdcStore::where('name', 'like', "%$q%")->paginate(null, ['id', 'name as text']);
return StoreModel::where('name', 'like', "%$q%")->paginate(null, ['id', 'name as text']);
} }
} }

37
app/Models/LanzuServiceSpeaker.php

@ -13,7 +13,42 @@ class LanzuServiceSpeaker extends Model
protected $dateFormat = 'U'; protected $dateFormat = 'U';
public function store(){ public function store(){
return $this->hasOne('\App\Models\LanzuStore','id','store_id');
return $this->hasOne('\App\Models\v3\Store','id','store_id');
} }
public static $_STATE = [ 0=>'离线', 1=>'在线'];
public static $_IS_BIND = [ 0=>'未绑定', 1=>'已绑定'];
/* 添加转换字段 */
protected $appends = [
'created_at_text',
'updated_at_text',
'bind_time_text',
'is_bind_text',
'state_text'
];
public function getStateTextAttribute()
{
$value = $this->status;
return isset(self::$_STATE[$value])?self::$_STATE[$value]:'';
}
public function getIsBindTextAttribute()
{
$value = $this->is_bind;
return isset(self::$_IS_BIND[$value])?self::$_IS_BIND[$value]:'';
}
public function getCreatedAtTextAttribute()
{
$value = $this->created_at;
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
}
public function getUpdatedAtTextAttribute()
{
$value = $this->updated_at;
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
}
public function getBindTimeTextAttribute()
{
$value = $this->bind_time;
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
}
} }
Loading…
Cancel
Save