|
@@ -6,10 +6,12 @@ use App\Model\DeviceBox;
|
|
use App\Model\DeviceInfo;
|
|
use App\Model\DeviceInfo;
|
|
use App\Model\LockInfo;
|
|
use App\Model\LockInfo;
|
|
use App\Server\DeviceServer;
|
|
use App\Server\DeviceServer;
|
|
|
|
+use Encore\Admin\Admin;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Show;
|
|
use Encore\Admin\Show;
|
|
|
|
+use Illuminate\Support\MessageBag;
|
|
|
|
|
|
class LockController extends AdminController
|
|
class LockController extends AdminController
|
|
{
|
|
{
|
|
@@ -51,28 +53,38 @@ class LockController extends AdminController
|
|
// $rule = '{"get":"box4"}';
|
|
// $rule = '{"get":"box4"}';
|
|
// $res = (new DeviceServer())->doorOperation('rozl8eri3NwjyMrG6gYT000000 ', 0);
|
|
// $res = (new DeviceServer())->doorOperation('rozl8eri3NwjyMrG6gYT000000 ', 0);
|
|
// $res = (new DeviceServer())->sendMsg(868626044260472 ,$rule);
|
|
// $res = (new DeviceServer())->sendMsg(868626044260472 ,$rule);
|
|
-// $res = (new DeviceServer())->sendMsg(868626044260522 ,$rule);
|
|
|
|
|
|
+//
|
|
|
|
+ $lock_info = LockInfo::where(['status'=>1,'send_status'=>1])->orderBy('box_type','asc')->get()->GroupBy('device_id');
|
|
|
|
+dd($lock_info->toArray());
|
|
// $res = (new DeviceServer())->getProperty('rozl8eri3NwjyMrG6gYT000000 ');
|
|
// $res = (new DeviceServer())->getProperty('rozl8eri3NwjyMrG6gYT000000 ');
|
|
// $res = (new DeviceServer())->getDeviceStatus('rozl8eri3NwjyMrG6gYT000000 ');//设备状态
|
|
// $res = (new DeviceServer())->getDeviceStatus('rozl8eri3NwjyMrG6gYT000000 ');//设备状态
|
|
// $res = (new DeviceServer())->switchDevice('rozl8eri3NwjyMrG6gYT000000 ',1);//启用禁用
|
|
// $res = (new DeviceServer())->switchDevice('rozl8eri3NwjyMrG6gYT000000 ',1);//启用禁用
|
|
// dd($res);
|
|
// dd($res);
|
|
$grid->disableCreateButton(false);
|
|
$grid->disableCreateButton(false);
|
|
$device_id = request('device_id');
|
|
$device_id = request('device_id');
|
|
- $box_id = request('box_id');
|
|
|
|
|
|
+//Admin::script("$('input').combodate({
|
|
|
|
+// minYear: 1975,
|
|
|
|
+// maxYear: 2013,
|
|
|
|
+// minuteStep: 10
|
|
|
|
+//}); ");
|
|
if(!empty($device_id)){
|
|
if(!empty($device_id)){
|
|
- $box = DeviceBox::where(['device_id'=>$device_id])->pluck('id');
|
|
|
|
- $grid->model()->whereIn('box_id',$box);
|
|
|
|
|
|
+ $grid->model()->where('device_id',$device_id)
|
|
|
|
+ ->orderBy('device_id','asc')
|
|
|
|
+ ->orderBy('box_type','asc')
|
|
|
|
+ ->orderBy('open_time','asc');
|
|
}
|
|
}
|
|
- if(!empty($box_id)){
|
|
|
|
- $grid->model()->where('box_id',$box_id);
|
|
|
|
- }
|
|
|
|
- $grid->column('boxs.device_id','设备')->display(function ($w){
|
|
|
|
|
|
+ $grid->column('device_id','设备')->display(function ($w){
|
|
return DeviceInfo::where(['id'=>$w])->value('device_name');
|
|
return DeviceInfo::where(['id'=>$w])->value('device_name');
|
|
});
|
|
});
|
|
- $grid->column('boxs.name', __('锁位名称'));
|
|
|
|
- $grid->column('open_time', __('开门时间'));
|
|
|
|
- $grid->column('close_time', __('关门时间'));
|
|
|
|
- $grid->column('start_time', __('启动时间'));
|
|
|
|
|
|
+ $grid->column('box_type', __('锁位名称'))->display(function ($t){
|
|
|
|
+ $box_type = [1=>'一号箱',2=>'二号箱',3=>'三号箱',4=>'四号箱',5=>'五号箱',6=>'六号箱'];
|
|
|
|
+ if(empty($t)) return '未知';
|
|
|
|
+ return $box_type[$t];
|
|
|
|
+ });
|
|
|
|
+ $grid->column('time_type', __('时间段'))->editable('select',[1=>'上午',2=>'下午']);
|
|
|
|
+ $grid->column('open_time', __('开门时间'))->editable('time');
|
|
|
|
+ $grid->column('close_time', __('关门时间'))->editable('time2');
|
|
|
|
+ $grid->column('start_time', __('启动时间'))->editable('datetime');
|
|
$grid->column('type', __('类型'))->using(LockInfo::get_type());
|
|
$grid->column('type', __('类型'))->using(LockInfo::get_type());
|
|
$grid->column('value','时间')->display(function ($is){
|
|
$grid->column('value','时间')->display(function ($is){
|
|
if($this->type !== 3){
|
|
if($this->type !== 3){
|
|
@@ -134,20 +146,26 @@ class LockController extends AdminController
|
|
{
|
|
{
|
|
$form = new Form(new LockInfo());
|
|
$form = new Form(new LockInfo());
|
|
|
|
|
|
-
|
|
|
|
if($form->isEditing()){
|
|
if($form->isEditing()){
|
|
- $form->display('boxs.devices.device_name', __('设备'));
|
|
|
|
- $form->select('box_id', __('锁位'))->options(function (){
|
|
|
|
- return DeviceBox::where('device_id','=',$this->boxs->device_id)->pluck('name','id')->toArray();
|
|
|
|
|
|
+ $form->display('devices.device_name', __('设备'));
|
|
|
|
+ $form->select('box_type', __('锁位'))->options(function ($w){
|
|
|
|
+ $box_type = [1=>'一号箱',2=>'二号箱',3=>'三号箱',4=>'四号箱',5=>'五号箱',6=>'六号箱'];
|
|
|
|
+ if($w == 1){
|
|
|
|
+ array_pop($box_type);
|
|
|
|
+ }
|
|
|
|
+ return $box_type;
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
$form->select('device_id', __('设备'))->options(function (){
|
|
$form->select('device_id', __('设备'))->options(function (){
|
|
return DeviceInfo::pluck('device_name','id')->toArray();
|
|
return DeviceInfo::pluck('device_name','id')->toArray();
|
|
- })->load('box_id','/admin/get_box')->rules('required',['required'=>'设备必须选择']);
|
|
|
|
- $form->select('box_id', __('锁位'))->options(function (){
|
|
|
|
- return DeviceBox::where('device_id','=',$this->device_id)->pluck('name','id')->toArray();
|
|
|
|
- })->rules('required',['required'=>'请选择盒子']);
|
|
|
|
|
|
+ })->load('box_type','/admin/get_box');
|
|
|
|
+ $form->select('box_type', __('锁位'))->options(function (){
|
|
|
|
+ $box_type = [1=>'一号箱',2=>'二号箱',3=>'三号箱',4=>'四号箱',5=>'五号箱'];
|
|
|
|
+ return $box_type;
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ $form->select('time_type','时间段')->options([1=>'上午',2=>'下午']);
|
|
$form->datetime('open_time', __('开门时间'))->format("HH:mm")->rules('required',['required'=>'开门时间必须']);
|
|
$form->datetime('open_time', __('开门时间'))->format("HH:mm")->rules('required',['required'=>'开门时间必须']);
|
|
$form->datetime('close_time', __('关闭时间'))->format("HH:mm")->rules('required',['required'=>'关门时间必须']);
|
|
$form->datetime('close_time', __('关闭时间'))->format("HH:mm")->rules('required',['required'=>'关门时间必须']);
|
|
$form->datetime('start_time', __('开启时间'))->rules('required',['required'=>'开启时间必须']);
|
|
$form->datetime('start_time', __('开启时间'))->rules('required',['required'=>'开启时间必须']);
|
|
@@ -159,12 +177,29 @@ class LockController extends AdminController
|
|
$form->multipleSelect('value','日期')->options(LockInfo::week_day());
|
|
$form->multipleSelect('value','日期')->options(LockInfo::week_day());
|
|
})->rules('required',['required'=>'请选择类型']);
|
|
})->rules('required',['required'=>'请选择类型']);
|
|
|
|
|
|
|
|
+
|
|
$states= [
|
|
$states= [
|
|
'off'=>['text'=>'禁用','value'=>0,'color'=>'danger'],
|
|
'off'=>['text'=>'禁用','value'=>0,'color'=>'danger'],
|
|
'on'=>['text'=>'启用','value'=>1,'color'=>'success']
|
|
'on'=>['text'=>'启用','value'=>1,'color'=>'success']
|
|
];
|
|
];
|
|
- $form->ignore(['device_id','boxs.id']);
|
|
|
|
$form->switch('status', __('状态'))->states($states)->default(1);
|
|
$form->switch('status', __('状态'))->states($states)->default(1);
|
|
|
|
+ $form->setWidth(6);
|
|
|
|
+ // 抛出错误信息
|
|
|
|
+ $form->saving(function ($form) {
|
|
|
|
+ $box_type = $form->box_type;
|
|
|
|
+ $device_id = $form->device_id;
|
|
|
|
+ $lock_count = LockInfo::where(['device_id'=>$device_id,'box_type'=>$box_type])->count();
|
|
|
|
+ if($lock_count >3){
|
|
|
|
+ return response($lock_count);
|
|
|
|
+ $error = new MessageBag([
|
|
|
|
+ 'title' => '错误信息',
|
|
|
|
+ 'message' => '每个箱体最多只能设置4条规则',
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ return back()->with(compact('error'));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
|
|
return $form;
|
|
return $form;
|
|
}
|
|
}
|