From 9fe7e74e6a25d97f95b71650b1f52c71b4b3c439 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Fri, 25 Sep 2020 10:39:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=92=AD=E6=8A=A5=E6=9C=BA=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LanzuServiceSpeakerController.php | 50 +++++++++++-------- app/Models/LanzuServiceSpeaker.php | 37 +++++++++++++- 2 files changed, 66 insertions(+), 21 deletions(-) diff --git a/app/Admin/Controllers/LanzuServiceSpeakerController.php b/app/Admin/Controllers/LanzuServiceSpeakerController.php index e44e24a..40b7f3e 100755 --- a/app/Admin/Controllers/LanzuServiceSpeakerController.php +++ b/app/Admin/Controllers/LanzuServiceSpeakerController.php @@ -7,8 +7,8 @@ use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; 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; class LanzuServiceSpeakerController extends AdminController @@ -21,23 +21,28 @@ class LanzuServiceSpeakerController extends AdminController protected $title = '播报机管理'; + protected $storeList = []; + protected function grid() { return Grid::make(new LanzuServiceSpeaker(['store']), function (Grid $grid) { + $this->storeList = StoreModel::getStoreArray(); $grid->model()->orderBy('updated_at', 'desc'); $grid->id->sortable(); $grid->column('device_name', '设备编号'); $grid->column('store_id', '商户ID'); $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) { $filter->equal('id'); - $filter->equal('store_id'); + $filter->like('device_name', '设备编号'); + $filter->equal('store_id','商户')->select($this->storeList); }); }); } @@ -80,28 +85,33 @@ class LanzuServiceSpeakerController extends AdminController protected function form() { return Form::make(new LanzuServiceSpeaker(), function (Form $form) { - $form->display('id'); + $form->hidden('id'); $form->text("device_name", '设备编号')->required(); //$form->number("store_id",'商户ID')->required(); // $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($this->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->display('created_at'); - $form->display('updated_at'); + + $form->disableResetButton(); + $form->disableViewCheck(); + $form->disableEditingCheck(); + $form->disableCreatingCheck(); }); } public function getAllMarkets() { $data = []; - $markets = ImsCjdcMarket::all(); + $markets = MarketModel::all(); foreach ($markets as $market) { $item = []; $item['id'] = $market->id; @@ -114,6 +124,6 @@ class LanzuServiceSpeakerController extends AdminController public function getStores(Request $request) { $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']); } } diff --git a/app/Models/LanzuServiceSpeaker.php b/app/Models/LanzuServiceSpeaker.php index 6f17a65..ae8e35f 100755 --- a/app/Models/LanzuServiceSpeaker.php +++ b/app/Models/LanzuServiceSpeaker.php @@ -13,7 +13,42 @@ class LanzuServiceSpeaker extends Model protected $dateFormat = 'U'; 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; + } } From fe7c2ab6bb7be4c2e1985c67fdbe18cf29ef3925 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Fri, 25 Sep 2020 10:41:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=92=AD=E6=8A=A5=E6=9C=BA2=E7=BB=91?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/LanzuServiceSpeakerController.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/Admin/Controllers/LanzuServiceSpeakerController.php b/app/Admin/Controllers/LanzuServiceSpeakerController.php index 40b7f3e..4a08bbe 100755 --- a/app/Admin/Controllers/LanzuServiceSpeakerController.php +++ b/app/Admin/Controllers/LanzuServiceSpeakerController.php @@ -21,12 +21,10 @@ class LanzuServiceSpeakerController extends AdminController protected $title = '播报机管理'; - protected $storeList = []; - protected function grid() { return Grid::make(new LanzuServiceSpeaker(['store']), function (Grid $grid) { - $this->storeList = StoreModel::getStoreArray(); + $grid->model()->orderBy('updated_at', 'desc'); $grid->id->sortable(); $grid->column('device_name', '设备编号'); @@ -40,9 +38,10 @@ class LanzuServiceSpeakerController extends AdminController $grid->column('bind_time_text', '绑定时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { + $storeList = StoreModel::getStoreArray(); $filter->equal('id'); $filter->like('device_name', '设备编号'); - $filter->equal('store_id','商户')->select($this->storeList); + $filter->equal('store_id','商户')->select($storeList); }); }); } @@ -90,8 +89,8 @@ class LanzuServiceSpeakerController extends AdminController //$form->number("store_id",'商户ID')->required(); // $form->select('market_id','所在市场')->options('/api/getAllMarket'); - // $storeList = StoreModel::getStoreArray(); - $form->select('store_id', '商户')->options($this->storeList); + $storeList = StoreModel::getStoreArray(); + $form->select('store_id', '商户')->options($storeList); $form->switch('is_bind', '是否绑定') ->customFormat(function ($v) { return $v == 1 ? 1 : 0;